Using Electric 9-6: Network Consistency Checking

Chapter IX: TOOLS

| ## 6: Network Consistency Checking |

Electric is able to compare two different facets and determine whether their networks are the same. To do this, there must be exactly two windows or window partitions on the screen, and the two facets must be in these windows. Then, the Do Consistency Check subcommand of the Network command of the Tools menu compares them, using a technique called graph isomorphism.

For an example of network consistency checking, open the library "samples.txt" and edit the facets "tool-NCCTop" and "tool-NCCBottom" (you can read the library with the Readable Dump subcommand of the Import command of the File menu). These two facets are isomorphic and the checker will find it to be so.

When you request comparison, the system displays the number of components, networks, and other information in each facet. Inconsistencies in these numbers generally lead to failure of comparison. Once compared successfully, components in one facet can be matched to components in the other simply by selecting one and using the Show Network subcommand.

To control the network consistency checker, use the Network Options... subcommand. The lower part of the dialog provides many options for network consistency control (the upper part of the dialog is for general network numbering control and is described in Section 6-9).

The Network Options... dialog offers 3 ways to control the checking (selectable from the popup on the left):

- "Check current facets only" requests that the two networks be compared at their top levels only. This means that facet instances are not examined, but rather are compared to equivalent instances in the other circuit. When this method of comparison is used, two networks with different hierarchical structure may not compare successfully.
- "Flatten hierarchy" requests that the entire hierarchy be flattened into a single large network before comparison. This avoids the problem of differently structured hierarchies, but can produce very large internal network representations for the fully-instantiated circuits.
- "Recursively check subfacets" requests that facets be compares at only one level of hierarchy, but that this operation repeat at all subfacets, throughout the hierarchy.

The dialog also provides four options for controlling the network consistency checking. These options, as selected on the left, are defaults for all facets. However, each of these options can be overridden for individual facets by selecting that facet and choosing the "Yes" or "No" override buttons.

The "Use port names in NCC" check instructs the network consistency checker to consider port names to help distinguish equivalent components. If ports have different names in the two circuits, this will option will cause comparison to fail, and should not be used.

The "Check port order in NCC" instructs the network consistency checker to consider the exact ordering of connections, rather than allowing any arrangement that matches. This happens automatically for some components (for example, the two connections on a diode cannot be reversed). For facet instances, comparison is usually insensitive to ordering unless requested.

"Ignore power and ground in NCC" instructs the network consistency checker to ignore all power and ground networks. This is useful when the layout has power and ground but the schematic doesn't.

"Check transistor sizes in NCC" instructs the network consistency checker to consider transistor sizes. Unless this is checked, transistors will be equated only according to their connectivity, and not their size.

When comparison fails, you can review the errors by typing ">" and "<" to step to the next and previous error that was found, or by typing "&" to repeat the current error.

When comparison succeeds, the date of the comparison is stored with the facet. In subsequent comparisons, if no change has been made since the last good comparison then the check will not be run. To force all facets to be compared again, click on the "Clear valid NCC dates" button to remove all date information.

If the two networks being compared are automorphic or otherwise difficult to distinguish, equivalence information can be specified prior to comparison. Select a component in one facet and use the Set First Equate subcommand. Then select the equivalent component in the other facet and use the Set Second Equate subcommand. Subsequent network comparisons use this information to assist the process. The list of equated components can be cleared with the Clear Equates subcommand. Note that component equivalence information is not saved in the library, and so it must be reentered if Electric is restarted.

| Previous |  |  | Table of Contents |  | Next |