# .OPTIONS

.OPTIONS [ opt1 [=val1]] ...

This statement allows the setting of various options specific to the simulator.

 opt1 Option name. Must be one specified in list below. val1 Option value. Note, boolean options do not have a value. They are assigned "true" if the name is present and "false" if not.

## List of simulator options

Option name Default value Description
ABSTOL 1p Units = A The absolute current error tolerance. It is sometimes desirable to increase this for circuits that carry large currents (>1A) to speed the solution and aid convergence.
ACCT false Full simulation timing statistics are generated if this is enabled.
ADVCONVREPORT false Enables advanced convergence reporting. Information from this can be retrieved using the script function GetNodeConvergenceInfo()
ALLACI false Instructs simulator to save all device currents in an AC analysis. Usually, only currents for simple devices are evaluated and stored. Equivalent to ".KEEP /allaci", but unlike .KEEP, .OPTIONS values can be defined on the Run command line.
ALLOWDIVZERO 0 Set to 1 to allow division by constant zero in arbitrary source expressions. The result of dividing by zero when enabled will be 1e30 for positive numbers, -1e30 for negative numbers and 0 for 0. If not enabled, a division by zero will lead to an error and the simulation will abort. This option only affects division by a constant value of zero and does not apply to circuit variables. For example $1/a$ where a is a parameter that is zero will return 1e30. Conversely $1/V(n1)$ when node n1 reaches zero is not affected by this option setting. This option is automatically set to 1 if the option PSPICECOMPATIBILITY is set to 1 or higher.
ANYVERSION false If true, version dependent models such as BSIM3 and BSIM4 will be unconditionally accepted even if an invalid version parameter is supplied.
BINDIAG false If enabled, a report about selection of binned models will be output to the list file. See Model Binning.
BINONTOTALWIDTH false For backward compatibility affecting BSIM4 models. Multi-fingered BSIM4 devices are binned according to width per finger. SIMetrix versions 5.3 and earlier binned according to total width. Set this option for version 5.3 behaviour.
BJTGMINMODE 0 Controls how GMIN is applied to the standard BJT device (SPICE Gummel-Poon model). Can be set to 0 or 1. When set to 0, GMIN application is compatible with SPICE and PSpice. When set to 1, GMIN is applied as simple terminal resistors across the BE and BC junctions and is compatible with Hspice
CHGTOL 1e-14 Units = Coulombs The absolute charge tolerance.
CONV 0 Set to a value from 0 to 8. See Iteration Modes for more information
CSHUNT 0 Units = Farads. Capacitance placed at all top level nodes to ground. If CSHUNTSUB specified, capacitance is placed at all nodes in the circuit. No capacitance is placed to nodes that already have a capacitor connected to ground. By placing a small capacitance at every node, some transient analysis convergence problems can be solved. A very small value such as 100fF can often be effective
CSHUNTSUB false Boolean. If specified CSHUNT places capacitance to all nodes, not just those at the top level. This should be used with care if used in circuits with subcircuit models obtained from third-party vendors. Some have very high impedance internal nodes and their behaviour can be adversely affected by even very small additional capacitance.
DCOPSEQUENCE gmin| source| pta Operating point strategy sequence order. See Controlling DC Method Sequence for details

Default value for MOSFET AD device parameter. Applies to levels 1-3 and level 49/53. Does not apply to level 8 or NXP MOS9 devices
DEFAS 0 Unit = m2

