com.sun.electric.tool.simulation
Class Simulation

java.lang.Object
  extended by com.sun.electric.tool.Tool
      extended by com.sun.electric.tool.simulation.Simulation
All Implemented Interfaces:
java.lang.Comparable

public class Simulation
extends Tool

This is the Simulation Interface tool.


Nested Class Summary
static class Simulation.SpiceEngine
          SPICE OPTIONS
static class Simulation.SpiceParasitics
           
 
Field Summary
static int ALS_ENGINE
          constant for ALS simulation
static Pref cacheParasiticsBackAnnotateLayout
           
static Pref cacheParasiticsExtractPowerGround
           
static Pref cacheParasiticsExtractsC
           
static Pref cacheParasiticsExtractsR
           
static Pref cacheParasiticsIgnoreExemptedNets
           
static Pref cacheParasiticsUseExemptedNetsFile
           
static Pref cacheParasiticsUseVerboseNaming
           
static Variable.Key FALL_DELAY_KEY
          key of Variable holding fall time.
static int IRSIM_ENGINE
          constant for IRSIM simulation
static Variable.Key M_FACTOR_KEY
          key of Variable holding "M" factors.
static Variable.Key RISE_DELAY_KEY
          key of Variable holding rise time.
static java.lang.String spiceRunChoiceDontRun
           
static java.lang.String spiceRunChoiceRunIgnoreOutput
           
static java.lang.String spiceRunChoiceRunReportOutput
           
static Variable.Key WEAK_NODE_KEY
          key of Variable holding flag for weak nodes.
 
Fields inherited from class com.sun.electric.tool.Tool
prefs
 
Method Summary
static EMenu FLEETMenu()
           
static boolean getCDLIgnoreResistors()
          Method to get the state of "ignore resistors" for netlisting
static java.lang.String getCDLIncludeFile()
           
static java.lang.String getCDLLibName()
          Method to return the CDL library name.
static java.lang.String getCDLLibPath()
          Method to return the CDL library path.
static double getFastHenryDefThickness()
          Method to return the FastHenry default wire thickness.
static double getFastHenryEndFrequency()
          Method to return the FastHenry ending frequency.
static int getFastHenryHeightSubdivisions()
          Method to return the default number of height subdivisions for FastHenry deck generation.
static double getFastHenryMaxSegLength()
          Method to return the maximum segment length for FastHenry deck generation.
static int getFastHenryNumPoles()
          Method to return the number of poles for FastHenry deck generation.
static int getFastHenryRunsPerDecade()
          Method to return the number of runs per decade for FastHenry deck generation.
static double getFastHenryStartFrequency()
          Method to return the FastHenry starting frequency (or only if using a single frequency).
static int getFastHenryWidthSubdivisions()
          Method to return the default number of width subdivisions for FastHenry deck generation.
static int getIRSIMDebugging()
          Method to tell the debugging level for IRSIM simulation.
static java.lang.String getIRSIMParameterFile()
          Method to tell the parameter file to use for IRSIM.
static java.lang.String getIRSIMStepModel()
          Method to tell the stepping model to use for IRSIM.
static Simulation getSimulationTool()
          Method to retrieve the singleton associated with the Simulation tool.
static Simulation.SpiceEngine getSpiceEngine()
          Method to tell which SPICE engine is being used.
static int getSpiceEpicMemorySize()
          Method to tell the maximum memory to use for EpicReaderProcess, in megatybes.
static java.lang.String getSpiceHeaderCardInfo()
          Method to get the Spice header card specification.
static java.lang.String getSpiceLevel()
          Method to tell which SPICE level is being used.
static java.lang.String getSpiceOutputFormat()
          Method to tell the type of output files expected from Spice.
static boolean getSpiceOutputOverwrite()
          Get whether or not we automatically overwrite the spice output file
static Simulation.SpiceParasitics getSpiceParasiticsLevel()
          Method to tell the level of parasitics being used by Spice output.
static java.lang.String getSpicePartsLibrary()
          Method to return the name of the current Spice parts library.
static java.lang.String getSpiceRunChoice()
          Get the current setting for the Spice Run Choice preference
static java.lang.String[] getSpiceRunChoiceValues()
          Determines possible settings for the Spice Run Choice
static java.lang.String getSpiceRunDir()
          Get the spice run directory
static boolean getSpiceRunProbe()
          Get whether or not to run the spice probe after running spice
static java.lang.String getSpiceRunProgram()
          Get the spice run program
static java.lang.String getSpiceRunProgramArgs()
          Get the spice run program args
static int getSpiceShortResistors()
          Method to tell how SPICE should short resistors.
static java.lang.String getSpiceTrailerCardInfo()
          Method to get the Spice trailer card specification.
static boolean getSpiceUseRunDir()
          Get whether or not to use the user-specified spice run dir
static boolean getVerilogStopAtStandardCells()
           
static boolean getVerilogUseAssign()
          Method to tell whether Verilog deck generation should use the Assign statement.
static Setting getVerilogUseAssignSetting()
          Returns setting to tell whether Verilog deck generation should use the Assign statement.
static boolean getVerilogUseTrireg()
          Method to tell whether Verilog deck generation should use Trireg by default.
static Setting getVerilogUseTriregSetting()
          Returns setting to tell whether Verilog deck generation should use Trireg by default.
static boolean hasFLEET()
          Method to tell whether the FLEET simulator is available.
static boolean hasIRSIM()
          Method to tell whether the IRSIM simulator is available.
 void init()
          Method to initialize the Simulation tool.
protected  void initProjectSettings()
          Subclasses override this method to create ProjectSettings by Tool.makeXXXSetting methods declared below.
static boolean isBuiltInAutoAdvance()
          Method to tell whether built-in simulators automatically advance the time cursor when stimuli are added.
