com.sun.electric.tool.ncc
Class NccEngine

java.lang.Object
  extended by com.sun.electric.tool.ncc.NccEngine

public class NccEngine
extends java.lang.Object

NccEngine performs the topological comparison of two Cells. These Cells are from the same CompareList and are supposed to be topologically identical. Note that NCC calls NccEngine.compare() many times. For example, if every CompareList contained exactly two Cells, then NCC would call NccEngine.compare() once for each CompareList. NCC calls NccEngine.compare() on the leaf Cells first, and proceeds upwards towards the root. The object, HierarchyInfo, stores information that NCC must pass from lower level comparisons to higher level comparisons.


Constructor Summary
NccEngine()
           
 
Method Summary
static NccResult buildBlackBoxes(Cell cell1, VarContext ctxt1, Cell cell2, VarContext ctxt2, HierarchyInfo hierInfo, NccOptions options, Aborter aborter)
          Instead of checking to see if two cells are topologically equivalent, simply pretend that we've already compared them and found them to match.
static NccResult compare(Cell cell1, VarContext context1, Cell cell2, VarContext context2, HierarchyInfo hierInfo, NccOptions options, Aborter aborter)
          Check to see if two cells are topologically equivalent.
static NccResult compare(java.util.List<Cell> cells, java.util.List<VarContext> contexts, HierarchyInfo hierCompInfo, NccOptions options, Aborter aborter)
          Check to see if all cells are topologically equivalent.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NccEngine

public NccEngine()
Method Detail

compare

public static NccResult compare(java.util.List<Cell> cells,
                                java.util.List<VarContext> contexts,
                                HierarchyInfo hierCompInfo,
                                NccOptions options,
                                Aborter aborter)
Check to see if all cells are topologically equivalent. Note that the NCC engine can compare any number of Cells at the same time.

Parameters:
cells - a list of cells to compare.
contexts - a list of VarContexts for the corresponding Cell. The VarContxt is used to evaluate schematic variables. Use null if variables don't need to be evaluated.
hierCompInfo - Information needed to perform hierarchical netlist comparison. For flat comparisons pass null.
options - NCC options

compare

public static NccResult compare(Cell cell1,
                                VarContext context1,
                                Cell cell2,
                                VarContext context2,
                                HierarchyInfo hierInfo,
                                NccOptions options,
                                Aborter aborter)
Check to see if two cells are topologically equivalent.

Parameters:
cell1 - the root cell for the first design
context1 - the VarContext for the first Cell
cell2 - the root cell for the second design
context2 - the VarContext for the second Cell
hierInfo - Information needed to perform hierarchical netlist comparison. For flat comparisons pass null.
options - NCC options

buildBlackBoxes

public static NccResult buildBlackBoxes(Cell cell1,
                                        VarContext ctxt1,
                                        Cell cell2,
                                        VarContext ctxt2,
                                        HierarchyInfo hierInfo,
                                        NccOptions options,
                                        Aborter aborter)
Instead of checking to see if two cells are topologically equivalent, simply pretend that we've already compared them and found them to match. Put information into hierInfo that indicates that these two Cells match.

Parameters:
cell1 - the root cell for the first design
ctxt1 - the VarContext for the first Cell
cell2 - the root cell for the second design
ctxt2 - the VarContext for the second Cell
hierInfo - Information needed to perform hierarchical netlist comparison. For flat comparisons pass null.
options - NCC options