As DEFAD but for AS parameter
DEFL 100$\mu$ Unit = metres As DEFAD but for L parameter
DEFNRD 0 As DEFAD but for NRD parameter
DEFNRS 0 As DEFAD but for NRS parameter
DEFPD 0 Unit = metres As DEFAD but for PD parameter
DEFPS 0 Unit = metres As DEFAD but for PS parameter
DEFW 100$\mu$ Unit = metres As DEFAD but for W parameter
DEVACCT false If true, the simulator will measure load times for each device type during a simulator run. This information can be obtained using the GetDeviceStats() script function.
DIGMINTIME 1pS Unit = Seconds Minimum digital resolution. Not yet fully supported
DISABLESUBCKTMULTIPLIER false If true, the subcircuit multiplier parameter, M, will be disabled. See Subcircuit Instance.
DISCONTINUOUSIFSLEWRATE $\infty$ Sets slew rate of discontinuous conditional expressions. See IF() Function for more information.
DISCONTINUOUSIFSLEWRATE_I $\infty$ Slew rate for discontinuous current sources
DISCONTINUOUSIFSLEWRATE_V $\infty$ Slew rate for discontinuous voltage sources
EXPAND false The netlist with subcircuits expanded is output to the list file if this is specified.
EXPANDFILE Only applies if EXPAND also specified. Specifies a file instead of the list file to receive the expanded netlist.
FASTPOINTTOL 1.0 Value for POINTTOL used during 'Fast transient start'. See POINTTOL below.
FASTRELTOL 0.001 Value for RELTOL used during 'Fast transient start'.
FLUXTOL 1e-11 Unit = V.secs The absolute flux tolerance for inductors.
FORCETRANOPGROUP false Forces a separate data group to be created for transient analysis operating point data. This happens anyway if tstart>0. Use this option when simulating a large circuit and you wish to make extensive use of schematic bias annotation. See User's Manual/Graphs, Probes and Data Analysis/Viewing DC Operating Point Results for more details.
FULLEVENTREPORT false If true, the simulator will save all event information. When false, only major events are recorded. Events can be obtained from the GetSimulatorEvents() script function and can be useful for diagnosing failed runs.
GMIN 1e-12 Unit = Siemens (mhos) The minimum conductance allowed by the program. This has the effect of placing a resistor = 1/GMIN in parallel with every branch of the circuit.
GMINMAXITERS 1000 Maximum total number of iterations allowed for GMIN stepping operating point algorithm. See Source and GMIN Stepping for details.
GMINMULT 10 During GMIN stepping the value of GMIN is multiplied by a variable factor at each step. This option is the starting and maximum value of that factor.
GMINSTEPITERLIMIT 20 Iteration limit for each step in GMIN stepping. Increase to 100 for compatibility with SIMetrix 2.0x and earlier.
HSPICECOMPATIBILITY 0 Enables options to increase compatibility with Hspice. Equivalent to HSPICEMODELS=1 TEMP=25 TNOM=25 MCHSPICE
HSPICEMODELS 0 Set to 1 to map some device models to be compatible with Hspice
ICRES 1 Unit = ICRES. Initial condition resistive force. See .IC for details
INDUCTORLOSSTC 0 Applies a resistor across all inductors in the circuit with a value set to L/INDUCTORLOSSTC. Used to help convergence
INHIBITATTOISOURCE 0 For compatibility with PSpice. If set to 1, the 'atto' suffix when applied to current sources will be ignored. E.g.

I1 1 2 1A

will be interpreted as a 1 Amp source. With this option set to 0, the source will be 1 atto-Amp, i.e. 1e-18A. This option is automatically set to 1 by option setting PSICECOMPATIBILITY=1
INITCONDMODE 0 Sets behaviour of capacitors and inductors when given an initial condition parameter (IC).

May have these values:
 0 Berkeley SPICE compatible mode (default). IC parameter is ignored unless UIC is specified for transient analysis 1 SIMPLIS compatible mode. Forces hard initial condition 2 PSpice compatible mode. Forces soft initial condition