static boolean isBuiltInResimulateEach()
          Method to tell whether built-in simulators resimulate after each change to the display.
static boolean isCDLConvertBrackets()
          Method to tell whether CDL converts square bracket characters.
static boolean isFastHenryMultiPole()
          Method to tell whether FastHenry deck generation should make a multipole subcircuit.
static boolean isFastHenryUseSingleFrequency()
          Method to tell whether FastHenry deck generation should use a single frequency.
static boolean isIRSIMDelayedX()
          Get whether or not IRSIM uses a delayed X model, versus the old fast-propogating X model
static boolean isIRSIMShowsCommands()
          Method to tell whether IRSIM shows commands that are issued (for debugging).
static boolean isParasiticsBackAnnotateLayout()
           
static boolean isParasiticsExtractPowerGround()
           
static boolean isParasiticsExtractsC()
           
static boolean isParasiticsExtractsR()
           
static boolean isParasiticsIgnoreExemptedNets()
           
static boolean isParasiticsUseExemptedNetsFile()
           
static boolean isParasiticsUseVerboseNaming()
           
static boolean isSpiceForceGlobalPwrGnd()
          Method to tell whether or not to write global power and ground in Spice output.
static boolean isSpiceIgnoreParasiticResistors()
           
static boolean isSpiceUseCellParameters()
          Method to tell whether or not to use cell parameters in Spice output.
static boolean isSpiceUseNodeNames()
          Method to tell whether or not to use node names in Spice output.
static boolean isSpiceWriteEmtpySubckts()
           
static boolean isSpiceWriteFinalDotEnd()
           
static boolean isSpiceWriteSubcktTopCell()
           
static boolean isSpiceWriteTopCellInstance()
           
static boolean isSpiceWriteTransSizeInLambda()
          Method to tell whether or not to write transistor sizes in "lambda" grid units in Spice output.
static boolean isWaveformDisplayMultiState()
          Method to tell whether the waveform uses a multi-state display.
static void removeAllStimuli()
          Method to remove all stimuli from the simulation.
static void removeSelectedStimuli()
          Method to remove the selected stimuli.
static void removeStimuliFromSignal()
          Method to remove all stimuli from the currently-selected signal.
static void restoreStimuli()
          Method to restore the current stimuli information from disk.
static void runIRSIM(Cell cell, VarContext context, java.lang.String fileName)
          Method to run the IRSIM simulator on a given cell, context or file.
static void saveStimuli()
          Method to save the current stimuli information to disk.
static void setBuiltInAutoAdvance(boolean r)
          Method to set if built-in simulators automatically advance the time cursor when stimuli are added.
static void setBuiltInResimulateEach(boolean r)
          Method to set if built-in simulators resimulate after each change to the display.
static void setCDLConvertBrackets(boolean c)
          Method to set if CDL converts square bracket characters.
static void setCDLIgnoreResistors(boolean b)
          Method to get the state of "ignore resistors" for netlisting
static void setCDLIncludeFile(java.lang.String file)
           
static void setCDLLibName(java.lang.String libName)
          Method to set the CDL library name.
static void setCDLLibPath(java.lang.String libName)
          Method to set the CDL library path.
static void setClock()
           
static void setFastHenryDefThickness(double t)
          Method to set the FastHenry default wire thickness.
static void setFastHenryEndFrequency(double e)
          Method to set the FastHenry ending frequency.
static void setFastHenryHeightSubdivisions(int h)
          Method to set the default number of height subdivisions for FastHenry deck generation.
static void setFastHenryMaxSegLength(double s)
          Method to set the maximum segment length for FastHenry deck generation.
static void setFastHenryMultiPole(boolean mp)
          Method to set whether FastHenry deck generation should make a multipole subcircuit.
static void setFastHenryNumPoles(int p)
          Method to set the number of poles for FastHenry deck generation.
static void setFastHenryRunsPerDecade(int r)
          Method to set the number of runs per decade for FastHenry deck generation.
static void setFastHenryStartFrequency(double s)
          Method to set the FastHenry starting frequency (or only if using a single frequency).
static void setFastHenryUseSingleFrequency(boolean s)
          Method to set whether FastHenry deck generation should use a single frequency.
static void setFastHenryWidthSubdivisions(int w)
          Method to set the default number of width subdivisions for FastHenry deck generation.
static void setIRSIMDebugging(int p)
          Method to set the debugging level for IRSIM simulation.
static void setIRSIMDelayedX(boolean b)
          Get whether or not IRSIM uses a delayed X model, versus the old fast-propogating X model
static void setIRSIMParameterFile(java.lang.String p)
          Method to set the parameter file to use for IRSIM.
static void setIRSIMShowsCommands(boolean r)
          Method to set if IRSIM shows commands that are issued (for debugging).
static void setIRSIMStepModel(java.lang.String m)
          Method to set the stepping model to use for IRSIM.
static void setParasiticsBackAnnotateLayout(boolean b)
           
static void setParasiticsExtractPowerGround(boolean b)
           
static void setParasiticsExtractsC(boolean b)
           
static void setParasiticsExtractsR(boolean b)
           
static void setParasiticsIgnoreExemptedNets(boolean b)
           
static void setParasiticsUseExemptedNetsFile(boolean b)
           
static void setParasiticsUseVerboseNaming(boolean b)
           
static void setSignalHigh()
          Method to set the currently-selected signal high at the current time.
static void setSignalLow()
          Method to set the currently-selected signal low at the current time.
static void setSignalX()
          Method to set the currently-selected signal undefined at the current time.
static void setSpiceEngine(Simulation.SpiceEngine engine)
          Method to set which SPICE engine is being used.
static void setSpiceEpicMemorySize(int limit)
          Method to set the maximum memory to use for EpicReaderProcess.
