Method and apparatus for rule checking systems that validate an electronic
design is disclosed. Generally, information is extracted from a plurality
of nodes in a netlist and stored for a set of predefined rules to share
in a rule checking engine. The rule checking engine includes a generic
routine for executing rules having a simple format. A user or developer
may enter new rules in the form of one or more simple conditions that can
be matched against any node in an electronic design under consideration.
In one embodiment, the rule checking engine considers each node of the
design in succession. At any given node, the engine applies all
appropriate rules and flags any violation. In some embodiments, rules may
require consideration of properties from one or more neighboring nodes.
Thus, in some embodiments, the rule checking engine can traverse multiple
nodes in order to evaluate a rule.