INVOMEGAMIN 1e-12 Minimum value of $1/(2.\pi.freq)$. Affects some devices in AC analysis when frequency is swept from zero.
ITL1 100 DC iteration limit used for initial DC operating point.
ITL2 50 DC iteration limit used for swept and multi-step analyses.
ITL4 10 Normal transient timepoint iteration limit. The behaviour of this parameter is slightly different in SIMetrix than other SPICE based simulators. See Convergence, Accuracy and Performance.
ITL7 40 Upper transient timepoint iteration limit. This is specific to SIMetrix.
KEEPALL false Keep data inside all subcircuits
KEEPALLACI false Enables saving current data for semiconductor devices in AC analysis
KEEPINTERNAL false Enables saving device internal data. (Signals internal to primitive devices, not subcircuits)
KEEPNOD false Disables saving digital data
KEEPNOI false Disables saving current data
KEEPNONE false Disables saving all data except items explicitly requested using .GRAPH or .KEEP
KEEPNOV false Disables saving voltage data
KEEPQUOTAFACTOR 1.0 Reduces data saved to a proportion of the total specified by eliminating on a priority basis
KEEPSUBCKTDEPTH -1 Keep data in subcircuits to defined depth
KEEPTOP false Save only the data at the top level. This is default behaviour but this option overrides KEEPALL if this is also specified
LOGICHIGH 2.2 Unit = Volts Upper threshold for logic inputs. Other comments as for LogicThreshHigh
LOGICLOW 2.1 Unit = Volts Lower threshold for logic inputs. Other comments as for LogicThreshHigh
LOGICTHRESHHIGH 5 Unit = Volts Output voltage for logic high level. Used for & | and ~ operators for arbitrary source. See Arbitrary Source for more details.
LOGICTHRESHLOW 0 Unit = Volts Output voltage for logic low level. Other comments as for LogicThreshHigh
LOGPARAMEXPRESSIONS false If true, a log of parameter expressions in use will be output to the list file
MAXEVTITER 0 (sets internal default) Maximum number of event driven passes allowed at each step. It is not usually necessary to change this value.
MAXOPALTER 0 (sets internal default) Maximum number of alternations between analog and event-driven iterations. It is not usually necessary to change this value
MAXORD 2 Maximum integration order. For METHOD=TRAP maximum value is 2. For METHOD=GEAR maximum value is 6. There is rarely any reason to change this value.
MAXVDELTAABS 0.5 with MAXVDELTAREL, sets a limit on the amount of change per timestep for each node. Inactive if MAXVDELTAREL less than or equal to zero. See Voltage Delta Limit for further details.
MAXVDELTAREL 0.0 See MAXVDELTAABS above.
MC_ABSOLUTE _RECT false If set Monte Carlo distribution will be rectangular for absolute tolerances. Otherwise the distribution will be Gaussian.
MC_MATCH _RECT false If set Monte Carlo distribution will be rectangular for matched tolerances. Otherwise the distribution will be Gaussian.
MCHSPICE false Boolean. Enables Hspice mode for Monte Carlo distribution functions. See Enabling Hspice Distribution Functions for further information
MCLOGFILE mclog.txt File name to receive Monte Carlo log. See Log File.
MCUSELINEARDISTRIBUTION false Use a linear distribution for default tolerances with Monte Carlo analysis. If using TOL or MATCH parameters the distribution used follows a logarithmic characteristic. Set this option to use a conventional linear distribution.
METHOD trap Numerical integration method. Either TRAP (default) or GEAR ". More info: See Integration Methods - METHOD option.
MINBREAK See notes Unit = Seconds Minimum time between transient analysis breakpoints. A breakpoint is a point in time when an analysis is forced regardless of whether it is required by the timestep selection algorithm. Typically they are set at known turning points such as the start and end of a rising pulse. If two breakpoints are closer than MINBREAK they are merged into one. (there are exceptions to this e.g if the two breakpoints were generated by a single rising edge). Increasing MINBREAK can sometimes help convergence and simulation speed. The default value is maximum-timestep*1e-7 or 1e-14 whichever is the larger.
MINGMINMULTIPLIER 1.000001 In GMIN stepping, the step size is multiplied by variable factor at each step. This step is reduced if convergence fails. If it is reduced below this value, the GMIN algorithm will abort and the next DC operating point strategy will be invoked.
MINLTETIME 0 Minimum time forced by LTE error control algorithm. Currently experimental
MINTIMESTEP 1e-9 * Max time step Unit = Seconds Minimum transient time step. Simulation will abort if it reaches this value. See .TRAN for value of Max time step.
MOSGMIN GMIN Value of GMIN used between drain and source of MOSFETs. See MOSFET GMIN Implementation.
MPNUMTHREADS 0 Sets number of threads (i.e. cores) to be used for simulation. The simulator will choose if set to zero (default value). See Using Multiple Cores for Single Step Runs.
NEWGMIN false Changes the implementation of GMIN for 'old' MOS devices i.e. LEVELs 1-3. When this option is set, GMIN is implemented as a conductance between source and drain. Otherwise two conductances are added between drain and bulk and source and bulk. See MOSFET GMIN Implementation.
NOCUR false Equivalent to ".KEEP /noi". Inhibits the saving of current data.
NODELIMIT 1e50 Unit = Volts Maximum value allowed for circuit node during iteration. If exceeded, iteration will abort. (This does not usually mean the analysis will abort). Reducing this value can sometime solve floating point exceptions or unexplained singular matrices.
NODESETRES 1.0 Unit = Ohms Driving resistance of nodeset force. See .NODESET for details.
NOECHO false Inhibits display of netlist in list file.
NOMCLOG false If specified, no Monte Carlo log file will be created. See Log File for details.
NOMOD false If specified, no model parameter report will be output to the list file.
NOMOS9GATENOISE false If specified, the drain induced gate noise model for MOS9 devices will be disabled. See NXP Compact Models.
NOOPALTER false If specified, only a single pass will be made to resolve the operating point for event driven devices.
NOOPINFO false Switches off creation of operating point info file for .OP analyses. See .OP for more details.
NOOPITER false Use GMIN stepping for DC operating point analysis first. (i.e skip normal iteration method)
NOSKIPPOINTS false The simulator will not output data points that have time steps that are below the resolution of the waveform viewer. This happens when $\delta t<t*2.2*10^{-16}$. Such points will show as having the same time value and can results in erroneous behaviour in measurement functions. Setting this option will disable skipping points so that all data is output. Note that a warning is written to the list file when data points are skipped.
NORAW false Output transient analysis values at intervals of tstep only. See .TRAN.
NOSENSFILE false Switches off creation of the sensitivity report. Sensitivity results may still be obtained from the data group created. See .SENS
NoStopOnUnknownParam See description Specifies action to be taken in the event of an unknown parameter being encountered in a .MODEL statement. Choices are:

TRUE: No action taken, simulation continues normally.

FALSE: An error will be raised and the simulation will abort.

WARN: A warning will be displayed but the simulation will continue.

The default value is set by a front end "Set" variable of the same name. This can be set using the menu File > Options > General... under Model Library tab. The "Set" variable default is WARN.

If running in non-GUI mode the default will be controlled by the entry in the config file. See Global Settings.
NOVOLT false Equivalent to ".KEEP /nov". Inhibits the saving of voltage data.
NOWARNINGS false Inhibits simulation warnings.
NUMDGT 10 Column width used for display of all values in list file and Monte Carlo log file. Minimum value is 8, maximum is 30. Note this value is column width not the number of significant digits.
OLDLIMIT false If set SPICE 2 MOS limiting algorithm is used. Affects MOS Level 2 and 3
OLDMOSGMIN 0 Value of conductance placed between drain-bulk and source-bulk for BSIM3 and BSIM4 devices. Also applies to LEVEL 1-3 and LEVEL 17 MOSFETs if NEWGMIN parameter is set. See MOSFET GMIN Implementation.
OLDMOSNOISE false MOS2 and BSIM3 devices return device noise in V2/Hz for SPICE3 and earlier versions of SIMetrix whereas other device's noise is returned in $\text{V}/\sqrt{\text{Hz}}$. From release 3 onwards all devices return noise in $\text{V}/\sqrt{\text{Hz}}$. Setting this option restores to behaviour of earlier versions.

OPENSENSTABLE
false If set, a sensitivity interactive table is automatically opened in the GUI after a sensitivity analysis has been performed.

OPENWCREPORT
false If set, a worst case HTML report is automatically opened in the GUI after a Worst-case analysis has been performed.

OPINFO
false If set DC operating point info file is created for all analyses (except .SENS). Normally it is created only for .OP analyses.
OPINFOFILE false Specify name of operating point info file. This is OP.TXT by default.
OPTIMISE 2 Controls expression optimiser. 0=off, 1=on for .FUNC defined expressions, 2=on always. See Optimisation.
PARAMLOG Given Control amount of detail for parameter log in list file.