static void setSpiceForceGlobalPwrGnd(boolean g)
          Method to set whether or not to write global power and ground in Spice output.
static void setSpiceHeaderCardInfo(java.lang.String spec)
          Method to set the Spice header card specification.
static void setSpiceIgnoreParasiticResistors(boolean b)
           
static void setSpiceLevel(java.lang.String level)
          Method to set which SPICE level is being used.
static void setSpiceModel()
          Method to set a Spice model on the selected node.
static void setSpiceOutputFormat(java.lang.String format)
          Method to set the type of output files expected from Spice.
static void setSpiceOutputOverwrite(boolean b)
          Set whether or not we automatically overwrite the spice output file
static void setSpiceParasiticsLevel(Simulation.SpiceParasitics p)
          Method to set the level of parasitics to be used by Spice output.
static void setSpicePartsLibrary(java.lang.String parts)
          Method to set the name of the current Spice parts library.
static void setSpiceRunChoice(java.lang.String choice)
          Set the setting for the Spice Run Choice preference.
static void setSpiceRunDir(java.lang.String dir)
          Set the spice run directory
static void setSpiceRunProbe(boolean b)
          Set whether or not to run the spice probe after running spice
static void setSpiceRunProgram(java.lang.String c)
          Set the spice run program
static void setSpiceRunProgramArgs(java.lang.String c)
          Set the spice run program args
static void setSpiceShortResistors(int sr)
          Method to set how SPICE should short resistors.
static void setSpiceTrailerCardInfo(java.lang.String spec)
          Method to set the Spice trailer card specification.
static void setSpiceUseCellParameters(boolean p)
          Method to set whether or not to use cell parameters in Spice output.
static void setSpiceUseNodeNames(boolean u)
          Method to set whether or not to use node names in Spice output.
static void setSpiceUseRunDir(boolean b)
          Set whether or not to use the user-specified spice run dir
static void setSpiceWriteEmptySubckts(boolean b)
           
static void setSpiceWriteFinalDotEnd(boolean b)
           
static void setSpiceWriteSubcktTopCell(boolean b)
           
static void setSpiceWriteTopCellInstance(boolean b)
           
static void setSpiceWriteTransSizeInLambda(boolean l)
          Method to set whether or not to write transistor sizes in "lambda" grid units in Spice output.
static void setTransistorStrengthCommand(boolean weak)
          Method to set the strength of the currently selected transistor.
static void setVerilogStopAtStandardCells(boolean b)
           
static void setVerilogWireCommand(int type)
          Method to set the type of the currently selected wires.
static void setWaveformDisplayMultiState(boolean m)
          Method to set whether the waveform uses a multi-state display.
static void showSignalInfo()
          Method to show information about the currently-selected signal.
static void showSimulationData(Stimuli sd, WaveformWindow ww)
          Method to display simulation data in a waveform window.
static void startSimulation(int engine, boolean forceDeck, Cell prevCell, Engine prevEngine)
          Method to invoke a simulation engine.
static void update()
          Method to update the simulation (because some stimuli have changed).
 
Methods inherited from class com.sun.electric.tool.Tool
clearAnalysis, clearBackground, clearFixErrors, clearIncremental, clearOn, clearSynthesis, compareTo, findTool, getIndex, getListeners, getName, getNumTools, getProjectSettings, getTools, initAllTools, isAnalysis, isBackground, isFixErrors, isIncremental, isOn, isSynthesis, makeBooleanSetting, makeDoubleSetting, makeIntSetting, makeLongSetting, makeStringSetting, setAnalysis, setBackground, setFixErrors, setIncremental, setOn, setSynthesis, setVarInJob, testAll, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

RISE_DELAY_KEY

public static final Variable.Key RISE_DELAY_KEY
key of Variable holding rise time.


FALL_DELAY_KEY

public static final Variable.Key FALL_DELAY_KEY
key of Variable holding fall time.


WEAK_NODE_KEY

public static final Variable.Key WEAK_NODE_KEY
key of Variable holding flag for weak nodes.


M_FACTOR_KEY

public static final Variable.Key M_FACTOR_KEY
key of Variable holding "M" factors.


ALS_ENGINE

public static final int ALS_ENGINE
constant for ALS simulation

See Also:
Constant Field Values

IRSIM_ENGINE

public static final int IRSIM_ENGINE
constant for IRSIM simulation

See Also:
Constant Field Values

spiceRunChoiceDontRun

public static final java.lang.String spiceRunChoiceDontRun
See Also:
Constant Field Values

spiceRunChoiceRunIgnoreOutput

public static final java.lang.String spiceRunChoiceRunIgnoreOutput
See Also:
Constant Field Values

spiceRunChoiceRunReportOutput

public static final java.lang.String spiceRunChoiceRunReportOutput
See Also:
Constant Field Values

cacheParasiticsUseVerboseNaming

public static Pref cacheParasiticsUseVerboseNaming

cacheParasiticsBackAnnotateLayout

public static Pref cacheParasiticsBackAnnotateLayout

cacheParasiticsExtractPowerGround

public static Pref cacheParasiticsExtractPowerGround

cacheParasiticsUseExemptedNetsFile

public static Pref cacheParasiticsUseExemptedNetsFile

cacheParasiticsIgnoreExemptedNets

public static Pref cacheParasiticsIgnoreExemptedNets

cacheParasiticsExtractsR

public static Pref cacheParasiticsExtractsR

cacheParasiticsExtractsC

public static Pref cacheParasiticsExtractsC
Method Detail

init

public void init()
Method to initialize the Simulation tool.

Overrides:
init in class Tool

getSimulationTool

public static Simulation getSimulationTool()
Method to retrieve the singleton associated with the Simulation tool.

Returns:
the Simulation tool.

startSimulation

