Chapter IX: TOOLS

plug

6: Network Consistency Checking (LVS)

plug


Electric is able to compare two different facets and determine whether their networks are the same. This operation is sometimes called Layout vs. Schematic (LVS), but since Electric can compare any two circuits (including two layouts or two schematics) the term Network Consistency Checking (NCC) is used. Electric's NCC system is based on the Gemini work of Carl Ebeling (see Ebeling, Carl, "GeminiII: A Second Generation Layout Validation Program", Proceedings of ICCAD 1988, p322-325.)

To compare two facets, they must be shown in the only two windows or window partitions on the screen. 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-NCC{lay}" and "tool-NCC{sch}" (you can read the library with the Readable Dump subcommand of the Import command of the File menu). These two facets are equivalent and the checker will find them 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. As an aid to debugging inequal networks, you can examine these initial components and networks in more detail with the Do NCC Preanalysis subcommand.

Once compared successfully, nodes and arcs in one facet can be matched to those 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). For an initial comparison of two facets, it is best to leave all options off. The system can automatically detect some of the options, and you can choose to select others as needed.

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

Two "Verbose" checkboxes request textual and graphical debugging information. The "Do NCC now" button quits the dialog and runs the check.

The NCC remembers the time at which a successful NCC was done and marks the matched facets so that they are not checked again (if they haven't changed). The "Clear valid NCC dates" button removes this information, forcing the NCC to run again. Note that the button also removes all "NCCmatch" tags that are created by the matching process.

Figure 9.12

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 "Merge parallel components" instructs the NCC to consider multiple components wired in parallel to be a single component. When this option is selected, two parallel components will correctly match a single, larger component in the other facet.

The "Merge serial transistors" instructs the NCC to consider multiple transistors wired in serial to be a single, complex component. When this option is selected, the order of wiring gates to these transistors will not be ignored.

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

The "Check export names" check instructs the NCC to check export names for consistency. If exports are named differently in the two circuits, warnings will be issued.

"Check component sizes" instructs the NCC to compare component sizes. Unless this is checked, component will be equated only according to their connectivity, and not their size. The size tolerance field allows slop in the comparison of two components.

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.


Prev Previous     Contents Table of Contents     Next Next