Choices:
 None: no parameters listed Brief: only parameters specified using an expression are listed Given: parameters explicitly specified in the netlist are listed Full: all parameters are listed
PIVREL 1e-3 Tolerance for matrix pivot selection. This rarely needs to be altered. Reducing to 1e-4 can sometimes improve simulation speed a little but at higher risk of convergence failure. Setting this parameter to a high value e.g, 0.99 can sometimes fix convergence problems but may slow down the simulation. Valid values lie between 0 and 1.
PIVTOL 1e-13 Only effective when SPSOLVER=KSPARSE

This affects the matrix solution and rarely needs to be altered. It is the absolute minimum value for a matrix entry to be accepted as a pivot. Unexplained singular matrix errors can sometimes be overcome by lowering this value. (But note that singular matrix errors are usually caused by errors in the circuit such as floating nodes or shorted voltage sources).
POINTTOL 0.001 A factor used to control the extent to which the maximum value attained by a signal is used to control its tolerance. This is new from release 4; set it to zero for pre release 4 behaviour. Increasing this value will speed up the simulation at the expense of precision. See Accuracy and Integration Methods.
PSPICECOMPATIBILITY 0 Sets some option settings to values compatible with PSpice. Can be set to 0, 1 or 2. If set to 1, these options are set

INHIBITATTOISOURCE=1

ALLOWDIVZERO=1

ICRES=0.001

INITCONDMODE=2

If set to 2 the option

SPICEMOSCHARGEMODEL=1

is also set in addition to the above

PTAACCEPTAT
0 If > 0, specifies a time when pseudo transient analysis results will be accepted unconditionally. This is useful when a circuit comes close to convergence during pseudo transient, but doesn't quite make it due to an oscillation. See Pseudo Transient Analysis.
PTACONFIG 0 Integer from 0 to 15 sets internal parameters for pseudo transient algorithm used to find DC operating point. See Pseudo Transient Analysis.
PTADCITERS 10 The number of DC iterations attempted during a pseudo transient analysis (PTA)
PTADELMIN 1e-15 Minimum time step used for pseudo transient analysis
PTAMAXITERS 20000 Maximum total number of iterations allowed for pseudo transient algorithm used to find DC operating point. See Pseudo Transient Analysis.
PTAOUTPUTVECS false If specified, signal vectors will be output during pseudo transient analysis. This may be used to diagnose a failure. See Pseudo Transient Analysis.
RELTOL 0.001 This is the relative tolerance that must be met for each analysis point. Reducing this number will improve accuracy at the expense of simulation time or/and convergence reliability. Simulation results can not be relied upon if its value is increased beyond 0.01. A more detailed discussion is given in Accuracy and Integration Methods.
RESTHRESH 1e-6 Resistance threshold. If a resistor is specified that is below this value, SIMetrix will use a voltage based implementation (V=IR) instead of the conventional current based implementation (V=I/R). Voltage based resistors are slightly less efficient but allow R=0 without numerical overflow
RSHUNT $\infty$ If specified a resistor of the specified value is placed from every node to ground. Excludes nodes that already have a resistance connected to ground. Also excludes nodes internal to primitive devices - e.g. nodes inside diodes and transistors to implement terminal resistors.
RSHUNT_COMPAT false If specified, RSHUNT is also applied to internal nodes and nodes that already have a resistance connected to ground
RSHUNT_NOSUB false If specified RSHUNT is only applied at the top level - that is no resistor is connected to nodes inside a sub-circuit
RTNSEED 0 Seed used for real time noise
SEED 0 Integer value. If non-falsezero will be used to initialise random number generator used for Monte Carlo analysis distribution functions. See Seeding the Random Number Generator.
SENSFILE If specified, sensitivity analysis results are written to this file instead of the list file. See .SENS
SENSUSEEXPFORMAT false Number format for sensitivity analysis report. If true, numbers are displayed in exponential format, otherwise numbers are in engineering format. See .SENS
SNAPSHOTFILE Specifies file name used to save snapshot data. Defaults to netlist name with .sxsnp extension. See Snapshots
SOADERATING 1.0 Scales min and max values used in .SETSOA specification. This allows a de-rating policy to be globally applied to SOA limits.
SOAEND $\infty$ Specifies end time point for SOA. Use with SOASTART.
SOAMODE false Controls the Safe Operating Area (SOA) test mode. See .SETSOA for details on how to define a SOA test.