public static void startSimulation(int engine,
                                   boolean forceDeck,
                                   Cell prevCell,
                                   Engine prevEngine)
Method to invoke a simulation engine.

Parameters:
engine - the simulation engine to run.
forceDeck - true to force simulation from a user-specified netlist file.
prevCell - the previous cell being simulated (null for a new simulation).
prevEngine - the previous simulation engine running (null for a new simulation).

hasIRSIM

public static boolean hasIRSIM()
Method to tell whether the IRSIM simulator is available. IRSIM is packaged separately because it is from Stanford University. This method dynamically figures out whether the IRSIM module is present by using reflection.

Returns:
true if the IRSIM simulator is available.

runIRSIM

public static void runIRSIM(Cell cell,
                            VarContext context,
                            java.lang.String fileName)
Method to run the IRSIM simulator on a given cell, context or file. Uses reflection to find the IRSIM simulator (if it exists).

Parameters:
cell - the Cell to simulate.
context - the context to the cell to simulate.
fileName - the name of the file with the netlist. If this is null, simulate the cell. If this is not null, ignore the cell and simulate the file.

hasFLEET

public static boolean hasFLEET()
Method to tell whether the FLEET simulator is available. This method dynamically figures out whether the FLEET module is present by using reflection.

Returns:
true if the FLEET simulator is available.

FLEETMenu

public static EMenu FLEETMenu()

update

public static void update()
Method to update the simulation (because some stimuli have changed).


setSignalHigh

public static void setSignalHigh()
Method to set the currently-selected signal high at the current time.


setSignalLow

public static void setSignalLow()
Method to set the currently-selected signal low at the current time.


setSignalX

public static void setSignalX()
Method to set the currently-selected signal undefined at the current time.


setClock

public static void setClock()

showSignalInfo

public static void showSignalInfo()
Method to show information about the currently-selected signal.


removeStimuliFromSignal

public static void removeStimuliFromSignal()
Method to remove all stimuli from the currently-selected signal.


removeSelectedStimuli

public static void removeSelectedStimuli()
Method to remove the selected stimuli.


removeAllStimuli

public static void removeAllStimuli()
Method to remove all stimuli from the simulation.


saveStimuli

public static void saveStimuli()
Method to save the current stimuli information to disk.


restoreStimuli

public static void restoreStimuli()
Method to restore the current stimuli information from disk.


setSpiceModel

public static void setSpiceModel()
Method to set a Spice model on the selected node.


setVerilogWireCommand

public static void setVerilogWireCommand(int type)
Method to set the type of the currently selected wires. This is used by the Verilog netlister.

Parameters:
type - 0 for wire; 1 for trireg; 2 for default.

setTransistorStrengthCommand

public static void setTransistorStrengthCommand(boolean weak)
Method to set the strength of the currently selected transistor. This is used by the Verilog netlister.

Parameters:
weak - true to set the currently selected transistor to be weak. false to make it normal strength.

showSimulationData

public static void showSimulationData(Stimuli sd,
                                      WaveformWindow ww)
Method to display simulation data in a waveform window.

Parameters:
sd - the simulation data to display.
ww - the waveform window to load. If null, create a new waveform window.

initProjectSettings

protected void initProjectSettings()
Description copied from class: Tool
Subclasses override this method to create ProjectSettings by Tool.makeXXXSetting methods declared below.

Overrides:
initProjectSettings in class Tool

isFastHenryUseSingleFrequency

public static boolean isFastHenryUseSingleFrequency()
Method to tell whether FastHenry deck generation should use a single frequency. The default is false.

Returns:
true if FastHenry deck generation should use a single frequency.

setFastHenryUseSingleFrequency

public static void setFastHenryUseSingleFrequency(boolean s)
Method to set whether FastHenry deck generation should use a single frequency.

Parameters:
s - true if FastHenry deck generation should use a single frequency.

getFastHenryStartFrequency

public static double getFastHenryStartFrequency()
Method to return the FastHenry starting frequency (or only if using a single frequency). The default is 0.

Returns:
the FastHenry starting frequency (or only if using a single frequency).

setFastHenryStartFrequency

public static void setFastHenryStartFrequency(double s)
Method to set the FastHenry starting frequency (or only if using a single frequency).

Parameters:
s - the FastHenry starting frequency (or only if using a single frequency).

getFastHenryEndFrequency

public static double getFastHenryEndFrequency()
Method to return the FastHenry ending frequency. The default is 0.

Returns:
the FastHenry ending frequency.

setFastHenryEndFrequency

public static void setFastHenryEndFrequency(double e)
Method to set the FastHenry ending frequency.

Parameters:
e - the FastHenry ending frequency.

getFastHenryRunsPerDecade

public static int getFastHenryRunsPerDecade()
Method to return the number of runs per decade for FastHenry deck generation. The default is 1.

Returns:
the number of runs per decade for FastHenry deck generation.

setFastHenryRunsPerDecade

public static void setFastHenryRunsPerDecade(int r)
Method to set the number of runs per decade for FastHenry deck generation.

Parameters:
r - the number of runs per decade for FastHenry deck generation.

isFastHenryMultiPole

public static boolean isFastHenryMultiPole()
Method to tell whether FastHenry deck generation should make a multipole subcircuit. The default is false.

Returns:
true if FastHenry deck generation should make a multipole subcircuit.

setFastHenryMultiPole

public static void setFastHenryMultiPole(boolean mp)
Method to set whether FastHenry deck generation should make a multipole subcircuit.

Parameters:
mp - true if FastHenry deck generation should make a multipole subcircuit.

getFastHenryNumPoles

public static int getFastHenryNumPoles()
Method to return the number of poles for FastHenry deck generation. The default is 20.

Returns:
the number of poles for FastHenry deck generation.

setFastHenryNumPoles

