com.sun.electric.tool.ncc
Class NccOptions

java.lang.Object
  extended by com.sun.electric.tool.ncc.NccOptions
All Implemented Interfaces:
java.io.Serializable

public class NccOptions
extends java.lang.Object
implements java.io.Serializable

NccOptions allows the user to control exactly how NCC performs its comparison. When the NCC command is launched, NCC examines the NCC user preferences to create an NccOptions object. Thereafter, NCC only looks at the NccOptions in order to determine what to do. The only place where NCC examines the NCC user preferences is the getOptionsFromNccPreferences() method below. Everywhere else NCC uses NccOptions. My use of NccOptions to control NCC allows NCC to be thread safe. Multiple threads can run NCC at the same time. Each thread calls NCC with a different NccOptions object and each NccOptions object can specify different options.

See Also:
Serialized Form

Field Summary
 double absoluteSizeTolerance
           
 boolean checkBody
          Check the body connections of MOS transistors.
 boolean checkSizes
          enable size checking
static int FLAT_EACH_CELL
           
static int FLAT_TOP_CELL
           
 boolean haltAfterFirstMismatch
          for hierarchical comparisons try to continue comparing higher up in the hierarchy even if this Cell doesn't match
static int HIER_EACH_CELL
          what NCC operation to perform
 int howMuchStatus
          How many progress messages to print (0 means minimal, 10 means maximum).
static int LIST_ANNOTATIONS
           
 int maxEquivRecMembersToPrint
          For all diagnostic messages, how many members of an equivalence class should I print
 int maxMatchedEquivRecsToPrint
          If hash code partitioning detects a mismatch, how many matched Part or Wire Equivalence Classes should I print?
 int maxMismatchedEquivRecsToPrint
          If hash code partitioning detects a mismatch, how many mismatched Part or Wire Equivalence Classes should I print?
 boolean oneNamePerPort
          This is false only for old regressions
 int operation
           
 double relativeSizeTolerance
           
 boolean skipPassed
          Don't recheck Cells that have passed NCC in the current run of Electric.
 
Constructor Summary
NccOptions()
          Construct an NccOptions with the default options
NccOptions(NccOptions o)
          Construct an NccOptions that is a copy of o
 
Method Summary
static NccOptions getOptionsFromNccPreferences()
          Look at the NCC user preferences and construct an NccOptions object that reflects those preferences.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

HIER_EACH_CELL

public static final int HIER_EACH_CELL
what NCC operation to perform

See Also:
Constant Field Values

FLAT_EACH_CELL

public static final int FLAT_EACH_CELL
See Also:
Constant Field Values

FLAT_TOP_CELL

public static final int FLAT_TOP_CELL
See Also:
Constant Field Values

LIST_ANNOTATIONS

public static final int LIST_ANNOTATIONS
See Also:
Constant Field Values

operation

public int operation

checkSizes

public boolean checkSizes
enable size checking


absoluteSizeTolerance

public double absoluteSizeTolerance

relativeSizeTolerance

public double relativeSizeTolerance

skipPassed

public boolean skipPassed
Don't recheck Cells that have passed NCC in the current run of Electric. This is a hack because it doesn't re-check a Cell if it has been modified since the last comparison.


howMuchStatus

public int howMuchStatus
How many progress messages to print (0 means minimal, 10 means maximum).


haltAfterFirstMismatch

public boolean haltAfterFirstMismatch
for hierarchical comparisons try to continue comparing higher up in the hierarchy even if this Cell doesn't match


maxMismatchedEquivRecsToPrint

public int maxMismatchedEquivRecsToPrint
If hash code partitioning detects a mismatch, how many mismatched Part or Wire Equivalence Classes should I print?


maxMatchedEquivRecsToPrint

public int maxMatchedEquivRecsToPrint
If hash code partitioning detects a mismatch, how many matched Part or Wire Equivalence Classes should I print?


maxEquivRecMembersToPrint

public int maxEquivRecMembersToPrint
For all diagnostic messages, how many members of an equivalence class should I print


oneNamePerPort

public boolean oneNamePerPort
This is false only for old regressions


checkBody

public boolean checkBody
Check the body connections of MOS transistors.

Constructor Detail

NccOptions

public NccOptions()
Construct an NccOptions with the default options


NccOptions

public NccOptions(NccOptions o)
Construct an NccOptions that is a copy of o

Parameters:
o - the NccOptions to copy
Method Detail

getOptionsFromNccPreferences

public static NccOptions getOptionsFromNccPreferences()
Look at the NCC user preferences and construct an NccOptions object that reflects those preferences. This is the only place in all of NCC where the NCC user preferences are examined.