Analysis options
AC ANALYSIS:
General form: .ac [curve] [points] [start] [final]
Example 1: .ac lin 1 1000 1000
Comments: The [curve] field can be "lin"
(linear), "dec" (decade), or "oct" (octave), specifying the
(non)linearity of the frequency sweep.
specifies how many points within the frequency
sweep to perform analyses at (for decade sweep, the number
of points per decade; for octave, the number of points per
octave). The [start] and [final] fields specify the starting
and ending frequencies of the sweep, respectively. One final
note: the "start" value cannot be zero!
DC ANALYSIS:
General form: .dc [source] [start] [final] [increment]
Example 1: .dc vin 1.5 15 0.5
Comments: The .dc card is necessary
if you want to print or plot any voltage between two nonzero
nodes. Otherwise, the default "small-signal" analysis only
prints out the voltage between each nonzero node and node
zero.
TRANSIENT ANALYSIS:
General form: .tran [increment] [stop_time] [start_time]
+ [comp_interval]
Example 1: .tran 1m 50m uic
Example 2: .tran .5m 32m 0 .01m
Comments: Example 1 has an increment
time of 1 millisecond and a stop time of 50 milliseconds
(when only two parameters are specified, they are
increment time and stop time, respectively).
Example 2 has an increment time of 0.5 milliseconds, a stop
time of 32 milliseconds, a start time of 0 milliseconds (no
delay on start), and a computation interval of 0.01
milliseconds.
Default value for start time is zero.
Transient analysis always beings at time zero, but
storage of data only takes place between start time and stop
time. Data output interval is increment time, or (stop time
- start time)/50, which ever is smallest. However, the
computing interval variable can be used to force a
computational interval smaller than either. For large total
interval counts, the itl5 variable in the
.options card may be set to a higher number. The "uic"
option tells SPICE to "use initial conditions."
PLOT OUTPUT:
General form: .plot [type] [output1] [output2] . . . [output n]
Example 1: .plot dc v(1,2) i(v2)
Example 2: .plot ac v(3,4) vp(3,4) i(v1) ip(v1)
Example 3: .plot tran v(4,5) i(v2)
Comments: SPICE can't handle more
than eight data point requests on a single .plot or
.print card. If requesting more than eight data
points, use multiple cards!
Also, here's a major caveat when using SPICE
version 3: if you're performing AC analysis and you ask
SPICE to plot an AC voltage as in example #2, the v(3,4)
command will only output the real component of a
rectangular-form complex number! SPICE version 2 outputs the
polar magnitude of a complex number: a much more
meaningful quantity if only a single quantity is asked for.
To coerce SPICE3 to give you polar magnitude, you will have
to re-write the .print or .plot argument
as such: vm(3,4).
PRINT OUTPUT:
General form: .print [type] [output1] [output2] . . . [output n]
Example 1: .print dc v(1,2) i(v2)
Example 2: .print ac v(2,4) i(vinput) vp(2,3)
Example 3: .print tran v(4,5) i(v2)
Comments: SPICE can't handle more
than eight data point requests on a single .plot or
.print card. If requesting more than eight data
points, use multiple cards!
FOURIER ANALYSIS:
General form: .four [freq] [output1] [output2] . . . [output n]
Example 1: .four 60 v(1,2)
Comments: The .four card
relies on the .tran card being present somewhere in
the deck, with the proper time periods for analysis of
adequate cycles. Also, SPICE may "crash" if a .plot
analysis isn't done along with the .four analysis,
even if all .tran parameters are technically
correct. Finally, the .four analysis option only
works when the frequency of the AC source is specified in
that source's card line, and not in an .ac
analysis option line.
It helps to include a computation interval
variable in the .tran card for better analysis
precision. A Fourier analysis of the voltage or current
specified is performed up to the 9th harmonic, with the
[freq] specification being the fundamental, or starting
frequency of the analysis spectrum.
MISCELLANEOUS:
General form: .options [option1] [option2]
Example 1: .options limpts=500
Example 2: .options itl5=0
Example 3: .options method=gear
Example 4: .options list
Example 5: .options nopage
Example 6: .options numdgt=6
Comments: There are lots of options
that can be specified using this card. Perhaps the one most
needed by beginning users of SPICE is the "limpts"
setting. When running a simulation that requires more than
201 points to be printed or plotted, this calculation point
limit must be increased or else SPICE will terminate
analysis. The example given above (limpts=500)
tells SPICE to allocate enough memory to handle at least 500
calculation points in whatever type of analysis is specified
(DC, AC, or transient).
In example 2, we see an iteration
variable (itl5) being set to a value of 0. There
are actually six different iteration variables available for
user manipulation. They control the iteration cycle limits
for solution of nonlinear equations. The variable itl5
sets the maximum number of iterations for a transient
analysis. Similar to the limpts variable, itl5
usually needs to be set when a small computation interval
has been specified on a .tran card. Setting
itl5 to a value of 0 turns off the limit entirely,
allowing the computer infinite iteration cycles (infinite
time) to compute the analysis. Warning: this may result
in long simulation times!
Example 3 with "method=gear" sets
the numerical integration method used by SPICE. The default
is "trapezoid" rather than "gear," trapezoid being a simple
geometric approximation of area under a curve found by
slicing up the curve into trapezoids to approximate the
shape. The "gear" method is based on second-order or better
polynomial equations and is named after C.W. Gear (Numerical
Integration of Stiff Ordinary Equations, Report 221,
Department of Computer Science, University of Illinois,
Urbana). The Gear method of integration is more demanding of
the computer (computationally "expensive") and will
sometimes give slightly different results from the trapezoid
method.
The "list" option shown in example
4 gives a verbose summary of all circuit components and
their respective values in the final output.
By default, SPICE will insert ASCII
page-break control codes in the output to separate different
sections of the analysis. Specifying the "nopage"
option (example 5) will prevent such pagination.
The "numdgt" option shown in
example 6 specifies the number of significant digits output
when using one of the ".print" data output options.
SPICE defaults at a precision of 4 significant digits.
WIDTH CONTROL:
General form: .width in=[columns] out=[columns]
Example 1: .width out=80
Comments: The .width card
can be used to control the width of text output lines upon
analysis. This is especially handy when plotting graphs with
the .plot card. The default value is 120, which can
cause problems on 80-character terminal displays unless set
to 80 with this command. |