public static void setFastHenryNumPoles(int p)
Method to set the number of poles for FastHenry deck generation.

Parameters:
p - the number of poles for FastHenry deck generation.

getFastHenryDefThickness

public static double getFastHenryDefThickness()
Method to return the FastHenry default wire thickness. The default is 2.

Returns:
the FastHenry default wire thickness.

setFastHenryDefThickness

public static void setFastHenryDefThickness(double t)
Method to set the FastHenry default wire thickness.

Parameters:
t - the FastHenry default wire thickness.

getFastHenryWidthSubdivisions

public static int getFastHenryWidthSubdivisions()
Method to return the default number of width subdivisions for FastHenry deck generation. The default is 1.

Returns:
the default number of width subdivisions for FastHenry deck generation.

setFastHenryWidthSubdivisions

public static void setFastHenryWidthSubdivisions(int w)
Method to set the default number of width subdivisions for FastHenry deck generation.

Parameters:
w - the default number of width subdivisions for FastHenry deck generation.

getFastHenryHeightSubdivisions

public static int getFastHenryHeightSubdivisions()
Method to return the default number of height subdivisions for FastHenry deck generation. The default is 1.

Returns:
the default number of height subdivisions for FastHenry deck generation.

setFastHenryHeightSubdivisions

public static void setFastHenryHeightSubdivisions(int h)
Method to set the default number of height subdivisions for FastHenry deck generation.

Parameters:
h - the default number of height subdivisions for FastHenry deck generation.

getFastHenryMaxSegLength

public static double getFastHenryMaxSegLength()
Method to return the maximum segment length for FastHenry deck generation. The default is 0.

Returns:
the maximum segment length for FastHenry deck generation.

setFastHenryMaxSegLength

public static void setFastHenryMaxSegLength(double s)
Method to set the maximum segment length for FastHenry deck generation.

Parameters:
s - the maximum segment length for FastHenry deck generation.

getVerilogUseAssign

public static boolean getVerilogUseAssign()
Method to tell whether Verilog deck generation should use the Assign statement. The default is false.

Returns:
true if Verilog deck generation should use the Assign statement.

getVerilogUseAssignSetting

public static Setting getVerilogUseAssignSetting()
Returns setting to tell whether Verilog deck generation should use the Assign statement.

Returns:
setting to tell whether Verilog deck generation should use the Assign statement.

getVerilogUseTrireg

public static boolean getVerilogUseTrireg()
Method to tell whether Verilog deck generation should use Trireg by default. The alternative is to use the "wire" statement. The default is false.

Returns:
true if Verilog deck generation should use Trireg by default.

getVerilogUseTriregSetting

public static Setting getVerilogUseTriregSetting()
Returns setting to tell whether Verilog deck generation should use Trireg by default. The alternative is to use the "wire" statement.

Returns:
setting to tell whether Verilog deck generation should use Trireg by default.

setVerilogStopAtStandardCells

public static void setVerilogStopAtStandardCells(boolean b)

getVerilogStopAtStandardCells

public static boolean getVerilogStopAtStandardCells()

getCDLLibName

public static java.lang.String getCDLLibName()
Method to return the CDL library name. CDL is a weak form of a Spice deck, and it includes a Cadence library name.

Returns:
the CDL library name.

setCDLLibName

public static void setCDLLibName(java.lang.String libName)
Method to set the CDL library name. CDL is a weak form of a Spice deck, and it includes a Cadence library name.

Parameters:
libName - the CDL library name.

getCDLLibPath

public static java.lang.String getCDLLibPath()
Method to return the CDL library path. CDL is a weak form of a Spice deck, and it includes a Cadence library.

Returns:
the CDL library path.

setCDLLibPath

public static void setCDLLibPath(java.lang.String libName)
Method to set the CDL library path. CDL is a weak form of a Spice deck, and it includes a Cadence library.

Parameters:
libName - the CDL library path.

isCDLConvertBrackets

public static boolean isCDLConvertBrackets()
Method to tell whether CDL converts square bracket characters. CDL is a weak form of a Spice deck, and it includes a Cadence library.

Returns:
true if CDL converts square bracket characters.

setCDLConvertBrackets

public static void setCDLConvertBrackets(boolean c)
Method to set if CDL converts square bracket characters. CDL is a weak form of a Spice deck, and it includes a Cadence library.

Parameters:
c - true if CDL converts square bracket characters.

getCDLIncludeFile

public static java.lang.String getCDLIncludeFile()

setCDLIncludeFile

public static void setCDLIncludeFile(java.lang.String file)

getCDLIgnoreResistors

public static boolean getCDLIgnoreResistors()
Method to get the state of "ignore resistors" for netlisting

Returns:
the state of "ignore resistors"

setCDLIgnoreResistors

public static void setCDLIgnoreResistors(boolean b)
Method to get the state of "ignore resistors" for netlisting

Parameters:
b - the state of "ignore resistors"

isBuiltInResimulateEach

public static boolean isBuiltInResimulateEach()
Method to tell whether built-in simulators resimulate after each change to the display. When false, the user must request resimulation after a set of changes is done.

Returns:
true if built-in simulators resimulate after each change to the display.

setBuiltInResimulateEach

public static void setBuiltInResimulateEach(boolean r)
Method to set if built-in simulators resimulate after each change to the display. When false, the user must request resimulation after a set of changes is done.

Parameters:
r - true if built-in simulators resimulate after each change to the display.

isBuiltInAutoAdvance

public static boolean isBuiltInAutoAdvance()
Method to tell whether built-in simulators automatically advance the time cursor when stimuli are added.

Returns:
true if built-in simulators automatically advance the time cursor when stimuli are added.

setBuiltInAutoAdvance

public static void setBuiltInAutoAdvance(boolean r)
Method to set if built-in simulators automatically advance the time cursor when stimuli are added.

