Options which control the operation of the simulator can be entered in the WRspice input file following the .options keyword. There are a number of variables which control simulation, many familiar from SPICE2, listed below. Any variable can be set on the .options line, and is similar to setting the variable from the shell with the set command, however the variables set from the .options line are active only when the circuit is the current circuit. The variables set in the .options line are set before variable expansion is performed on the rest of the circuit text, so that global shell variables may be set in the .options line. The .options line is itself expanded before it is parsed, and after execution of the .exec lines (see 2.10.1).
The options which control simulation can also be entered from the keyboard by using the WRspice set command, or equivalently from the graphical tools available from the Tools menu of the Tool Control window (described in 3.4). Before a simulation starts, these options will be merged with the options from the .options line, unless the noshellopts variable is set from the shell. The result of the merge is that options that are booleans will be set if set in either case, and those that take values will assume the value set through the shell if conflicting definitions are given. The merge will be suppressed if the shell variable noshellopts is set, in which case the only options used will be those from the .options line, and any shell redefinitions will be ignored.
In general, variables set in the .options line are available for expansion in $variable references, but do not otherwise affect the workings of the shell (see 3.12). Variables set from a .options line are indicated with a ``+'' in the listing provided from the set command given with no arguments, or in the Variables tool from the Tools menu in the Tool Control window.
The .options line allows the user to reset program control and user options for specific simulation purposes. Any combination of options and arbitrary variables may be included, in any order.
Although any variable can be set from a .options line, the variables listed below are most likely to appear in that context due to SPICE2/3 history. The 'x' (below) represents some positive number.
option | effect | |
---|---|---|
abstol=x | Resets the absolute current error tolerance of the program. The default value is 1 picoamp. | |
acct | Print accounting information in batch output. | |
chgtol=x | Resets the charge tolerance of the program. The default value is 1.0e-14. | |
defl=x | Resets the value for MOS channel length; the default is 100.0 micrometer. | |
defw=x | Resets the value for MOS channel width; the default is 100.0 micrometer. | |
defad=x | Resets the value for MOS drain diffusion area; the default is 0.0. | |
defas=x | Resets the value for MOS source diffusion area; the default is 0.0. | |
gmin=x | Resets the value of gmin, the minimum conductance allowed by the program. The default value is 1.0e-12. | |
itl1=x | Resets the dc iteration limit. The default is 400. | |
itl2=x | Resets the dc transfer curve iteration limit. The default is 100. | |
itl4=x | Resets the transient timepoint iteration limit. The default is 10. | |
list | Print a listing of the input file in batch output. | |
node | Print a tabulation of the operating point node voltages in batch output. | |
opts | Print a summary of the specified options in batch output. | |
pivrel=x | Resets the relative ratio between the largest column entry and an acceptable pivot value. The default value is 1.0e-3. In the numerical pivoting algorithm the allowed minimum pivot value is determined by epsrel = max(pivrel*maxval, pivtol ) where maxval is the maximum element in the column where a pivot is sought (partial pivoting). | |
pivtol=x | Resets the absolute minimum value for a matrix entry to be accepted as a pivot. The default value is 1.0e-13. | |
reltol=x | Resets the relative error tolerance of the program. The default value is 0.001 (0.1 percent). | |
tnom=x | Resets the nominal temperature. The default value is 27C (300K). | |
trtol=x | Resets the transient error tolerance. The default value is 7.0. This parameter is an estimate of the factor by which WRspice overestimates the actual truncation error. | |
vntol=x | Resets the absolute voltage error tolerance of the program. The default value is 1 microvolt. |