Filters operate only on the level of individual signals or pins. Bus signals or bus pins are never taken into account while filtering. For example: the Add Signal dialog contains a bus named ABUS, with elements BIN and BIN1. If a filter A is set for signal names, the bus is not displayed. On the other hand, if a filter B is set, the bus is displayed.
Filters are not case sensitive by default, but case sensitivity may be selected in the Setup > Settings + Filters dialog, by checking the Case sensitive option in the Filter Settings group.
Filters may contain special characters, which, for instance, allow construction of a filter for displaying only pins which Function contains the text VREF. The following sections describe Wildcard Filters, and Regular Expression Filters in detail.
Wildcard filters use special characters such as * in a similar way to filename wildcards. Wildcard filters are treated as if they had * character appended at the end, for example, filter A is the same as A*, and matches strings beginning with the letter A.
The following characters are treated special in wildcard filters:
Table 13-1. Wildcard Filters
Regular expression filters use the popular regular expression syntax known in many programs such as grep, Perl, etc. providing a more powerful filtering method than wildcards.
In order to use regular expressions in filters, they must be enabled. Select Setup > Settings + Filters and check the Regular expressions option.
The following characters are treated as special in regular expression filters:
Table 13-2. Regular Expression Filters
|
. |
|
Matches any character. |
|
^ |
|
Matches the beginning of the string. |
|
$ |
|
Matches the end of the string. |
|
\ |
|
The meaning depends on the character that follows \ . See Table below. |
|
[ ] |
|
Characters inside square brackets are called character classes. Character class matches any single character included in the class. For example, [abc] matches any of the letters a, b, c. |
|
- |
|
The character - is treated specially in character classes. It is used to denote ranges. For example, [a-z] matches any letter. A character class may contain several ranges, so [a-z0-9] matches any letter or digit. |
|
^ |
|
The character ^ used immediately after opening square bracket negates the character class, so [^a-z] matches any character except for letters. |
|
( ) |
|
Parentheses are used to group elements. Grouping elements of a regular expression is useful for using ? not for a single letter, but a longer expression instead. |
|
? |
|
Matches zero or one occurrence of the preceding expression (i.e., single character, character class, or grouped elements). |
|
+ |
|
Matches one or more occurrences of the preceding expression. |
|
* |
|
Matches zero or more occurrences of the preceding expression. |
|
{ } |
|
Notation {n,m} matches at least n, and at most m occurrences of the preceding expression. There are shortcut forms: {n} means {n,n}; {n,} means {n,max}; {,m} means {0,m}. |
The backslash \ character is used to construct further special constructs, which are listed below.
Table 13-3. Backslash Character Filters
Regular expression filters do not need to match the entire string to succeed. For instance, while wildcard filter A* matches any string beginning with the letter A, the regular expression filter A.* matches any string containing the letter A. This feature does not limit expressiveness of regular expression filters, since the two special characters ^ $ may be used to force matching of the whole string. In short, the regular expression equivalent to wildcard filter A* is ^A.*$.
In Setup > Settings + Filters, you can alter default filter settings for named groups of signals or pins such as I/O, clock, and differential. You can also define new custom filters that suit your specific needs. You can use a custom pin filter with a custom signal filter to display only those pins on a device that have that signal.
To create a custom filter:
Figure 13-1.
Adding Custom Filter