Parameters:
r - true if built-in simulators automatically advance the time cursor when stimuli are added.

isWaveformDisplayMultiState

public static boolean isWaveformDisplayMultiState()
Method to tell whether the waveform uses a multi-state display. Multi-state displays distinguish different strengths with different colors in the waveform window, and use different colors to distinguish different levels when drawing the cross-probing of the waveform in the schematics and layout window. The default is false.

Returns:
true if the waveform uses a multi-state display.

setWaveformDisplayMultiState

public static void setWaveformDisplayMultiState(boolean m)
Method to set whether the waveform uses a multi-state display. Multi-state displays distinguish different strengths with different colors in the waveform window, and use different colors to distinguish different levels when drawing the cross-probing of the waveform in the schematics and layout window.

Parameters:
m - true if the waveform uses a multi-state display.

isIRSIMShowsCommands

public static boolean isIRSIMShowsCommands()
Method to tell whether IRSIM shows commands that are issued (for debugging).

Returns:
true if IRSIM shows commands that are issued (for debugging).

setIRSIMShowsCommands

public static void setIRSIMShowsCommands(boolean r)
Method to set if IRSIM shows commands that are issued (for debugging).

Parameters:
r - true if IRSIM shows commands that are issued (for debugging).

getIRSIMDebugging

public static int getIRSIMDebugging()
Method to tell the debugging level for IRSIM simulation. This is a combination of bits, where: Bit 1: debug event scheduling (Sim.DEBUG_EV) Bit 2: debug final value computation (Sim.DEBUG_DC) Bit 3: debug tau/delay computation (Sim.DEBUG_TAU) Bit 4: debug taup computation (Sim.DEBUG_TAUP) Bit 5: debug spike analysis (Sim.DEBUG_SPK) Bit 6: debug tree walk (Sim.DEBUG_TW)

Returns:
the debugging level for IRSIM simulation.

setIRSIMDebugging

public static void setIRSIMDebugging(int p)
Method to set the debugging level for IRSIM simulation. This is a combination of bits, where: Bit 1: debug event scheduling (Sim.DEBUG_EV) Bit 2: debug final value computation (Sim.DEBUG_DC) Bit 3: debug tau/delay computation (Sim.DEBUG_TAU) Bit 4: debug taup computation (Sim.DEBUG_TAUP) Bit 5: debug spike analysis (Sim.DEBUG_SPK) Bit 6: debug tree walk (Sim.DEBUG_TW)

Parameters:
p - the debugging level for IRSIM simulation.

getIRSIMParameterFile

public static java.lang.String getIRSIMParameterFile()
Method to tell the parameter file to use for IRSIM.

Returns:
the parameter file to use for IRSIM.

setIRSIMParameterFile

public static void setIRSIMParameterFile(java.lang.String p)
Method to set the parameter file to use for IRSIM.

Parameters:
p - the parameter file to use for IRSIM.

getIRSIMStepModel

public static java.lang.String getIRSIMStepModel()
Method to tell the stepping model to use for IRSIM. Possible choices are "RC" (the default) and "Linear".

Returns:
the stepping model to use for IRSIM.

setIRSIMStepModel

public static void setIRSIMStepModel(java.lang.String m)
Method to set the stepping model to use for IRSIM. Possible choices are "RC" (the default) and "Linear".

Parameters:
m - the stepping model to use for IRSIM.

isIRSIMDelayedX

public static boolean isIRSIMDelayedX()
Get whether or not IRSIM uses a delayed X model, versus the old fast-propogating X model

Returns:
true if using the delayed X model, false if using the old fast-propogating X model

setIRSIMDelayedX

public static void setIRSIMDelayedX(boolean b)
Get whether or not IRSIM uses a delayed X model, versus the old fast-propogating X model

Parameters:
b - true to use the delayed X model, false to use the old fast-propogating X model

getSpiceEngine

public static Simulation.SpiceEngine getSpiceEngine()
Method to tell which SPICE engine is being used. Since different versions of SPICE have slightly different syntax, this is needed to tell the deck generator which variation to target.

Returns:
which SPICE engine is being used. These constants are available:
Simulation.SPICE_ENGINE_2 for Spice 2.
Simulation.SPICE_ENGINE_3 for Spice 3.
Simulation.SPICE_ENGINE_H for HSpice.
Simulation.SPICE_ENGINE_P for PSpice.
Simulation.SPICE_ENGINE_G for GNUCap.
Simulation.SPICE_ENGINE_S for Smart Spice.
Simulation.SPICE_ENGINE_H_ASSURA for HSpice for Assura.
Where Simulation.SPICE_ENGINE_3 is the default.

setSpiceEngine

public static void setSpiceEngine(Simulation.SpiceEngine engine)
Method to set which SPICE engine is being used. Since different versions of SPICE have slightly different syntax, this is needed to tell the deck generator which variation to target.

Parameters:
engine - which SPICE engine is being used. These constants are available:
Simulation.SpiceEngine.SPICE_ENGINE_2 for Spice 2.
Simulation.SpiceEngine.SPICE_ENGINE_3 for Spice 3. (the default)
Simulation.SpiceEngine.SPICE_ENGINE_H for HSpice.
Simulation.SpiceEngine.SPICE_ENGINE_P for PSpice.
Simulation.SpiceEngine.SPICE_ENGINE_G for GNUCap.
Simulation.SpiceEngine.SPICE_ENGINE_S for Smart Spice.
Simulation.SpiceEngine.SPICE_ENGINE_H_ASSURA for HSpice for Assura.

getSpiceLevel

public static java.lang.String getSpiceLevel()
Method to tell which SPICE level is being used. SPICE can use 3 different levels of simulation.

Returns:
which SPICE level is being used (1, 2, or 3).

