2.31  OPTIONS command

2.31.1  Syntax

options
options option-name value ...

2.31.2  Purpose

Sets options, iteration parameters, global data.

2.31.3  Comments

Typical usage is the name of the item to set followed by the value.

The bare command `options' displays the values.

These options control the simulation by specifying how to handle marginal circumstances, how long to wait for convergence, etc.

Most of the SPICE options are supported, more have been added.

2.31.4  Parameters



acct
Turns on accounting. When enabled, print the CPU time used after each command, and a summary on exit in batch more. This does not affect accounting done by the status command.

noacct
Turns off accounting. (Not in SPICE.)

list
Turns on echo of files read by get and merge commands, and in batch mode. (SPICE option accepted but not implemented.)

nolist
Turns off list option. (Not in SPICE.)

mod
Enable printout of model parameters. (Accepted, but not implemented, to complement nomod.)

nomod
Suppress printout of model parameters. (SPICE option accepted but not implemented.)

page
Enable page ejects at the beginning of simulation runs. (Accepted, but not implemented, to complement nopage.)

nopage
Turn off page ejects. (SPICE option accepted but not implemented.)

node
Enable printing of the node table. (SPICE option accepted but not implemented.)

nonode
Disable printing of the node table. (Accepted, but not implemented, to complement NODE.)

opts
Enable printing of option values on every options command.

noopts
Disable automatic printing of option values. Option values are only printed on a null options command.

gmin = x
Minimum conductance allowed by the program. (Default = 1e-12 or 1 picomho.) Every node must have a net minimum conductance of GMIN to ground. If effective open circuits are found during the solution process (leading to a singular matrix) a conductance of GMIN is forced to ground, after printing an "open circuit" error message.

reltol = x
Relative error tolerance allowed. (Default =.001 or .1%.) If the ratio of successive values in iteration are within RELTOL of one, this value is considered to have converged.

abstol = x
Absolute error tolerance allowed. (Default = 1e-12) If successive values in iteration are within ABSTOL of each other, this value is considered to have converged.

vntol = x
Absolute voltage error required to force model re-evaluation. (Default = 1e-12 or 1 microvolt.) If the voltage at the terminals of a model is within VNTOL of the previous iteration, the model is not re-evaluated. The old values are used directly.

trtol = x
Transient error “tolerance”. (Default = 7.) This parameter is an estimate of the factor by which the program overestimates the actual truncation error.

chgtol = x
Charge tolerance. (Default = 1e-14) It is used in step size control in transient analysis.

pivtol = x
Pivot tolerance. (Default = 1e-13) SPICE option accepted but not implemented.

pivrel = x
Pivot ratio. (Default = 1e-3) SPICE option accepted but not implemented.

numdgt = x
Number of significant digits to print for analysis results. (Default = 5.) It is silently limited to 3 to 20.

tnom = x
Nominal temperature. (Default = 27 C.) All components have their nominal value at this temperature.

itl1 = x
DC iteration limit. (Default = 100.) Sets the maximum number of iterations in a DC, OP, or initial transient analysis allowed before stopping and reporting that it did not converge.

itl2 = x
DC transfer curve iteration limit. (Default = 50.) SPICE option accepted but not implemented. Use itl1 instead.

itl3 = x
Lower transient iteration limit. (Default = 6.) If the number of iterations is more than itl3 the step size is limited by trstephold. Otherwise, it can grow by trstepgrow.

itl4 = x
Upper transient iteration limit. (Default = 20.) Sets the maximum number of iterations on a step in transient analysis. If the circuit fails to converge in this many iterations the step size is reduced (by option trstepshrink), time is backed up, and the calculation is repeated.

itl5 = x
Transient analysis total iteration limit. (Default = 5000.) SPICE option accepted but not implemented. Actual behavior is the same as itl5 = 0, in SPICE, which omits this test.

itl6 = x
Source stepping iteration limit. (Default = 0.) SPICE option accepted but not implemented. Source stepping is not available.

itl7 = x
Worst case analysis iteration limit. (Default = 1.) Sets the maximum number of iterations for the individual element trials in a DC or bias worst case analysis. If more iterations than this are necessary, the program silently goes on to the next step, as if nothing was wrong, which is usually the case.

itl8 = x
Convergence diagnostic iteration threshold. (Default = 100.) If the iteration count on a step exceeds itl8 diagnostic messages are printed in an attempt to aid the user in solving the convergence problem.

cptime = x
Total CPU job time limit. (Default = 30000.) SPICE option accepted but not implemented. There is no limit imposed.

limtim = x
CPU time reserved for plotting. (Default = 2.) SPICE option accepted but not implemented.

limpts = x
Max number of points printed. (Default = 201.) SPICE option accepted but not implemented.

lvlcod = x
Matrix solution and allocation method. (Default = 2, generate machine language.) SPICE option not implemented.

lvltim = x
Time step control method. (Default = 2, truncation error.) SPICE option not implemented.

method = x
Differentiation method. (Default = TRAPezoidal.) (Incorrectly called “integration” method in SPICE.) Possible values are:
euler
backward Euler, unless forced to other
euleronly
backward Euler only
trap
usually trap, but Euler where better
traponly
always trapezoid
defl = x
MOSFET default channel length in meters. (Default = 100u.)

defw = x
MOSFET default channel width in meters. (Default = 100u.)

defad = x
MOSFET default drain diffusion area in square meters. (Default = 0.)

defas = x
MOSFET default source diffusion area in square meters. (Default = 0.)

dampmax = x
Normal Newton damping factor. (Default = 1.) Sets the damping factor for iteration by damped Newton's method, used when all is well. It must be between 0 and 1, as close to 1 as possible and still achieve convergence. The useful range is from .9 to 1. Setting dampmax too low will probably cause convergence to a nonsense result.

dampmin = x
Newton damping factor in problem cases. (Default = .5) Sets the damping factor for iteration by damped Newton's method, used when there are problems. It must be between 0 and 1, and is usually set somewhat less than dampmax. The useful range is from .5 to .9. Setting it lower than .5 may cause convergence to a nonsense result. Aside from that, a lower value (but less than dampmax) tends to improve robustness at the expense of convergence speed.

dampstrategy = x
Damping strategy. (Default = 0) The actual damping factor to use is determined by heuristics. Normally the damping factor is dampmax. It is reduced to dampmin when certain conditions occur, then it drifts back up on subsequent iterations. This parameter turns the various heuristics on or off. The number to use is the sum of the following flags.
1 the second iteration on any voltage or time step. (usually helps robustness, but always increases iteration count.)

2 if the voltage at any nonlinear node exceeds the range determined by vmin, vmax, and limit. (usually not desirable.)

4 if any device limiting algorithm is activated. (usually not desirable.)

10 when any device crosses a region boundary. (usually desirable and has little cost.)

20 when a FET or BJT is reversed. (usually helps robustness. sometimes increases iteration count.)
floor = x
Effective zero value. (Default = 1e-21) Results values less than floor are shown as zero. Other small numbers are rounded to the nearest floor.

vfloor = x
Effective zero value for voltage probes. (Default = 1e-15) Results values less than vfloor are shown as zero. Other small numbers are rounded to the nearest vfloor.

roundofftol = x
Numeric rounding tolerance. (Default = 1e-13) Some internal calculations can result in cancellations, with a result near zero even though the operands are large. The number is converted to zero if it is less than roundofftol*theoperand.

temperature = x
Simulation temperature. (Default = 27 C.) Sets the ambient temperature, in degrees Celsius. This is the temperature at which the simulation takes place, unless changed by some other command.

short = x
Resistance of voltage source or short. (Default = 1e-7 or 10 μΩ.) Sets the default resistance of voltage sources. In some cases, inductors are replaced by resistors, if so, this is the value. It is also the resistance used to replace short circuits anywhere they are not allowed and the program finds one.

in = x
Input width. (Default = 80.) Sets the last column read from each line of input. Columns past this are ignored. This option is present only for SPICE compatibility, through the width command, which is an alias for options.

out = x
Output width. (Default = 80.) Sets the output print width, for tables and character graphics.

ydivisions = x
Y axis divisions. (Default = 4) Sets the number of divisions on the Y axis for plotting.

phase = x
Phase units. (Default = degrees) Valid values are degrees and radians. Selects which units are used for printing phase in AC analysis.

order = x
Equation ordering. (Default = auto.) Determines how external node numbers are mapped to internal numbers. The values are forward, reverse, and auto.

mode = x
Simulation mode selection. (Default = mixed.) Values are analog, digital, and mixed. In analog mode, logic elements (type U) are replaced by their subcircuits as if they were type X. In digital mode, logic elements are simulated as digital regardless of whether the signals are proper or not, as in traditional mixed-mode simulation. In mixed mode, logic elements may be simulated as analog or digital depending on the signals present.

transits = x
Mixed mode transition count. (Default = 2) Sets the number of “good” transitions for a supposedly digital signal to be accepted as digital.

bypass
Bypass model evaluation if appropriate. If the last two iterations indicate that an element is converged or dormant, do not evaluate it but use its old values directly. (Default)

nobypass
Do not bypass model evaluation.

incmode
Incrementally update the matrix. Instead of rebuilding the matrix on every iteration, keep as much of the old matrix as possible and make incremental changes. (Default)

noincmode
Do not incrementally update the matrix. This eliminates a possible cause of roundoff error at the expense of a slower simulation.

lcbypass
Bypass evaluation of linear inductors and capacitors when possible. When set, they are evaluated only on the first iteration of a time step. (Default)

nolcbypass
Do not bypass linear capacitor and inductors. Evaluate on every iteration.

lubypass
Bypass parts of LU decomposition if appropriate. If only a few elements of the matrix were changed solve only those parts of the LU matrix that depend on them. (Default)

nolubypass
Do not bypass parts of LU decomposition. Solve the entire LU matrix whenever a matrix solution is called for regardless of whether it is actually needed.

fbbypass
Skip matrix solution the last iteration. In theory, it reduces accuracy slightly, but specified tolerances will still be met. Time saving can be significant. (Default)

nofbbypass
Do not skip the matrix solution on the last iteration.

traceload
Use a queue to only load changed elements to the matrix. This results in faster loading and has no known drawbacks. (Default)

notraceload
Do not use a queue to only load changed elements to the matrix. Instead, load all elements, even if they are unchanged or zero. This is always slower, and is forced if "noincmode".

itermin = x
Number of extra iterations after convergence. (Default = 1) After convergence tolerances are met, do itermin extra iterations to be sure. This provides protection against false indication of convergence. Setting itermin = 0 is equivalent to SPICE, with improved simulation speed.

vmin = x
Initial negative node voltage limit. (Default = -5) All node voltages may be limited to −x to aid in convergence and prevent numeric overflow. This is intended as a convergence aid only. It may or may not help. This number is used as a starting point. It is adjusted as the simulation progresses.

vmax = x
Initial positive node voltage limit. (Default = 5) All node voltages may be limited to +x to aid in convergence and prevent numeric overflow. This is intended as a convergence aid only. It may or may not help. This number is used as a starting point. It is adjusted as the simulation progresses.

dtmin = x
Minimum time step. (Default = 1e-12.) The smallest internal time step in transient analysis. The transient command dtmin option and the dtratio option override it if it is bigger.

dtratio = x
The ratio between minimum and maximum time step. (Default = 1e9).

rstray
Include series resistance in device models. This creates internal nodes and results in a significant speed and memory penalty. It also makes convergence characteristics worse. (Default = true)

norstray
Do not include series resistance in device models. This results in faster simulations and better numerical accuracy at the expense of model accuracy. Differences between rstray and norstray have been observed to be insignificant most of the time. Some popular commercial versions of SPICE do not implement series resistance at all, so norstray may be more consistent with other simulators.

cstray
Include capacitance in device models. This may create internal nodes and result in a significant speed and memory penalty. It also may make convergence characteristics worse. (Default)

nocstray
Do not include capacitance in device models. This results in faster simulations and better numerical accuracy at the expense of model accuracy. Differences between cstray and nocstray are usually significant, since often the strays are the dominant reactive elements.

harmonics = x
Harmonics in Fourier analysis. (Default = 9) The number of harmonics to display in a Fourier analysis, unless specified otherwise.

trstepgrow = x
The maximum internal step size growth in transient analysis. Default = 1e99, which allows arbitrary changes in step size.

trstephold = x
The maximum internal step size growth in transient analysis, when the iteration count exceeds itl3 but still converges. (Default = 1e99)

trstepshrink = x
The amount to decrease the transient step size by when convergence fails. (Default = 2.)

trreject = x
Transient error rejection threshold. (Default = .5) Controls how bad the truncation error must be to reject a time step. A value of .5 means that if the step reqested is smaller than .5 times the step size used, the current step will be rejected. If the new step is .8 times the old step size it will be adjusted but the step just calculated will not be rejected.

quitconvfail
Quit on convergence failure in transient analysis. Do not adjust time step, just stop. (Default = false)

noquitconvfail
Do not quit on convergence failure in transient analysis. Instead, try to adjust time step and try again. If even the smallest time step still fails, conntinue simulating and accept the bad step. (Default)

recursion = x
Limit recursion in expresion evaluation to x levels. (Default = 20) The purpose is to trap infinite recursion in user expressions.

edit
Enable command line editing. (Default)

noedit
Disable command line editing.

2.31.5  Examples

options
Display the present settings.

options itl1=50
Allows 50 iterations in a dc or op analysis.