check#

Drc.check(rules: Rules) list[dict[str, Any]]#

Run all rules and return a list of violations.

This method dispatches each rule to its appropriate handler and collects all violations. Successive calls overwrite previous results.

Parameters:
rulesRules

Validated rule container with design constraints.

Returns:
list of dict

Each dictionary describes a single violation with keys:

  • rule : Rule type (e.g., "minLineWidth")

  • limit_um : Limit value in micrometers

  • Additional rule-specific keys (layer, net1, primitive, etc.)

Examples

>>> rules = Rules().add_min_line_width("trace", "3.5mil")
>>> drc = Drc(edb)
>>> violations = drc.check(rules)
>>> for v in violations:
...     print(f"{v['rule']}: {v}")