The top third of the panel provides control of layer and rule filtering. It is sometimes useful to perform design rule checking using only a subset of rules, on only a subset of layers. It may also be useful at times to skip particular rules or layers. The user has this flexibility through the entries in this panel. One also has the ability to inhibit rules individually with the Design Rule Editor panel from the Edit Rules button in the DRC Menu.
At the top of the panel are Check listed layers only and Skip listed layers check boxes. If either is checked (it is not possible to select both) then the text entry area just below the check boxes becomes un-grayed, and the user is expected to enter a list of layer names, separated by space. Rules on the listed layers will either be used exclusively or ignored during checking, depending on which of the boxes is checked.
The layer filtering entries control the status of two variables. The filtering can also be set up by setting the values of the variables directly.
Below the layer list entry are Check listed rules only and Skip listed rules check boxes. These, and the initially grayed text entry area just below, provide an analogous filtering capability based on rule names. The rule names are the names (keywords) of the built-in tests, or the name assigned to a user-defined rule. If ether box is checked (it is possible to check at most one of the boxes), then the text entry area becomes un-grayed and the user should enter a space-separated list of rule names. The name matching is case-insensitive. The listed rules will either be checked exclusively (unlisted rules ignored) or skipped during DRC testing, depending on which box is checked.
The rule filtering entries control the status of two variables. Rule filtering can also be set up by setting the values of the variables directly.
Below the layer and rule filtering group is the limit values group. These provide numeric limit values that are observed while testing. Each of these controls has a corresponding tracking variable (see E.23).
The first limit is on the number of violations reported in batch mode checking. These are runs initiated from the DRC Run Control panel obtained from the Batch Check button in the DRC Menu. If this limit is reached, the checking terminates. Setting this limit (or any of the limits) to zero will inhibit the limiting.
The remaining limits pertain to interactive mode (the Enable Interactive button in the DRC Menu is active). When enabled, these checks are performed after every operation which modifies the physical geometry in the database. Often, the pause can be quite substantial, and it is preferable to minimize the delay, at the expense of thorough testing. Testing can be performed at a later time using batch mode. The interactive time can be limited in two ways: by limiting the number of objects checked, and by actually setting a time limit. The checking will also terminate when a maximum error count is reached. Of course, interactive testing can be switched off entirely with the Enable Interactive button.
The object count limit specifies the maximum number of objects checked per test cycle. The time limit, specified in milliseconds, will terminate testing when the time limit is reached. The error count limit, if nonzero, will terminate testing when the count is reached.
The final choice is a yes/no as to whether to test subcells that are moved, copied, or placed. This is often very time consuming, as all objects in the subcell and its descendents are checked. If the subcell has been checked previously, most of the checking is redundant and can be skipped.
The remaining buttons allow selection of the violation recording level. The default is to record only one violation per object. With many violations, this can cut evaluation time, and may be useful for a first pass. The second choice outputs a maximum of one violation of each type (i.e., corresponding to each rule name keyword) per object. The third choice will output all violations found. This can lead to redundancy, as certain violations may be reported for each edge of the offending object.