- Parent Directory -
SPICE is a general-purpose circuit simulation program
for nonlinear dc, nonlinear transient, and linear ac analyses. Circuits
may contain resistors, capacitors, inductors, mutual inductors, independent
voltage and current sources, four types of dependent sources, lossless
and lossy transmission lines (two separate implementations), switches,
uniform distributed RC lines, and the five most common semiconductor devices:
diodes, BJTs, JFETs, MESFETs, and MOSFETs.
The SPICE3 version is based directly on SPICE 2G.6. While SPICE3 is
being developed to include new features, it continues to support those
capabilities and models which remain in extensive use in the SPICE2 program.
SPICE has built-in models for the semiconductor devices, and the user
need specify only the pertinent model parameter values. The model for the
BJT is based on the integral-charge model of Gummel and Poon; however,
if the Gummel- Poon parameters are not specified, the model reduces to
the simpler Ebers-Moll model. In either case, charge-storage effects, ohmic
resistances, and a current-dependent output conductance may be included.
The diode model can be used for either junction diodes or Schottky barrier
diodes. The JFET model is based on the FET model of Shichman and Hodges.
Six MOSFET models are implemented: MOS1 is described by a square-law I-V
characteristic, MOS2  is an analytical model, while MOS3  is a semi-empirical
model; MOS6  is a simple analytic model accurate in the short-channel
region; MOS4 [3, 4] and MOS5  are the BSIM (Berkeley Short-channel IGFET
Model) and BSIM2. MOS2, MOS3, and MOS4 include second-order effects such
as channel-length modulation, subthreshold conduction, scattering-limited
velocity saturation, small-size effects, and charge-controlled capacitances.
TYPES OF ANALYSIS
The dc analysis portion of SPICE determines the dc operating point of the
circuit with inductors shorted and capacitors opened. The dc analysis options
are specified on the .DC, .TF, and .OP control lines. A dc analysis is
automatically performed prior to a transient analysis to determine the
transient initial conditions, and prior to an ac small-signal analysis
to determine the linearized, small-signal models for nonlinear devices.
If requested, the dc small-signal value of a transfer function (ratio of
output variable to input source), input resistance, and output resistance
is also computed as a part of the dc solution. The dc analysis can also
be used to generate dc transfer curves: a specified independent voltage
or current source is stepped over a user-specified range and the dc output
variables are stored for each sequential source value.
AC Small-Signal Analysis
The ac small-signal portion of SPICE computes the ac output variables as
a function of frequency. The program first computes the dc operating point
of the circuit and determines linearized, small-signal models for all of
the nonlinear devices in the circuit. The resultant linear circuit is then
analyzed over a user-specified range of frequencies. The desired output
of an ac small- signal analysis is usually a transfer function (voltage
gain, transimpedance, etc). If the circuit has only one ac input, it is
convenient to set that input to unity and zero phase, so that output variables
have the same value as the transfer function of the output variable with
respect to the input.
The transient analysis portion of SPICE computes the transient output variables
as a function of time over a user-specified time interval. The initial
conditions are automatically determined by a dc analysis. All sources which
are not time dependent (for example, power supplies) are set to their dc
value. The transient time interval is specified on a .TRAN control line.
The pole-zero analysis portion of SPICE computes the poles and/or zeros
in the small-signal ac transfer function. The program first computes the
dc operating point and then determines the linearized, small-signal models
for all the nonlinear devices in the circuit. This circuit is then used
to find the poles and zeros of the transfer function.
Two types of transfer functions are allowed : one of the form (output
voltage)/(input voltage) and the other of the form (output voltage)/(input
current). These two types of transfer functions cover all the cases and
one can find the poles/zeros of functions like input/output impedance and
voltage gain. The input and output ports are specified as two pairs of
The pole-zero analysis works with resistors, capacitors, inductors,
linear-controlled sources, independent sources, BJTs, MOSFETs, JFETs and
diodes. Transmission lines are not supported.
The method used in the analysis is a sub-optimal numerical search. For
large circuits it may take a considerable time or fail to find all poles
and zeros. For some circuits, the method becomes "lost" and finds an excessive
number of poles or zeros.
Small-Signal Distortion Analysis
The distortion analysis portion of SPICE computes steady-state harmonic
and intermodulation products for small input signal magnitudes. If signals
of a single frequency are specified as the input to the circuit, the complex
values of the second and third harmonics are determined at every point
in the circuit. If there are signals of two frequencies input to the circuit,
the analysis finds out the complex values of the circuit variables at the
sum and difference of the input frequencies, and at the difference of the
smaller frequency from the second harmonic of the larger frequency.
Distortion analysis is supported for the following nonlinear devices:
diodes (DIO), BJT, JFET, MOSFETs (levels 1, 2, 3, 4/BSIM1, 5/BSIM2, and
6) and MESFETS. All linear devices are automatically supported by distortion
analysis. If there are switches present in the circuit, the analysis continues
to be accurate provided the switches do not change state under the small
excitations used for distortion calculations.
Spice3 will calculate either the DC operating-point sensitivity or the
AC small-signal sensitivity of an output variable with respect to all circuit
variables, including model parameters. Spice calculates the difference
in an output variable (either a node voltage or a branch current) by perturbing
each parameter of each device independently. Since the method is a numerical
approximation, the results may demonstrate second order affects in highly
sensitive parameters, or may fail to show very low but non-zero sensitivity.
Further, since each variable is perturb by a small fraction of its value,
zero-valued parameters are not analyized (this has the benefit of reducing
what is usually a very large amount of data).
The noise analysis portion of SPICE does analysis device-generated noise
for the given circuit. When provided with an input source and an output
port, the analysis calculates the noise contributions of each device (and
each noise generator within the device) to the output port voltage. It
also calculates the input noise to the circuit, equivalent to the output
noise referred to the specified input source. This is done for every frequency
point in a specified range - the calculated value of the noise corresponds
to the spectral density of the circuit variable viewed as a stationary
gaussian stochastic process.
After calculating the spectral densities, noise analysis integrates
these values over the specified frequency range to arrive at the total
noise voltage/current (over this frequency range). This calculated value
corresponds to the variance of the circuit variable viewed as a stationary
ANALYSIS AT DIFFERENT TEMPERATURES
All input data for SPICE is assumed to have been measured at a nominal
temperature of 27C,
which can be changed by use of the TNOM parameter on the .OPTION control
line. This value can further be overridden for any device which models
temperature effects by specifying the TNOM parameter on the model itself.
The circuit simulation is performed at a temperature of 27C,
unless overridden by a TEMP parameter on the .OPTION control line. Individual
instances may further override the circuit temperature through the specification
of a TEMP parameter on the instance.
Temperature dependent support is provided for resistors, diodes, JFETs,
BJTs, and level 1, 2, and 3 MOSFETs. BSIM (levels 4 and 5) MOSFETs have
an alternate temperature dependency scheme which adjusts all of the model
parameters before input to SPICE. For details of the BSIM temperature adjustment,
see  and .
Temperature appears explicitly in the exponential terms of the BJT and
diode model equations. In addition, saturation currents have a built-in
temperature dependence. The temperature dependence of the saturation current
in the BJT models is determined by:
where k is Boltzmann's constant, q is the electronic charge, Eg
is the energy gap which is a model parameter, and XTI is the
saturation current temperature exponent (also a model parameter, and usually
equal to 3).
The temperature dependence of forward and reverse beta is according
to the formula:
where T1 and T0 are in degrees Kelvin,
and XTB is a user-supplied model parameter. Temperature effects on beta
are carried out by appropriate adjustment to the values of F,
and ISC (spice model parameters BF, ISE, BR, and ISC,
Temperature dependence of the saturation current in the junction diode
model is determined by:
where N is the emission coefficient, which is a model parameter, and
the other symbols have the same meaning as above. Note that for Schottky
barrier diodes, the value of the saturation current temperature exponent,
XTI, is usually 2.
Temperature appears explicitly in the value of junction potential,
(in spice PHI), for all the device models. The temperature dependence is
where k is Boltzmann's constant, q is the electronic charge,
Na is the acceptor impurity density, Nd
is the donor impurity density, Ni is the intrinsic carrier
concentration, and Eg is the energy gap.
Temperature appears explicitly in the value of surface mobility, 0
(or UO), for the MOSFET model. The temperature dependence is determined
The effects of temperature on resistors is modeled by the formula:
where T is the circuit temperature, T0 is the nominal temperature,
and TC1 and TC2 are the first- and second-order temperature
- Parent Directory -