com.sun.electric.tool.ncc
Class NccGlobals

java.lang.Object
  extended by com.sun.electric.tool.ncc.NccGlobals
All Implemented Interfaces:
NccGlobalsReportable

public class NccGlobals
extends java.lang.Object
implements NccGlobalsReportable


Field Summary
 int passNumber
          pass number shared by strategies
 
Constructor Summary
NccGlobals(NccOptions options, Aborter aborter)
          The constructor initializes global root, parts, wires, and ports from net lists.
 
Method Summary
 boolean cantBuildNetlist()
           
 boolean[] cantBuildNetlistBits()
           
 void error(boolean pred, java.lang.String msg)
           
 void error(java.lang.String msg)
           
 void flush()
           
 BenchmarkResults getBenchmarkResults()
          Get result of benchmarking performance counters
 HierarchyEnumerator.NetNameProxy[][] getEquivalentNets()
           
 HierarchyEnumerator.NodableNameProxy[][] getEquivalentNodes()
           
 NccGuiInfo getNccGuiInfo()
          Get mismatches to be displayed in the GUI
 int getNumNetlistsBeingCompared()
           
 NccOptions getOptions()
           
 int[] getPartCounts()
           
 LeafEquivRecords getPartLeafEquivRecs()
           
 EquivRecord getParts()
           
 int[] getPortCounts()
           
 LeafEquivRecords getPortLeafEquivRecs()
           
 EquivRecord getPorts()
           
 int getRandom()
          Generate non-recurring pseudo-random integers
 EquivRecord getRoot()
           
 java.lang.String[] getRootCellNames()
           
 Cell[] getRootCells()
           
 VarContext[] getRootContexts()
           
 int[] getWireCounts()
           
 LeafEquivRecords getWireLeafEquivRecs()
           
 EquivRecord getWires()
           
 void initLeafLists()
          Initialization.
 void pr(java.lang.String s)
           
 void prln(java.lang.String s)
           
 void setInitialNetlists(java.util.List<NccNetlist> nccNets)
           
 void status1(java.lang.String msg)
           
 void status2(java.lang.String msg)
           
 boolean userWantsToAbort()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

passNumber

public int passNumber
pass number shared by strategies

Constructor Detail

NccGlobals

public NccGlobals(NccOptions options,
                  Aborter aborter)
The constructor initializes global root, parts, wires, and ports from net lists. param list of NccNetlists, one per Cell to be compared

Parameters:
options -
Method Detail

prln

public void prln(java.lang.String s)

pr

public void pr(java.lang.String s)

setInitialNetlists

public void setInitialNetlists(java.util.List<NccNetlist> nccNets)

initLeafLists

public void initLeafLists()
Initialization. Tricky! initLeafLists() must be called AFTER series/parallel merging. and AFTER Local Partitioning!!! Both of those processes violate invariants assumed by LeafEquivRecords.


getRoot

public EquivRecord getRoot()

getParts

public EquivRecord getParts()

getWires

public EquivRecord getWires()

getPorts

public EquivRecord getPorts()

getNumNetlistsBeingCompared

public int getNumNetlistsBeingCompared()

getRootCells

public Cell[] getRootCells()
Specified by:
getRootCells in interface NccGlobalsReportable

getRootContexts

public VarContext[] getRootContexts()
Specified by:
getRootContexts in interface NccGlobalsReportable

getRootCellNames

public java.lang.String[] getRootCellNames()
Specified by:
getRootCellNames in interface NccGlobalsReportable

status1

public void status1(java.lang.String msg)

status2

public void status2(java.lang.String msg)

flush

public void flush()

error

public void error(boolean pred,
                  java.lang.String msg)

error

public void error(java.lang.String msg)

getOptions

public NccOptions getOptions()
Specified by:
getOptions in interface NccGlobalsReportable

getRandom

public int getRandom()
Generate non-recurring pseudo-random integers


getPartLeafEquivRecs

public LeafEquivRecords getPartLeafEquivRecs()

getWireLeafEquivRecs

public LeafEquivRecords getWireLeafEquivRecs()

getPortLeafEquivRecs

public LeafEquivRecords getPortLeafEquivRecs()

getEquivalentNets

public HierarchyEnumerator.NetNameProxy[][] getEquivalentNets()
Specified by:
getEquivalentNets in interface NccGlobalsReportable
Returns:
an NetNameProxy[][]. NetNameProxy[d][n] gives the nth net of the dth design. NetNameProxy[a][n] is NCC equivalent to NetNameProxy[b][n] for all a and b.

getEquivalentNodes

public HierarchyEnumerator.NodableNameProxy[][] getEquivalentNodes()
Specified by:
getEquivalentNodes in interface NccGlobalsReportable
Returns:
an NodableNameProxy[][]. NodableNameProxy[d][n] gives the nth net of the dth design. NetNameProxy[a][n] is NCC equivalent to NetNameProxy[b][n] for all a and b.

getNccGuiInfo

public NccGuiInfo getNccGuiInfo()
Get mismatches to be displayed in the GUI

Specified by:
getNccGuiInfo in interface NccGlobalsReportable
Returns:
an object with mismatches to be displayed in GUI

cantBuildNetlist

public boolean cantBuildNetlist()
Returns:
true if some netlist can't be built

cantBuildNetlistBits

public boolean[] cantBuildNetlistBits()
Specified by:
cantBuildNetlistBits in interface NccGlobalsReportable
Returns:
true if ith netlist can't be built

getPartCounts

public int[] getPartCounts()
Specified by:
getPartCounts in interface NccGlobalsReportable
Returns:
array of Part counts. One array element per Circuit

getWireCounts

public int[] getWireCounts()
Specified by:
getWireCounts in interface NccGlobalsReportable
Returns:
array of Wire counts. One array element per Circuit

getPortCounts

public int[] getPortCounts()
Specified by:
getPortCounts in interface NccGlobalsReportable
Returns:
array of Port counts. One array element per Circuit

userWantsToAbort

public boolean userWantsToAbort()
Returns:
true if user wants to abort

getBenchmarkResults

public BenchmarkResults getBenchmarkResults()
Get result of benchmarking performance counters

Specified by:
getBenchmarkResults in interface NccGlobalsReportable