Can set to:
 Off SOA testing is not enabled. In this mode .SETSOA statements will be read in and any errors reported, but no SOA testing will be performed during the run. Summary SOA testing enabled and results given in summary form with only the first violation for each expression given being output. Full SOA testing enabled with full results given. Every violation will be reported in this mode.
SOAOUTPUT list Can be:
 msg Results displayed in command shell message window, or console if run in "non-GUI" mode. list Results output to list file. msg|list Results output to both list file and command shell message window. none Results not output to either list file or message window.

Note that all results are always stored for retrieval using the script function GetSOAResults. So even if "none" is specified the SOA data is always available.
SOASTART 0.0 Specifies start time for SOA. Use with SOAEND
SOAWRITEDEFS false If specified, SOA definitions are written to the list file
SOURCEMAXITERS 1000 Maximum total number of iterations permitted for source stepping algorithm. Set to zero to disable limit
SPICEMOSCHARGEMODEL 0 Selects gate charge model used for MOS Level 1, 2 and 3. 0: Meyer capacitance model, 1: Yang-Chatterjee charge conserving model. The Yang-Chatterjee model is compatible with PSpice
SPSOLVER KLU Can be KLU or KSPARSE. Sets choice of matrix solver. See Matrix Solver.
TEMP 27 Unit = $°$C Operating temperature of circuit. Note this value can be overridden locally for some devices. You can also use .TEMP for this.
TIMESTATS false Equivalent to ACCT
TNOM 27 Unit = $°$C Temperature at which model parameters are defined. This can be overridden in the model statement.
TRTOL 7 This only affects transient analysis. It is a relative value that is used to determine an acceptable value for the 'local truncation error' before an analysis point is accepted. Reducing this value cause the simulator to model the effects of energy storage elements more accurately at the expense of simulation time. See Accuracy and Integration Methods.
TRYTOCOMPACT false Forces compaction of data for lossy transmission lines. This speeds up simulation at the expense of accuracy. Note this option applies to the native lossy transmission line and not the subcircuit based lossy line model implemented using the Laplace device
VERILOGDISABLEINTERNALVECTORS false If set, no data for Verilog internal connections will be generated. See Data Vector Output.
VERILOGDISABLEMODULECACHE false Disable cache of module information. See Module Cache for further details
VERILOGPORTPREFIX VSX\$_ Connection names within the SIMetrix-created top-level module have this prefix.
VERILOGRESOLUTION 1e-15 Timing resolution for Verilog simulations. This is the smallest time that can be resolved. The largest time is this value multiplied by $2^{64}$.
VERILOGROOTFILE vsx_root.v SIMetrix creates the Verilog top-level module for each run and stores it in a file with this name
VERILOGROOTMODULE vsx_root Name given to Verilog top-level module created by SIMetrix
VERILOGSIMULATOR Verilog simulator used for mixed-signal Verilog-HDL simulation. Name specified references a section in the VerilogHDL.ini file. With the default configuration, this may be:

CVER - GPL Cver simulator

Icarus - Icarus Verilog simulator
VERILOGUSECONSOLE false If set, a console window will be created for the Verilog simulator. Any output messages emitted by the Verilog simulator will be output to this console.
VNTOL 1$\mu$ Unit = V The absolute voltage error tolerance. Circuits with large voltages present (>100) may benefit from an increase in this value. See Accuracy and Integration Methods.
WIDTH 80 Number of columns used for list file output. This may be set to any reasonable value and not limited to the choice of 80 or 132 as with SPICE2
WIRETABLE none Define file containing wire table used for the digital simulator's wire delay. See Wire Delay.

WRITEMCLOGHTML
false If set, a Monte Carlo log file is automatically generated after a Monte Carlo analysis is performed

WRITESENSHTML
false If set, a sensitivity report HTML file is automatically generated after a Sensitivity analysis is performed

WRITEWCHTML
false If set, a worst-case HTML report file is automatically generated after a worst-case analysis is performed