Electric is able to compare two different cells and determine whether their networks have the same topology. This operation is sometimes called Layout vs. Schematic (LVS), but because 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 cells, use these commands (in menu Tool / NCC):

- Flat NCC schematic and layout of current cell From the Cell Group of the current Cell locate a schematic Cell and a layout Cell and compare them. Flatten both netists before the comparison. This is the most commonly used form of the NCC command.
- Flat NCC two cells from open windows Compare the two cells that are displayed in the two opened windows (there must be exactly two windows). This is useful when the schematic and layout are not in the same Cell Group. The command can also be used to compare schematics with schematics or layout with layout. However, the command refuses to compare icon Cells since icons Cells don't have defined connectivity.
- Flat NCC each cell in the design, current cell is root Perform a flat netlist comparison for every Cell Group making up the current design. This command assumes that all schematic and layout Cells in a Cell Group are supposed to be topologically identical. From the Cell Group of the current cell locate a schematic Cell and a layout Cell. Walk the schematic and layout hierarchies to identify all Cell Groups that are part of both hierarchies. Starting with the leaf Cell Group, compare all schematic and layout Cells that are used in the design.
- List annotations of each cell in the design, current cell is root Print out a list of all the NCC annotations on all Cells in the design. From the Cell Group of the current Cell locate a schematic Cell and a layout Cell. Walk both hierarchies to identify all schematic and layout Cells used in the design. For each of these Cells with NCC annotations on, print the name of the Cell followed by the list of annotations.

There are a small number of NCC options available in the "NCC" preferences (in menu File / Preferences..., "Tools" section, "NCC" tab). Please ignore everything in the "Size Checking" panel because NCC Size Checking is presently disabled because it is not yet ready for general distribution.

In the "Checking All Cells" panel the "Halt after finding the first mismatched Cell" check box determines whether the command "Flat NCC each cell in the design, current cell is root" stops when it finds the first mismatching Cell. It's generally a good idea to stop because an error in a child Cell often creates many errors in its parents. Once you fix the child Cell a second invocation of the command will continue where it left off. The command remembers which Cells have compared successfully just for the duration of the program. However, if you exit and restart Electric and rerun the command it will start from scratch.

In certain situations the designer must annotate Cells to tell NCC what he means. It is quite common for a layout Cell to have two or more exports that are intended to be connected by the parent of the Cell. For example, a layout Cell might export vdd, vdd_1, and vdd_2 with the expectation that the parent Cell will connect power to all three exports. However, the schematic Cell might be drawn with only one Export, vdd. In order to get the comparison to pass, the designer must add to the layout Cell an attribute named "NCC" with the value string:

exportsConnectedByParent vdd vdd_1 vdd_2

Alternatively, the designer can use regular expressions. For example, the following annotation is quite common:

exportsConnectedByParent vdd /vdd_[0-9]+/

Another situation where an annotation is useful is if you already know that a child cell has an error but you are sure that this error won't affect the NCC results of ancestor Cells. For example, the annotation:

skipNCC the Bozo that drew this layout didn't make the Export names match the schematic

tells NCC not to bother comparing this particular Cell. Note that all characters following the token "skipNCC" to the end of the line are presumed to be a caustic editorial comment to be displayed prominently during the execution of the command.

Multiple NCC annotations may be added to a single NCC attribute by including each on a separate line.

For an example of network consistency checking, open the Samples library (in menu Help / Load Samples Library) and compare the cells "tool-NCC{lay}" and "tool-NCC{sch}". These two cells are equivalent and the checker will find them to be so.