6 Replies Latest reply on Aug 29, 2012 11:14 PM by michal_ferdek

    How to build a filter based on negation

    olsmir

      I have opened the Virtex-6 database in IODesigner. I need to build a filter that would list all unused user pins in the Pins window. For this, I have written the following filter in Setup > Settings > Filters > Pins:

       

      Name contains IOB_

      Signal contains []

       

      This filter works well. However, in the resulting list I would also like to filter out the following pins related to the parallel configuration: *_D00_*, *_D01_*, *_D02_*,*_D03_*,*_D04_*,*_D05_*,*_D06_*,*_D07_*

       

      So my filter would be:

       

      Name contains IOB_

      Signal contains []

      Function NOT contains *_D0[0-7]*

       

      But how should I represent the negation? I suspect something like ^*_D0[0-7]* but this doesn't work.

        • 1. Re: How to build a filter based on negation
          michal_ferdek

          Hello,

           

          You can achieve this when you turn on Regular Expressions in I/O Designer in Setup->Settings->Filters and then you set filter for Function column in Pins window like ^(?!.*_D0[0-9]+.*).*$

           

          On the other hand, you can apply any patter to select pins containing specific strings in their properties like Functions and then remove filter (from specific column) and next Edit->Invert Selection to negate original selection.

           

          I hope it helps.

          Best Regards,

          Michal

          • 2. Re: How to build a filter based on negation
            olsmir

            Hello Michal,

             

            Thank you for advice. As you recommended, I have created the following filter:

             

            Name contains IOB_

            Signal contains []

            Function contains ^(?!.*_D0[0-9]+.*).*$

             

            I have also checked "Regular expressions" in Filter settings.

             

            However, my filter dissappeared from the filter list, when I was going to apply it for Pins window. All my custom filters dissappeared from the filter list.

             

            If I have unchecked "Regular expressions" in Filter settings, my filter would have again appeared in the filter list. So I cannot understand how can I apply my custom filters with "Regular expressions" checked.

             

            Oleg

            • 3. Re: How to build a filter based on negation
              michal_ferdek

              Hello Oleg,

               

              I checked this in the latest version of I/O Designer and I could not reproduce your problem.

               

              In my simple example I try to filter IOB_ pins which are unassigned and their functions do not contain string D[0:9].

               

              Here how I can do this... I used regular expressions to filter Names and Functions.

               

              regexp_iod.jpg

               

              Thank you,

              Michal

              • 4. Re: How to build a filter based on negation
                olsmir

                Michal, I also have the latest version of IOD. It is 9.4 (included in EE7.9.3).

                I have created my filters for Pins table. They are "ForNCsymbol", "ForNCsymbolVirtex4i5", "aaa", "Forum":

                 

                filters.png

                 

                Surprisingly, the visibility of this filters depends on the "Regular expression" setting:

                 

                aaa1.JPG

                 

                aaa2.JPG

                 

                Oleg

                • 5. Re: How to build a filter based on negation
                  olsmir

                  Michal,

                   

                  Thank you for your answers and examples. Now I know how to negate in filters using regular expressions and that I shouldn't mix regular expressions and non - regular expressions. As for the surprising invisibility of the custom filters when "Regular expressions" is checked in Setup > Settings > Filter, this is off the current topic, and I will contact Mentor for this.

                   

                  Regards, Oleg

                  • 6. Re: How to build a filter based on negation
                    michal_ferdek

                    Hello Oleg,

                     

                    Absolutely you should contact Customer Support representative to report the problem that custom filters are not available when support for Regular Expressions is enabled.

                     

                    Thank you.

                    Best Regards,

                    Michal