setSpiceLevel

public static void setSpiceLevel(java.lang.String level)
Method to set which SPICE level is being used. SPICE can use 3 different levels of simulation.

Parameters:
level - which SPICE level is being used (1, 2, or 3).

getSpiceOutputFormat

public static java.lang.String getSpiceOutputFormat()
Method to tell the type of output files expected from Spice.

Returns:
the type of output files expected from Spice. The values are:
"Standard": Standard output (the default)
"Raw" Raw output
"Raw/Smart": Raw output from SmartSpice

setSpiceOutputFormat

public static void setSpiceOutputFormat(java.lang.String format)
Method to set the type of output files expected from Spice.

Parameters:
format - the type of output files expected from Spice. The values are:
"Standard": Standard output (the default)
"Raw" Raw output
"Raw/Smart": Raw output from SmartSpice

getSpiceShortResistors

public static int getSpiceShortResistors()
Method to tell how SPICE should short resistors. These values can be:
0 for no resistor shorting.
1 for parasitic resistor shorting (normal resistors shorted, poly resistors not shorted).
2 for all resistor shorting.

Returns:
how SPICE should short resistors.

setSpiceShortResistors

public static void setSpiceShortResistors(int sr)
Method to set how SPICE should short resistors.

Parameters:
sr - how SPICE should short resistors:
0 for no resistor shorting.
1 for parasitic resistor shorting (normal resistors shorted, poly resistors not shorted).
2 for all resistor shorting.

getSpiceRunChoiceValues

public static java.lang.String[] getSpiceRunChoiceValues()
Determines possible settings for the Spice Run Choice


getSpiceRunChoice

public static java.lang.String getSpiceRunChoice()
Get the current setting for the Spice Run Choice preference


setSpiceRunChoice

public static void setSpiceRunChoice(java.lang.String choice)
Set the setting for the Spice Run Choice preference. Ignored if invalid


getSpiceRunDir

public static java.lang.String getSpiceRunDir()
Get the spice run directory


setSpiceRunDir

public static void setSpiceRunDir(java.lang.String dir)
Set the spice run directory


getSpiceUseRunDir

public static boolean getSpiceUseRunDir()
Get whether or not to use the user-specified spice run dir


setSpiceUseRunDir

public static void setSpiceUseRunDir(boolean b)
Set whether or not to use the user-specified spice run dir


getSpiceOutputOverwrite

public static boolean getSpiceOutputOverwrite()
Get whether or not we automatically overwrite the spice output file


setSpiceOutputOverwrite

public static void setSpiceOutputOverwrite(boolean b)
Set whether or not we automatically overwrite the spice output file


getSpiceRunProbe

public static boolean getSpiceRunProbe()
Get whether or not to run the spice probe after running spice


setSpiceRunProbe

public static void setSpiceRunProbe(boolean b)
Set whether or not to run the spice probe after running spice


getSpiceRunProgram

public static java.lang.String getSpiceRunProgram()
Get the spice run program


setSpiceRunProgram

public static void setSpiceRunProgram(java.lang.String c)
Set the spice run program


getSpiceRunProgramArgs

public static java.lang.String getSpiceRunProgramArgs()
Get the spice run program args


setSpiceRunProgramArgs

public static void setSpiceRunProgramArgs(java.lang.String c)
Set the spice run program args


getSpicePartsLibrary

public static java.lang.String getSpicePartsLibrary()
Method to return the name of the current Spice parts library. The Spice parts library is a library of icons that are used in Spice.

Returns:
the name of the current Spice parts library.

setSpicePartsLibrary

public static void setSpicePartsLibrary(java.lang.String parts)
Method to set the name of the current Spice parts library. The Spice parts library is a library of icons that are used in Spice.

Parameters:
parts - the name of the new current Spice parts library.

getSpiceHeaderCardInfo

public static java.lang.String getSpiceHeaderCardInfo()
Method to get the Spice header card specification. Header cards can come from one of three places, depending on the specification:
Specification="N O N E XXX" means use built-in header cards (XXX is the former specification).
Specification="Extension XXX" means use header cards from the file TOPCELL.XXX where TOPCELL is the name of the top-level cell name and XXX is a specified extension.
Specification="XXX" means use header cards from the file XXX.

Returns:
the Spice header card specification.

setSpiceHeaderCardInfo

public static void setSpiceHeaderCardInfo(java.lang.String spec)
Method to set the Spice header card specification. Header cards can come from one of three places, depending on the specification:
Specification="N O N E XXX" means use built-in header cards (XXX is the former specification).
Specification="Extension XXX" means use header cards from the file TOPCELL.XXX where TOPCELL is the name of the top-level cell name and XXX is a specified extension.
Specification="XXX" means use header cards from the file XXX.

Parameters:
spec - the Spice header card specification.

getSpiceTrailerCardInfo

public static java.lang.String getSpiceTrailerCardInfo()
Method to get the Spice trailer card specification. Trailer cards can come from one of three places, depending on the specification:
Specification="N O N E XXX" means use built-in trailer cards (XXX is the former specification).
Specification="Extension XXX" means use trailer cards from the file TOPCELL.XXX where TOPCELL is the name of the top-level cell name and XXX is a specified extension.
Specification="XXX" means use trailer cards from the file XXX.

Returns:
the Spice trailer card specification.

setSpiceTrailerCardInfo

public static void setSpiceTrailerCardInfo(java.lang.String spec)
Method to set the Spice trailer card specification. Trailer cards can come from one of three places, depending on the specification:
Specification="N O N E XXX" means use built-in trailer cards (XXX is the former specification).
Specification="Extension XXX" means use trailer cards from the file TOPCELL.XXX where TOPCELL is the name of the top-level cell name and XXX is a specified extension.
Specification="XXX" means use trailer cards from the file XXX.

