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.