Parameters:
spec - the Spice trailer card specification.

getSpiceParasiticsLevel

public static Simulation.SpiceParasitics getSpiceParasiticsLevel()
Method to tell the level of parasitics being used by Spice output. The default is PARASITICS_SIMPLE.

Returns:
the level of parasitics being used by Spice output.

setSpiceParasiticsLevel

public static void setSpiceParasiticsLevel(Simulation.SpiceParasitics p)
Method to set the level of parasitics to be used by Spice output.

Parameters:
p - the level of parasitics to be used by Spice output.

isParasiticsUseVerboseNaming

public static boolean isParasiticsUseVerboseNaming()

setParasiticsUseVerboseNaming

public static void setParasiticsUseVerboseNaming(boolean b)

isParasiticsBackAnnotateLayout

public static boolean isParasiticsBackAnnotateLayout()

setParasiticsBackAnnotateLayout

public static void setParasiticsBackAnnotateLayout(boolean b)

isParasiticsExtractPowerGround

public static boolean isParasiticsExtractPowerGround()

setParasiticsExtractPowerGround

public static void setParasiticsExtractPowerGround(boolean b)

isParasiticsUseExemptedNetsFile

public static boolean isParasiticsUseExemptedNetsFile()

setParasiticsUseExemptedNetsFile

public static void setParasiticsUseExemptedNetsFile(boolean b)

isParasiticsIgnoreExemptedNets

public static boolean isParasiticsIgnoreExemptedNets()

setParasiticsIgnoreExemptedNets

public static void setParasiticsIgnoreExemptedNets(boolean b)

isParasiticsExtractsR

public static boolean isParasiticsExtractsR()

setParasiticsExtractsR

public static void setParasiticsExtractsR(boolean b)

isParasiticsExtractsC

public static boolean isParasiticsExtractsC()

setParasiticsExtractsC

public static void setParasiticsExtractsC(boolean b)

isSpiceUseNodeNames

public static boolean isSpiceUseNodeNames()
Method to tell whether or not to use node names in Spice output. If node names are off, then numbers are used. The default is true.

Returns:
true to use node names in Spice output.

setSpiceUseNodeNames

public static void setSpiceUseNodeNames(boolean u)
Method to set whether or not to use node names in Spice output. If node names are off, then numbers are used.

Parameters:
u - true to use node names in Spice output.

isSpiceForceGlobalPwrGnd

public static boolean isSpiceForceGlobalPwrGnd()
Method to tell whether or not to write global power and ground in Spice output. If this is off, then individual power and ground references are made. The default is false.

Returns:
true to write global power and ground in Spice output.

setSpiceForceGlobalPwrGnd

public static void setSpiceForceGlobalPwrGnd(boolean g)
Method to set whether or not to write global power and ground in Spice output. If this is off, then individual power and ground references are made.

Parameters:
g - true to write global power and ground in Spice output.

isSpiceUseCellParameters

public static boolean isSpiceUseCellParameters()
Method to tell whether or not to use cell parameters in Spice output. When cell parameters are used, any parameterized cell is written many times, once for each combination of parameter values. The default is false.

Returns:
true to use cell parameters in Spice output.

setSpiceUseCellParameters

public static void setSpiceUseCellParameters(boolean p)
Method to set whether or not to use cell parameters in Spice output. When cell parameters are used, any parameterized cell is written many times, once for each combination of parameter values.

Parameters:
p - true to use cell parameters in Spice output.

isSpiceWriteTransSizeInLambda

public static boolean isSpiceWriteTransSizeInLambda()
Method to tell whether or not to write transistor sizes in "lambda" grid units in Spice output. Lambda grid units are the basic units of design. When writing in these units, the values are simpler, but an overriding scale factor brings them to the proper size. The default is false.

Returns:
true to write transistor sizes in "lambda" grid units in Spice output.

setSpiceWriteTransSizeInLambda

public static void setSpiceWriteTransSizeInLambda(boolean l)
Method to set whether or not to write transistor sizes in "lambda" grid units in Spice output. Lambda grid units are the basic units of design. When writing in these units, the values are simpler, but an overriding scale factor brings them to the proper size.

Parameters:
l - true to write transistor sizes in "lambda" grid units in Spice output.

isSpiceWriteSubcktTopCell

public static boolean isSpiceWriteSubcktTopCell()

setSpiceWriteSubcktTopCell

public static void setSpiceWriteSubcktTopCell(boolean b)

isSpiceWriteTopCellInstance

public static boolean isSpiceWriteTopCellInstance()

setSpiceWriteTopCellInstance

public static void setSpiceWriteTopCellInstance(boolean b)

isSpiceWriteEmtpySubckts

public static boolean isSpiceWriteEmtpySubckts()

setSpiceWriteEmptySubckts

public static void setSpiceWriteEmptySubckts(boolean b)

isSpiceWriteFinalDotEnd

public static boolean isSpiceWriteFinalDotEnd()

setSpiceWriteFinalDotEnd

public static void setSpiceWriteFinalDotEnd(boolean b)

isSpiceIgnoreParasiticResistors

public static boolean isSpiceIgnoreParasiticResistors()

setSpiceIgnoreParasiticResistors

public static void setSpiceIgnoreParasiticResistors(boolean b)

getSpiceEpicMemorySize

public static int getSpiceEpicMemorySize()
Method to tell the maximum memory to use for EpicReaderProcess, in megatybes. The default is 1000 (1 gigabyte).

Returns:
the maximum memory to use for EpicReaderProcess (in megabytes).

setSpiceEpicMemorySize

public static void setSpiceEpicMemorySize(int limit)
Method to set the maximum memory to use for EpicReaderProcess.

Parameters:
limit - maximum memory to use for EpicReaderProcess (in megabytes).