INTRODUCTION
1. INTRODUCTION
SPICE is a general-purpose circuit simulation program
for nonlinear dc, nonlinear transient, and linear ac ana-
lyses. Circuits may contain resistors, capacitors, induc-
tors, 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 sem-
iconductor devices: diodes, BJTs, JFETs, MESFETs, and MOS-
FETs.
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 dev-
ices, 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 [1] is an
analytical model, while MOS3 [1] is a semi-empirical model;
MOS6 [2] is a simple analytic model accurate in the short-
channel region; MOS4 [3, 4] and MOS5 [5] 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.
Pole-Zero Analysis
1.1.4. Pole-Zero Analysis
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 nodes.
The pole-zero analysis works with resistors, capaci-
tors, 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 numer-
ical search. For large circuits it may take a considerable
time or fail to find all poles and zeros. For some cir-
cuits, the method becomes "lost" and finds an excessive
number of poles or zeros.
ANALYSIS AT DIFFERENT TEMPERATURES
1.2. ANALYSIS AT DIFFERENT TEMPERATURES
All input data for SPICE is assumed to have been meas-
o
ured at a nominal temperature of 27 C, 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
o
a temperature of 27 C, unless overridden by a TEMP parameter
on the .OPTION control line. Individual instances may
further override the circuit temperature through the specif-
ication of a TEMP parameter on the instance.
Temperature dependent support is provided for resis-
tors, 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 [6] and [7].
Temperature appears explicitly in the exponential terms
of the BJT and diode model equations. In addition, satura-
tion currents have a built-in temperature dependence. The
temperature dependence of the saturation current in the BJT
models is determined by:
XTI
|T | | E q(T T )|
1 g 1 0
I (T ) = I (T ) |--| exp|-----------|
S 1 S 0
|T | |k (T - T )|
0 1 0
where k is Boltzmann's constant, q is the electronic
charge, E is the energy gap which is a model parameter,
G
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:
XTB
|T |
1
B(T ) = B(T ) |--|
1 0
|T |
0
where T and T are in degrees Kelvin, and XTB is a
1 0
user-supplied model parameter. Temperature effects on
beta are carried out by appropriate adjustment to the
values of B , I , B , and I (spice model parameters
F SE R SC
BF, ISE, BR, and ISC, respectively).
Temperature dependence of the saturation current in the
junction diode model is determined by:
XTI
---
N
|T | | E q(T T ) |
1 g 1 0
I (T ) = I (T ) |--| exp|-------------|
S 1 S 0
|T | |N k (T - T )|
0 1 0
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, U (in spice PHI), for all the device models. The
temperature dependence is determined by:
| N N |
a d
kT |------ |
U(T) = -- log 2
q e |N (T) |
i
where k is Boltzmann's constant, q is the electronic
charge, N is the acceptor impurity density, N is the
a d
donor impurity density, N is the intrinsic carrier con-
i
centration, and E is the energy gap.
g
Temperature appears explicitly in the value of surface
mobility, M (or UO), for the MOSFET model. The temperature
0
dependence is determined by:
M (T )
0 0
M (T) = -------
0 1.5
| T|
|--|
|T |
0
The effects of temperature on resistors is modeled by
the formula:
2
R(T) = R(T ) [1 + TC (T - T ) + TC (T - T ) ]
0 1 0 2 0
where T is the circuit temperature, T is the nominal
0
temperature, and TC and TC are the first- and second-
1 2
order temperature coefficients.
GENERAL STRUCTURE AND CONVENTIONS
2.1. GENERAL STRUCTURE AND CONVENTIONS
The circuit to be analyzed is described to SPICE by a
set of element lines, which define the circuit topology and
element values, and a set of control lines, which define the
model parameters and the run controls. The first line in
the input file must be the title, and the last line must be
".END". The order of the remaining lines is arbitrary
(except, of course, that continuation lines must immediately
follow the line being continued).
Each element in the circuit is specified by an element
line that contains the element name, the circuit nodes to
which the element is connected, and the values of the param-
eters that determine the electrical characteristics of the
element. The first letter of the element name specifies the
element type. The format for the SPICE element types is
given in what follows. The strings XXXXXXX, YYYYYYY, and
ZZZZZZZ denote arbitrary alphanumeric strings. For example,
a resistor name must begin with the letter R and can contain
one or more characters. Hence, R, R1, RSE, ROUT, and
R3AC2ZY are valid resistor names. Details of each type of
device are supplied in a following section.
Fields on a line are separated by one or more blanks, a
comma, an equal ('=') sign, or a left or right parenthesis;
extra spaces are ignored. A line may be continued by enter-
ing a '+' (plus) in column 1 of the following line; SPICE
continues reading beginning with column 2.
A name field must begin with a letter (A through Z) and
cannot contain any delimiters.
A number field may be an integer field (12, -44), a
floating point field (3.14159), either an integer or float-
ing point number followed by an integer exponent (1e-14,
2.65e3), or either an integer or a floating point number
followed by one of the following scale factors:
12 9 6 3 -6
T = 10 G = 10 Meg = 10 K = 10 mil = 25.4
-3 -6 -9 -12 -15
m = 10 u (or M) = 10 n = 10 p = 10 f = 10
Letters immediately following a number that are not scale
factors are ignored, and letters immediately following a
scale factor are ignored. Hence, 10, 10V, 10Volts, and 10Hz
all represent the same number, and M, MA, MSec, and MMhos
all represent the same scale factor. Note that 1000,
1000.0, 1000Hz, 1e3, 1.0e3, 1KHz, and 1K all represent the
same number.
Nodes names may be arbitrary character strings. The
datum (ground) node must be named '0'. Note the difference
in SPICE3 where the nodes are treated as character strings
and not evaluated as numbers, thus '0' and '00' are distinct
nodes in SPICE3 but not in SPICE2. The circuit cannot con-
tain a loop of voltage sources and/or inductors and cannot
contain a cut-set of current sources and/or capacitors.
Each node in the circuit must have a dc path to ground.
Every node must have at least two connections except for
transmission line nodes (to permit unterminated transmission
lines) and MOSFET substrate nodes (which have two internal
connections anyway).
DEVICE MODELS
2.3. DEVICE MODELS
General form:
.MODEL MNAME TYPE(PNAME1=PVAL1 PNAME2=PVAL2 ... )
Examples:
.MODEL MOD1 NPN (BF=50 IS=1E-13 VBF=50)
Most simple circuit elements typically require only a
few parameter values. However, some devices (semiconductor
devices in particular) that are included in SPICE require
many parameter values. Often, many devices in a circuit are
defined by the same set of device model parameters. For
these reasons, a set of device model parameters is defined
on a separate .MODEL line and assigned a unique model name.
The device element lines in SPICE then refer to the model
name.
For these more complex device types, each device ele-
ment line contains the device name, the nodes to which the
device is connected, and the device model name. In addi-
tion, other optional parameters may be specified for some
devices: geometric factors and an initial condition (see
the following section on Transistors and Diodes for more de-
tails).
MNAME in the above is the model name, and type is one
of the following fifteen types:
R Semiconductor resistor model
C Semiconductor capacitor model
SW Voltage controlled switch
CSW Current controlled switch
URC Uniform distributed RC model
LTRA Lossy transmission line model
D Diode model
NPN NPN BJT model
PNP PNP BJT model
NJF N-channel JFET model
PJF P-channel JFET model
NMOS N-channel MOSFET model
PMOS P-channel MOSFET model
NMF N-channel MESFET model
PMF P-channel MESFET model
Parameter values are defined by appending the parameter
name followed by an equal sign and the parameter value.
Model parameters that are not given a value are assigned the
default values given below for each model type. Models,
model parameters, and default values are listed in the next
section along with the description of device element lines.
Semiconductor Resistor Model (R)
3.1.3. Semiconductor Resistor Model (R)
The resistor model consists of process-related device
data that allow the resistance to be calculated from
geometric information and to be corrected for temperature.
The parameters available are:
name parameter units default example
o
TC1 first order temperature coeff. Z/ C 0.0 -
o 2
TC2 second order temperature coeff. Z/ C 0.0 -
RSH sheet resistance Z/[] - 50
DEFW default width meters 1e-6 2e-6
NARROW narrowing due to side etching meters 0.0 1e-7
o
TNOM parameter measurement temperature C 27 50
The sheet resistance is used with the narrowing parame-
ter and L and W from the resistor device to determine the
nominal resistance by the formula
L - NARROW
R = RSH ----------
W - NARROW
DEFW is used to supply a default value for W if one is not
specified for the device. If either RSH or L is not speci-
fied, then the standard default resistance value of 1k Z is
used. TNOM is used to override the circuit-wide value given
on the .OPTIONS control line where the parameters of this
model have been measured at a different temperature. After
the nominal resistance is calculated, it is adjusted for
temperature by the formula:
2
R(T) = R(T ) [1 + TC1 (T - T ) + TC2 (T-T ) ]
0 0 0
Switch Model (SW/CSW)
3.1.10. Switch Model (SW/CSW)
The switch model allows an almost ideal switch to be
described in SPICE. The switch is not quite ideal, in that
the resistance can not change from 0 to infinity, but must
always have a finite positive value. By proper selection of
the on and off resistances, they can be effectively zero and
infinity in comparison to other circuit elements. The
parameters available are:
name parameter units default switch
VT threshold voltage Volts 0.0 S
IT threshold current Amps 0.0 W
VH hysteresis voltage Volts 0.0 S
IH hysteresis current Amps 0.0 W
RON on resistance Z 1.0 both
ROFF off resistance Z 1/GMIN* both
*(See the .OPTIONS control line for a description of
GMIN, its default value results in an off-resistance of
1.0e+12 ohms.)
The use of an ideal element that is highly nonlinear
such as a switch can cause large discontinuities to occur in
the circuit node voltages. A rapid change such as that
associated with a switch changing state can cause numerical
roundoff or tolerance problems leading to erroneous results
or timestep difficulties. The user of switches can improve
the situation by taking the following steps:
First, it is wise to set ideal switch impedances just
high or low enough to be negligible with respect to other
circuit elements. Using switch impedances that are close to
"ideal" in all cases aggravates the problem of discontinui-
ties mentioned above. Of course, when modeling real devices
such as MOSFETS, the on resistance should be adjusted to a
realistic level depending on the size of the device being
modeled.
If a wide range of ON to OFF resistance must be used in
the switches (ROFF/RON >1e+12), then the tolerance on errors
allowed during transient analysis should be decreased by
using the .OPTIONS control line and specifying TRTOL to be
less than the default value of 7.0. When switches are
placed around capacitors, then the option CHGTOL should also
be reduced. Suggested values for these two options are 1.0
and 1e-16 respectively. These changes inform SPICE3 to be
more careful around the switch points so that no errors are
made due to the rapid change in the circuit.
Independent Sources
3.2.1. Independent Sources
General form:
VXXXXXXX N+ N- <<DC> DC/TRAN VALUE> <AC <ACMAG <ACPHASE>>>
+ <DISTOF1 <F1MAG <F1PHASE>>> <DISTOF2 <F2MAG <F2PHASE>>>
IYYYYYYY N+ N- <<DC> DC/TRAN VALUE> <AC <ACMAG <ACPHASE>>>
+ <DISTOF1 <F1MAG <F1PHASE>>> <DISTOF2 <F2MAG <F2PHASE>>>
Examples:
VCC 10 0 DC 6
VIN 13 2 0.001 AC 1 SIN(0 1 1MEG)
ISRC 23 21 AC 0.333 45.0 SFFM(0 1 10K 5 1K)
VMEAS 12 9
VCARRIER 1 0 DISTOF1 0.1 -90.0
VMODULATOR 2 0 DISTOF2 0.01
IIN1 1 5 AC 1 DISTOF1 DISTOF2 0.001
N+ and N- are the positive and negative nodes, respec-
tively. Note that voltage sources need not be grounded.
Positive current is assumed to flow from the positive node,
through the source, to the negative node. A current source
of positive value forces current to flow out of the N+ node,
through the source, and into the N- node. Voltage sources,
in addition to being used for circuit excitation, are the
'ammeters' for SPICE, that is, zero valued voltage sources
may be inserted into the circuit for the purpose of measur-
ing current. They of course have no effect on circuit
operation since they represent short-circuits.
DC/TRAN is the dc and transient analysis value of the
source. If the source value is zero both for dc and tran-
sient analyses, this value may be omitted. If the source
value is time-invariant (e.g., a power supply), then the
value may optionally be preceded by the letters DC.
ACMAG is the ac magnitude and ACPHASE is the ac phase.
The source is set to this value in the ac analysis. If
ACMAG is omitted following the keyword AC, a value of unity
is assumed. If ACPHASE is omitted, a value of zero is
assumed. If the source is not an ac small-signal input, the
keyword AC and the ac values are omitted.
DISTOF1 and DISTOF2 are the keywords that specify that
the independent source has distortion inputs at the frequen-
cies F1 and F2 respectively (see the description of the
.DISTO control line). The keywords may be followed by an
optional magnitude and phase. The default values of the
magnitude and phase are 1.0 and 0.0 respectively.
Any independent source can be assigned a time-dependent
value for transient analysis. If a source is assigned a
time-dependent value, the time-zero value is used for dc
analysis. There are five independent source functions:
pulse, exponential, sinusoidal, piece-wise linear, and
single-frequency FM. If parameters other than source values
are omitted or set to zero, the default values shown are
assumed. (TSTEP is the printing increment and TSTOP is the
final time (see the .TRAN control line for explanation)).
Non-linear Dependent Sources
3.2.3. Non-linear Dependent Sources
General form:
BXXXXXXX N+ N- <I=EXPR> <V=EXPR>
Examples:
B1 0 1 I=cos(v(1))+sin(v(2))
B1 0 1 V=ln(cos(log(v(1,2)^2)))-v(3)^4+v(2)^v(1)
B1 3 4 I=17
B1 3 4 V=exp(pi^i(vdd))
N+ is the positive node, and N- is the negative node.
The values of the V and I parameters determine the voltages
and currents across and through the device, respectively.
If I is given then the device is a current source, and if V
is given the device is a voltage source. One and only one
of these parameters must be given.
The small-signal AC behavior of the nonlinear source is
a linear dependent source (or sources) with a proportional-
ity constant equal to the derivative (or derivatives) of the
source at the DC operating point.
The expressions given for V and I may be any function
of voltages and currents through voltage sources in the sys-
tem. The following functions of real variables are defined:
abs asinh cosh sin
acos atan exp sinh
acosh atanh ln sqrt
asin cos log tan
The function "u" is the unit step function, with a
value of one for arguments greater than one and a value of
zero for arguments less than zero. The function "uramp" is
the integral of the unit step: for an input x, the value is
zero if x is less than zero, or if x is greater than zero
the value is x. These two functions are useful in sythesiz-
ing piece-wise non-linear functions, though convergence may
be adversely affected.
The following standard operators are defined:
+ - * / ^ unary -
If the argument of log, ln, or sqrt becomes less than
zero, the absolute value of the argument is used. If a
divisor becomes zero or the argument of log or ln becomes
zero, an error will result. Other problems may occur when
the argument for a function in a partial derivative enters a
region where that function is undefined.
To get time into the expression you can integrate the
current from a constant current source with a capacitor and
use the resulting voltage (don't forget to set the initial
voltage across the capacitor). Non-linear resistors, capa-
citors, and inductors may be synthesized with the nonlinear
dependent source. Non-linear resistors are obvious. Non-
linear capacitors and inductors are implemented with their
linear counterparts by a change of variables implemented
with the nonlinear dependent source. The following subcir-
cuit will implement a nonlinear capacitor:
.Subckt nlcap pos neg
* Bx: calculate f(input voltage)
Bx 1 0 v = f(v(pos,neg))
* Cx: linear capacitance
Cx 2 0 1
* Vx: Ammeter to measure current into the capacitor
Vx 2 1 DC 0Volts
* Drive the current through Cx back into the circuit
Fx pos neg Vx 1
.ends
Non-linear inductors are similar.
Lossless Transmission Lines
3.3.1. Lossless Transmission Lines
General form:
TXXXXXXX N1 N2 N3 N4 Z0=VALUE <TD=VALUE> <F=FREQ <NL=NRMLEN>>
+ <IC=V1, I1, V2, I2>
Examples:
T1 1 0 2 0 Z0=50 TD=10NS
N1 and N2 are the nodes at port 1; N3 and N4 are the
nodes at port 2. Z0 is the characteristic impedance. The
length of the line may be expressed in either of two forms.
The transmission delay, TD, may be specified directly (as
TD=10ns, for example). Alternatively, a frequency F may be
given, together with NL, the normalized electrical length of
the transmission line with respect to the wavelength in the
line at the frequency F. If a frequency is specified but NL
is omitted, 0.25 is assumed (that is, the frequency is
assumed to be the quarter-wave frequency). Note that
although both forms for expressing the line length are indi-
cated as optional, one of the two must be specified.
Note that this element models only one propagating
mode. If all four nodes are distinct in the actual circuit,
then two modes may be excited. To simulate such a situa-
tion, two transmission-line elements are required. (see the
example in Appendix A for further clarification.)
The (optional) initial condition specification consists
of the voltage and current at each of the transmission line
ports. Note that the initial conditions (if any) apply
'only' if the UIC option is specified on the .TRAN control
line.
Note that a lossy transmission line (see below) with
zero loss may be more accurate than than the lossless
transmission line due to implementation details.
Lossy Transmission Line Model (LTRA)
3.3.3. Lossy Transmission Line Model (LTRA)
The uniform RLC/RC/LC/RG transmission line model (re-
ferred to as the LTRA model henceforth) models a uniform
constant-parameter distributed transmission line. The RC
and LC cases may also be modeled using the URC and TRA
models; however, the newer LTRA model is usually faster and
more accurate than the others. The operation of the LTRA
model is based on the convolution of the transmission line's
impulse responses with its inputs (see [8]).
The LTRA model takes a number of parameters, some of
which must be given and some of which are optional.
name parameter units/type default example
R resistance/length Z/unit 0.0 0.2
L inductance/length henrys/unit 0.0 9.13e-9
G conductance/length mhos/unit 0.0 0.0
C capacitance/length farads/unit 0.0 3.65e-12
LEN length of line no default 1.0
REL breakpoint control arbitrary unit 1 0.5
ABS breakpoint control 1 5
NOSTEPLIMIT don't limit timestep to less than flag not set set
line delay
NOCONTROL don't do complex timestep control flag not set set
LININTERP use linear interpolation flag not set set
MIXEDINTERP use linear when quadratic seems bad not set set
COMPACTREL special reltol for history compaction flag RELTOL 1.0e-3
COMPACTABS special abstol for history compaction ABSTOL 1.0e-9
TRUNCNR use Newton-Raphson method for flag not set set
timestep control
TRUNCDONTCUT don't limit timestep to keep flag not set set
impulse-response errors low
The following types of lines have been implemented so
far: RLC (uniform transmission line with series loss only),
RC (uniform RC line), LC (lossless transmission line), and
RG (distributed series resistance and parallel conductance
only). Any other combination will yield erroneous results
and should not be tried. The length LEN of the line must be
specified.
NOSTEPLIMIT is a flag that will remove the default res-
triction of limiting time-steps to less than the line delay
in the RLC case. NOCONTROL is a flag that prevents the
default limiting of the time-step based on convolution error
criteria in the RLC and RC cases. This speeds up simulation
but may in some cases reduce the accuracy of results.
LININTERP is a flag that, when specified, will use linear
interpolation instead of the default quadratic interpolation
for calculating delayed signals. MIXEDINTERP is a flag
that, when specified, uses a metric for judging whether qua-
dratic interpolation is not applicable and if so uses linear
interpolation; otherwise it uses the default quadratic
interpolation. TRUNCDONTCUT is a flag that removes the
default cutting of the time-step to limit errors in the
actual calculation of impulse-response related quantities.
COMPACTREL and COMPACTABS are quantities that control the
compaction of the past history of values stored for convolu-
tion. Larger values of these lower accuracy but usually
increase simulation speed. These are to be used with the
TRYTOCOMPACT option, described in the .OPTIONS section.
TRUNCNR is a flag that turns on the use of Newton-Raphson
iterations to determine an appropriate timestep in the
timestep control routines. The default is a trial and error
procedure by cutting the previous timestep in half. REL and
ABS are quantities that control the setting of breakpoints.
The option most worth experimenting with for increasing
the speed of simulation is REL. The default value of 1 is
usually safe from the point of view of accuracy but occa-
sionally increases computation time. A value greater than 2
eliminates all breakpoints and may be worth trying depending
on the nature of the rest of the circuit, keeping in mind
that it might not be safe from the viewpoint of accuracy.
Breakpoints may usually be entirely eliminated if it is
expected the circuit will not display sharp discontinuities.
Values between 0 and 1 are usually not required but may be
used for setting many breakpoints.
COMPACTREL may also be experimented with when the
option TRYTOCOMPACT is specified in a .OPTIONS card. The
legal range is between 0 and 1. Larger values usually
decrease the accuracy of the simulation but in some cases
improve speed. If TRYTOCOMPACT is not specified on a
.OPTIONS card, history compaction is not attempted and accu-
racy is high. NOCONTROL, TRUNCDONTCUT and NOSTEPLIMIT also
tend to increase speed at the expense of accuracy.
Uniform Distributed RC Model (URC)
3.3.5. Uniform Distributed RC Model (URC)
The URC model is derived from a model proposed by L.
Gertzberrg in 1974. The model is accomplished by a subcir-
cuit type expansion of the URC line into a network of lumped
RC segments with internally generated nodes. The RC seg-
ments are in a geometric progression, increasing toward the
middle of the URC line, with K as a proportionality con-
stant. The number of lumped segments used, if not specified
for the URC line device, is determined by the following for-
mula:
2
| R C |(K-1)| |
_ _ 2
log|F 2 J L |-----| |
max
| L L | K | |
N = ------------------------------
log K
The URC line is made up strictly of resistor and capa-
citor segments unless the ISPERL parameter is given a non-
zero value, in which case the capacitors are replaced with
reverse biased diodes with a zero-bias junction capacitance
equivalent to the capacitance replaced, and with a satura-
tion current of ISPERL amps per meter of transmission line
and an optional series resistance equivalent to RSPERL ohms
per meter.
name parameter units default example area
1 K Propagation Constant - 2.0 1.2 -
2 FMAX Maximum Frequency of interest Hz 1.0G 6.5Meg -
3 RPERL Resistance per unit length Z/m 1000 10 -
4 CPERL Capacitance per unit length F/m 1.0e-15 1pF -
5 ISPERL Saturation Current per unit length A/m 0 - -
6 RSPERL Diode Resistance per unit length Z/m 0 - -
Bipolar Junction Transistors (BJTs)
3.4.3. Bipolar Junction Transistors (BJTs)
General form:
QXXXXXXX NC NB NE <NS> MNAME <AREA> <OFF> <IC=VBE, VCE> <TEMP=T>
Examples:
Q23 10 24 13 QMOD IC=0.6, 5.0
Q50A 11 26 4 20 MOD1
NC, NB, and NE are the collector, base, and emitter
nodes, respectively. NS is the (optional) substrate node.
If unspecified, ground is used. MNAME is the model name,
AREA is the area factor, and OFF indicates an (optional)
initial condition on the device for the dc analysis. If the
area factor is omitted, a value of 1.0 is assumed. The
(optional) initial condition specification using IC=VBE, VCE
is intended for use with the UIC option on the .TRAN control
line, when a transient analysis is desired starting from
other than the quiescent operating point. See the .IC con-
trol line description for a better way to set transient ini-
tial conditions. The (optional) TEMP value is the tempera-
ture at which this device is to operate, and overrides the
temperature specification on the .OPTION control line.
BJT Models (NPN/PNP)
3.4.4. BJT Models (NPN/PNP)
The bipolar junction transistor model in SPICE is an
adaptation of the integral charge control model of Gummel
and Poon. This modified Gummel-Poon model extends the ori-
ginal model to include several effects at high bias levels.
The model automatically simplifies to the simpler Ebers-Moll
model when certain parameters are not specified. The param-
eter names used in the modified Gummel-Poon model have been
chosen to be more easily understood by the program user, and
to reflect better both physical and circuit design thinking.
The dc model is defined by the parameters IS, BF, NF,
ISE, IKF, and NE which determine the forward current gain
characteristics, IS, BR, NR, ISC, IKR, and NC which deter-
mine the reverse current gain characteristics, and VAF and
VAR which determine the output conductance for forward and
reverse regions. Three ohmic resistances RB, RC, and RE are
included, where RB can be high current dependent. Base
charge storage is modeled by forward and reverse transit
times, TF and TR, the forward transit time TF being bias
dependent if desired, and nonlinear depletion layer capaci-
tances which are determined by CJE, VJE, and MJE for the B-E
junction , CJC, VJC, and MJC for the B-C junction and CJS,
VJS, and MJS for the C-S (Collector-Substrate) junction.
The temperature dependence of the saturation current, IS, is
determined by the energy-gap, EG, and the saturation current
temperature exponent, XTI. Additionally base current tem-
perature dependence is modeled by the beta temperature
exponent XTB in the new model. The values specified are
assumed to have been measured at the temperature TNOM, which
can be specified on the .OPTIONS control line or overridden
by a specification on the .MODEL line.
The BJT parameters used in the modified Gummel-Poon
model are listed below. The parameter names used in earlier
versions of SPICE2 are still accepted.
Modified Gummel-Poon BJT Parameters.
name parameter units default example area
1 IS transport saturation current A 1.0e-16 1.0e-15 *
2 BF ideal maximum forward beta - 100 100
3 NF forward current emission coefficient - 1.0 1
4 VAF forward Early voltage V infinite 200
5 IKF corner for forward beta
high current roll-off A infinite 0.01 *
6 ISE B-E leakage saturation current A 0 1.0e-13 *
7 NE B-E leakage emission coefficient - 1.5 2
8 BR ideal maximum reverse beta - 1 0.1
9 NR reverse current emission coefficient - 1 1
10 VAR reverse Early voltage V infinite 200
11 IKR corner for reverse beta
high current roll-off A infinite 0.01 *
12 ISC B-C leakage saturation current A 0 1.0e-13 *
13 NC B-C leakage emission coefficient - 2 1.5
14 RB zero bias base resistance Z 0 100 *
15 IRB current where base resistance
falls halfway to its min value A infinite 0.1 *
16 RBM minimum base resistance
at high currents Z RB 10 *
17 RE emitter resistance Z 0 1 *
18 RC collector resistance Z 0 10 *
19 CJE B-E zero-bias depletion capacitance F 0 2pF *
20 VJE B-E built-in potential V 0.75 0.6
21 MJE B-E junction exponential factor - 0.33 0.33
22 TF ideal forward transit time sec 0 0.1ns
23 XTF coefficient for bias dependence of TF - 0
24 VTF voltage describing VBC
dependence of TF V infinite
25 ITF high-current parameter
for effect on TF A 0 *
26 PTF excess phase at freq=1.0/(TF*2PI) Hz deg 0
27 CJC B-C zero-bias depletion capacitance F 0 2pF *
28 VJC B-C built-in potential V 0.75 0.5
29 MJC B-C junction exponential factor - 0.33 0.5
30 XCJC fraction of B-C depletion capacitance - 1
connected to internal base node
31 TR ideal reverse transit time sec 0 10ns
32 CJS zero-bias collector-substrate
capacitance F 0 2pF *
33 VJS substrate junction built-in potential V 0.75
34 MJS substrate junction exponential factor - 0 0.5
35 XTB forward and reverse beta
temperature exponent - 0
36 EG energy gap for temperature
effect on IS eV 1.11
37 XTI temperature exponent for effect on IS - 3
38 KF flicker-noise coefficient - 0
39 AF flicker-noise exponent - 1
40 FC coefficient for forward-bias
depletion capacitance formula - 0.5
o
41 TNOM Parameter measurement temperature C 27 50
JFET Models (NJF/PJF)
3.4.6. JFET Models (NJF/PJF)
The JFET model is derived from the FET model of Shich-
man and Hodges. The dc characteristics are defined by the
parameters VTO and BETA, which determine the variation of
drain current with gate voltage, LAMBDA, which determines
the output conductance, and IS, the saturation current of
the two gate junctions. Two ohmic resistances, RD and RS,
are included. Charge storage is modeled by nonlinear deple-
tion layer capacitances for both gate junctions which vary
as the -1/2 power of junction voltage and are defined by the
parameters CGS, CGD, and PB.
Note that in Spice3f and later, a fitting parameter B
has been added. For details, see [9].
name parameter units default example area
1 VTO threshold voltage (V V -2.0 -2.0
TO 2
2 BETA transconductance parameter (B) A/V 1.0e-4 1.0e-3 *
3 LAMBDA channel-length modulation
parameter (L) 1/V 0 1.0e-4
4 RD drain ohmic resistance Z 0 100 *
5 RS source ohmic resistance Z 0 100 *
6 CGS zero-bias G-S junction capacitance (C ) F 0 5pF *
gs
7 CGD zero-bias G-D junction capacitance (C ) F 0 1pF *
gs
8 PB gate junction potential V 1 0.6
9 IS gate junction saturation current (I ) A 1.0e-14 1.0e-14 *
S
10 B doping tail parameter - 1 1.1
11 KF flicker noise coefficient - 0
12 AF flicker noise exponent - 1
13 FC coefficient for forward-bias - 0.5
depletion capacitance formula
o
14 TNOM parameter measurement temperature C 27 50
MOSFETs
3.4.7. MOSFETs
General form:
MXXXXXXX ND NG NS NB MNAME <L=VAL> <W=VAL> <AD=VAL> <AS=VAL>
+ <PD=VAL> <PS=VAL> <NRD=VAL> <NRS=VAL> <OFF>
+ <IC=VDS, VGS, VBS> <TEMP=T>
Examples:
M1 24 2 0 20 TYPE1
M31 2 17 6 10 MODM L=5U W=2U
M1 2 9 3 0 MOD1 L=10U W=5U AD=100P AS=100P PD=40U PS=40U
ND, NG, NS, and NB are the drain, gate, source, and bulk
(substrate) nodes, respectively. MNAME is the model name.
L and W are the channel length and width, in meters. AD and
AS are the areas of the drain and source diffusions, in
2
meters . Note that the suffix U specifies microns (1e-6 m)
2
and P sq-microns (1e-12 m ). If any of L, W, AD, or AS are
not specified, default values are used. The use of defaults
simplifies input file preparation, as well as the editing
required if device geometries are to be changed. PD and PS
are the perimeters of the drain and source junctions, in
meters. NRD and NRS designate the equivalent number of
squares of the drain and source diffusions; these values
multiply the sheet resistance RSH specified on the .MODEL
control line for an accurate representation of the parasitic
series drain and source resistance of each transistor. PD
and PS default to 0.0 while NRD and NRS to 1.0. OFF indi-
cates an (optional) initial condition on the device for dc
analysis. The (optional) initial condition specification
using IC=VDS, VGS, VBS is intended for use with the UIC
option on the .TRAN control line, when a transient analysis
is desired starting from other than the quiescent operating
point. See the .IC control line for a better and more con-
venient way to specify transient initial conditions. The
(optional) TEMP value is the temperature at which this dev-
ice is to operate, and overrides the temperature specifica-
tion on the .OPTION control line. The temperature specifi-
cation is ONLY valid for level 1, 2, 3, and 6 MOSFETs, not
for level 4 or 5 (BSIM) devices.
MOSFET Models (NMOS/PMOS)
3.4.8. MOSFET Models (NMOS/PMOS)
SPICE provides four MOSFET device models, which differ
in the formulation of the I-V characteristic. The variable
LEVEL specifies the model to be used:
LEVEL=1 -> Shichman-Hodges
LEVEL=2 -> MOS2 (as described in [1])
LEVEL=3 -> MOS3, a semi-empirical model(see [1])
LEVEL=4 -> BSIM (as described in [3])
LEVEL=5 -> new BSIM (BSIM2; as described in [5])
LEVEL=6 -> MOS6 (as described in [2])
The dc characteristics of the level 1 through level 3 MOS-
FETs are defined by the device parameters VTO, KP, LAMBDA,
PHI and GAMMA. These parameters are computed by SPICE if
process parameters (NSUB, TOX, ...) are given, but user-
specified values always override. VTO is positive (nega-
tive) for enhancement mode and negative (positive) for
depletion mode N-channel (P-channel) devices. Charge
storage is modeled by three constant capacitors, CGSO, CGDO,
and CGBO which represent overlap capacitances, by the non-
linear thin-oxide capacitance which is distributed among the
gate, source, drain, and bulk regions, and by the nonlinear
depletion-layer capacitances for both substrate junctions
divided into bottom and periphery, which vary as the MJ and
MJSW power of junction voltage respectively, and are deter-
mined by the parameters CBD, CBS, CJ, CJSW, MJ, MJSW and PB.
Charge storage effects are modeled by the piecewise linear
voltages-dependent capacitance model proposed by Meyer. The
thin-oxide charge-storage effects are treated slightly dif-
ferent for the LEVEL=1 model. These voltage-dependent capa-
citances are included only if TOX is specified in the input
description and they are represented using Meyer's formula-
tion.
There is some overlap among the parameters describing
the junctions, e.g. the reverse current can be input either
2
as IS (in A) or as JS (in A/m ). Whereas the first is an
absolute value the second is multiplied by AD and AS to give
the reverse current of the drain and source junctions
respectively. This methodology has been chosen since there
is no sense in relating always junction characteristics with
AD and AS entered on the device line; the areas can be
defaulted. The same idea applies also to the zero-bias
junction capacitances CBD and CBS (in F) on one hand, and CJ
2
(in F/m ) on the other. The parasitic drain and source
series resistance can be expressed as either RD and RS (in
ohms) or RSH (in ohms/sq.), the latter being multiplied by
the number of squares NRD and NRS input on the device line.
A discontinuity in the MOS level 3 model with respect
to the KAPPA parameter has been detected (see [10]). The
supplied fix has been implemented in Spice3f2 and later.
Since this fix may affect parameter fitting, the option
"BADMOS3" may be set to use the old implementation (see the
section on simulation variables and the ".OPTIONS" line).
SPICE level 1, 2, 3 and 6 parameters:
name parameter units default example
1 LEVEL model index - 1
2 VTO zero-bias threshold voltage (V ) V 0.0 1.0
TO 2
3 KP transconductance parameter A/V 2.0e-5 3.1e-5
1/2
4 GAMMA bulk threshold parameter (\) V 0.0 0.37
5 PHI surface potential (U) V 0.6 0.65
6 LAMBDA channel-length modulation
(MOS1 and MOS2 only) (L) 1/V 0.0 0.02
7 RD drain ohmic resistance Z 0.0 1.0
8 RS source ohmic resistance Z 0.0 1.0
9 CBD zero-bias B-D junction capacitance F 0.0 20fF
10 CBS zero-bias B-S junction capacitance F 0.0 20fF
11 IS bulk junction saturation current (I ) A 1.0e-14 1.0e-15
S
12 PB bulk junction potential V 0.8 0.87
13 CGSO gate-source overlap capacitance
per meter channel width F/m 0.0 4.0e-11
14 CGDO gate-drain overlap capacitance
per meter channel width F/m 0.0 4.0e-11
15 CGBO gate-bulk overlap capacitance
per meter channel length F/m 0.0 2.0e-10
16 RSH drain and source diffusion
sheet resistance Z/[] 0.0 10.0
17 CJ zero-bias bulk junction bottom cap.
2
per sq-meter of junction area F/m 0.0 2.0e-4
18 MJ bulk junction bottom grading coeff. - 0.5 0.5
19 CJSW zero-bias bulk junction sidewall cap.
per meter of junction perimeter F/m 0.0 1.0e-9
20 MJSW bulk junction sidewall grading coeff. - 0.50(level1)
0.33(level2, 3)
21 JS bulk junction saturation current
2
per sq-meter of junction area A/m 1.0e-8
22 TOX oxide thickness meter 1.0e-7 1.0e-7
3
23 NSUB substrate doping 1/cm 0.0 4.0e15
2
24 NSS surface state density 1/cm 0.0 1.0e10
2
25 NFS fast surface state density 1/cm 0.0 1.0e10
continued
name parameter units default example
26 TPG type of gate material: - 1.0
+1 opp. to substrate
-1 same as substrate
0 Al gate
27 XJ metallurgical junction depth meter 0.0 1M
28 LD lateral diffusion meter 0.0 0.8M
2
29 UO surface mobility cm /Vs 600 700
30 UCRIT critical field for mobility
degradation (MOS2 only) V/cm 1.0e4 1.0e4
31 UEXP critical field exponent in
mobility degradation (MOS2 only) - 0.0 0.1
32 UTRA transverse field coeff. (mobility)
(deleted for MOS2) - 0.0 0.3
33 VMAX maximum drift velocity of carriers m/s 0.0 5.0e4
34 NEFF total channel-charge (fixed and
mobile) coefficient (MOS2 only) - 1.0 5.0
35 KF flicker noise coefficient - 0.0 1.0e-26
36 AF flicker noise exponent - 1.0 1.2
37 FC coefficient for forward-bias
depletion capacitance formula - 0.5
38 DELTA width effect on threshold voltage
(MOS2 and MOS3) - 0.0 1.0
39 THETA mobility modulation (MOS3 only) 1/V 0.0 0.1
40 ETA static feedback (MOS3 only) - 0.0 1.0
41 KAPPA saturation field factor (MOS3 only) - 0.2 0.5
o
42 TNOM parameter measurement temperature C 27 50
The level 4 and level 5 (BSIM1 and BSIM2) parameters
are all values obtained from process characterization, and
can be generated automatically. J. Pierret [4] describes a
means of generating a 'process' file, and the program
Proc2Mod provided with SPICE3 converts this file into a se-
quence of BSIM1 ".MODEL" lines suitable for inclusion in a
SPICE input file. Parameters marked below with an * in the
l/w column also have corresponding parameters with a length
and width dependency. For example, VFB is the basic parame-
ter with units of Volts, and LVFB and WVFB also exist and
have units of Volt-Mmeter The formula
P P
L W
P = P + ---------- + ----------
0
L W
effective effective
is used to evaluate the parameter for the actual device
specified with
L = L - DL
effective input
and
W = W - DW
effective input
Note that unlike the other models in SPICE, the BSIM
model is designed for use with a process characterization
system that provides all the parameters, thus there are no
defaults for the parameters, and leaving one out is con-
sidered an error. For an example set of parameters and the
format of a process file, see the SPICE2 implementation
notes[3].
For more information on BSIM2, see reference [5].
SPICE BSIM (level 4) parameters.
name parameter units l/w
VFB flat-band voltage V *
PHI surface inversion potential V *
1/2
K1 body effect coefficient V *
K2 drain/source depletion charge-sharing coefficient - *
ETA zero-bias drain-induced barrier-lowering coefficient - *
2
MUZ zero-bias mobility cm /V-s
DL shortening of channel Mm
DW narrowing of channel Mm
-1
U0 zero-bias transverse-field mobility degradation coefficient V *
U1 zero-bias velocity saturation coefficient Mm/V *
2 2
X2MZ sens. of mobility to substrate bias at v =0 cm /V -s *
ds -1
X2E sens. of drain-induced barrier lowering effect to substrate bias V *
-1
X3E sens. of drain-induced barrier lowering effect to drain bias at V =V V *
ds dd -2
X2U0 sens. of transverse field mobility degradation effect to substrate bias V *
-2
X2U1 sens. of velocity saturation effect to substrate bias MmV *
2 2
MUS mobility at zero substrate bias and at V =V cm /V -s
ds dd 2 2
X2MS sens. of mobility to substrate bias at V =V cm /V -s *
ds dd 2 2
X3MS sens. of mobility to drain bias at V =V cm /V -s *
ds dd -2
X3U1 sens. of velocity saturation effect on drain bias at V =V MmV *
ds dd
TOX gate oxide thickness Mm
o
TEMP temperature at which parameters were measured C
VDD measurement bias range V
CGDO gate-drain overlap capacitance per meter channel width F/m
CGSO gate-source overlap capacitance per meter channel width F/m
CGBO gate-bulk overlap capacitance per meter channel length F/m
XPART gate-oxide capacitance-charge model flag -
N0 zero-bias subthreshold slope coefficient - *
NB sens. of subthreshold slope to substrate bias - *
ND sens. of subthreshold slope to drain bias - *
RSH drain and source diffusion sheet resistance Z/[]
2
JS source drain junction current density A/m
PB built in potential of source drain junction V
MJ Grading coefficient of source drain junction -
PBSW built in potential of source, drain junction sidewall V
MJSW grading coefficient of source drain junction sidewall -
2
CJ Source drain junction capacitance per unit area F/m
CJSW source drain junction sidewall capacitance per unit length F/m
WDF source drain junction default width m
DELL Source drain junction length reduction m
XPART = 0 selects a 40/60 drain/source charge partition
in saturation, while XPART=1 selects a 0/100 drain/source
charge partition.
ND, NG, and NS are the drain, gate, and source nodes,
respectively. MNAME is the model name, AREA is the area
factor, and OFF indicates an (optional) initial condition on
the device for dc analysis. If the area factor is omitted,
a value of 1.0 is assumed. The (optional) initial condition
specification, using IC=VDS, VGS is intended for use with
the UIC option on the .TRAN control line, when a transient
analysis is desired starting from other than the quiescent
operating point. See the .IC control line for a better way
to set initial conditions.
MESFET Models (NMF/PMF)
3.4.10. MESFET Models (NMF/PMF)
The MESFET model is derived from the GaAs FET model of
Statz et al. as described in [11]. The dc characteristics
are defined by the parameters VTO, B, and BETA, which deter-
mine the variation of drain current with gate voltage, AL-
PHA, which determines saturation voltage, and LAMBDA, which
determines the output conductance. The formula are given
by:
3
2
B (V -V ) | | V | | 3
gs T ds _
I = --------------- |1 - |1-A---| |(1 + L V ) for 0 < V <
d ds ds
1 + b(V - V ) | | 3 | | A
gs T
2
B (V -V ) 3
gs T _
I = ---------------(1 + L V ) for V >
d ds ds
1 + b(V - V ) A
gs T
Two ohmic resistances, RD and RS, are included. Charge
storage is modeled by total gate charge as a function of
gate-drain and gate-source voltages and is defined by the
parameters CGS, CGD, and PB.
name parameter units default example area
1 VTO pinch-off voltage V -2.0 -2.0
2
2 BETA transconductance parameter A/V 1.0e-4 1.0e-3 *
3 B doping tail extending parameter 1/V 0.3 0.3 *
4 ALPHA saturation voltage parameter 1/V 2 2 *
5 LAMBDA channel-length modulation
parameter 1/V 0 1.0e-4
6 RD drain ohmic resistance Z 0 100 *
7 RS source ohmic resistance Z 0 100 *
8 CGS zero-bias G-S junction capacitance F 0 5pF *
9 CGD zero-bias G-D junction capacitance F 0 1pF *
10 PB gate junction potential V 1 0.6
11 KF flicker noise coefficient - 0
12 AF flicker noise exponent - 1
13 FC coefficient for forward-bias - 0.5
depletion capacitance formula
SIMULATOR VARIABLES (.OPTIONS)
4.1. SIMULATOR VARIABLES (.OPTIONS)
Various parameters of the simulations available in
Spice3 can be altered to control the accuracy, speed, or
default values for some devices. These parameters may be
changed via the "set" command (described later in the sec-
tion on the interactive front-end) or via the ".OPTIONS"
line:
General form:
.OPTIONS OPT1 OPT2 ... (or OPT=OPTVAL ...)
Examples:
.OPTIONS RELTOL=.005 TRTOL=8
The options line allows the user to reset program con-
trol and user options for specific simulation purposes.
Additional options for Nutmeg may be specified as well and
take effect when Nutmeg reads the input file. Options
specified to Nutmeg via the 'set' command are also passed on
to SPICE3 as if specified on a .OPTIONS line. See the fol-
lowing section on the interactive command interpreter for
the parameters which may be set with a .OPTIONS line and the
format of the 'set' command. Any combination of the follow-
ing options may be included, in any order. '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.
BADMOS3 Use the older version of the MOS3 model with the "kappa"
discontinuity.
CHGTOL=x resets the charge tolerance of the program. The default
value is 1.0e-14.
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.
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.
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 100.
ITL2=x resets the dc transfer curve iteration limit. The
default is 50.
ITL3=x resets the lower transient analysis iteration limit.
the default value is 4. (Note: not implemented in Spice3).
ITL4=x resets the transient analysis timepoint iteration limit.
the default is 10.
ITL5=x resets the transient analysis total iteration limit.
the default is 5000. Set ITL5=0 to omit this test.
(Note: not implemented in Spice3).
KEEPOPINFO Retain the operating point information when either an
AC, Distortion, or Pole-Zero analysis is run.
This is particularly useful if the circuit is large
and you do not want to run a (redundant) ".OP" analysis.
METHOD=name sets the numerical integration method used by SPICE.
Possible names are "Gear" or "trapezoidal" (or just "trap").
The default is trapezoidal.
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=AMAX1(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%).
TEMP=x Resets the operating temperature of the circuit. The
default value is 27 deg C (300 deg K). TEMP can be overridden
by a temperature specification on any temperature dependent
instance.
TNOM=x resets the nominal temperature at which device parameters
are measured. The default value is 27 deg C (300 deg K).
TNOM can be overridden by a specification on any temperature
dependent device model.
TRTOL=x resets the transient error tolerance. The default value
is 7.0. This parameter is an estimate of the factor by
which SPICE overestimates the actual truncation error.
TRYTOCOMPACT Applicable only to the LTRA model.
When specified, the simulator tries to condense LTRA transmission
lines' past history of input voltages and currents.
VNTOL=x resets the absolute voltage error tolerance of the
program. The default value is 1 microvolt.
In addition, the following options have the listed
effect when operating in spice2 emulation mode:
option effect
option effect
ACCT causes accounting and run time statistics to be printed
LIST causes the summary listing of the input data to be printed
NOMOD suppresses the printout of the model parameters
NOPAGE suppresses page ejects
NODE causes the printing of the node table.
OPTS causes the option values to be printed.
.IC: Set Initial Conditions
4.2.2. .IC: Set Initial Conditions
General form:
.IC V(NODNUM)=VAL V(NODNUM)=VAL ...
Examples:
.IC V(11)=5 V(4)=-5 V(2)=2.2
The IC line is for setting transient initial condi-
tions. It has two different interpretations, depending on
whether the UIC parameter is specified on the .TRAN control
line. Also, one should not confuse this line with the
.NODESET line. The .NODESET line is only to help dc conver-
gence, and does not affect final bias solution (except for
multi-stable circuits). The two interpretations of this
line are as follows:
1. When the UIC parameter is specified on the .TRAN line,
then the node voltages specified on the .IC control line are
used to compute the capacitor, diode, BJT, JFET, and MOSFET
initial conditions. This is equivalent to specifying the
IC=... parameter on each device line, but is much more con-
venient. The IC=... parameter can still be specified and
takes precedence over the .IC values. Since no dc bias
(initial transient) solution is computed before the tran-
sient analysis, one should take care to specify all dc
source voltages on the .IC control line if they are to be
used to compute device initial conditions.
2. When the UIC parameter is not specified on the .TRAN
control line, the dc bias (initial transient) solution is
computed before the transient analysis. In this case, the
node voltages specified on the .IC control line is forced to
the desired initial values during the bias solution. During
transient analysis, the constraint on these node voltages is
removed. This is the preferred method since it allows SPICE
to compute a consistent dc solution.
.DISTO: Distortion Analysis
4.3.3. .DISTO: Distortion Analysis
General form:
.DISTO DEC ND FSTART FSTOP <F2OVERF1>
.DISTO OCT NO FSTART FSTOP <F2OVERF1>
.DISTO LIN NP FSTART FSTOP <F2OVERF1>
Examples:
.DISTO DEC 10 1kHz 100Mhz
.DISTO DEC 10 1kHz 100Mhz 0.9
The Disto line does a small-signal distortion analysis
of the circuit. A multi-dimensional Volterra series
analysis is done using multi-dimensional Taylor series to
represent the nonlinearities at the operating point. Terms
of up to third order are used in the series expansions.
If the optional parameter F2OVERF1 is not specified,
.DISTO does a harmonic analysis - i.e., it analyses distor-
tion in the circuit using only a single input frequency F1,
which is swept as specified by arguments of the .DISTO com-
mand exactly as in the .AC command. Inputs at this fre-
quency may be present at more than one input source, and
their magnitudes and phases are specified by the arguments
of the DISTOF1 keyword in the input file lines for the input
sources (see the description for independent sources). (The
arguments of the DISTOF2 keyword are not relevant in this
case). The analysis produces information about the A.C.
values of all node voltages and branch currents at the har-
monic frequencies 2F1 and 3F1, vs. the input frequency F1 as
it is swept. (A value of 1 (as a complex distortion output)
signifies cos(2J(2F1)t) at 2F1 and cos(2J(3F1)t) at 3F1,
using the convention that 1 at the input fundamental fre-
quency is equivalent to cos(2JF1t).) The distortion com-
ponent desired (2F1 or 3F1) can be selected using commands
in nutmeg, and then printed or plotted. (Normally, one is
interested primarily in the magnitude of the harmonic com-
ponents, so the magnitude of the AC distortion value is
looked at). It should be noted that these are the A.C.
values of the actual harmonic components, and are not equal
to HD2 and HD3. To obtain HD2 and HD3, one must divide by
the corresponding A.C. values at F1, obtained from an .AC
line. This division can be done using nutmeg commands.
If the optional F2OVERF1 parameter is specified, it
should be a real number between (and not equal to) 0.0 and
1.0; in this case, .DISTO does a spectral analysis. It con-
siders the circuit with sinusoidal inputs at two different
frequencies F1 and F2. F1 is swept according to the .DISTO
control line options exactly as in the .AC control line. F2
is kept fixed at a single frequency as F1 sweeps - the value
at which it is kept fixed is equal to F2OVERF1 times FSTART.
Each independent source in the circuit may potentially have
two (superimposed) sinusoidal inputs for distortion, at the
frequencies F1 and F2. The magnitude and phase of the F1
component are specified by the arguments of the DISTOF1 key-
word in the source's input line (see the description of
independent sources); the magnitude and phase of the F2 com-
ponent are specified by the arguments of the DISTOF2 key-
word. The analysis produces plots of all node
voltages/branch currents at the intermodulation product fre-
quencies F1 + F2, F1 - F2, and (2 F1) - F2, vs the swept
frequency F1. The IM product of interest may be selected
using the setplot command, and displayed with the print and
plot commands. It is to be noted as in the harmonic
analysis case, the results are the actual AC voltages and
currents at the intermodulation frequencies, and need to be
normalized with respect to .AC values to obtain the IM
parameters.
If the DISTOF1 or DISTOF2 keywords are missing from the
description of an independent source, then that source is
assumed to have no input at the corresponding frequency.
The default values of the magnitude and phase are 1.0 and
0.0 respectively. The phase should be specified in degrees.
It should be carefully noted that the number F2OVERF1
should ideally be an irrational number, and that since this
is not possible in practice, efforts should be made to keep
the denominator in its fractional representation as large as
possible, certainly above 3, for accurate results (i.e., if
F2OVERF1 is represented as a fraction A/B, where A and B are
integers with no common factors, B should be as large as
possible; note that A < B because F2OVERF1 is constrained to
be < 1). To illustrate why, consider the cases where
F2OVERF1 is 49/100 and 1/2. In a spectral analysis, the
outputs produced are at F1 + F2, F1 - F2 and 2 F1 - F2. In
the latter case, F1 - F2 = F2, so the result at the F1-F2
component is erroneous because there is the strong fundamen-
tal F2 component at the same frequency. Also, F1 + F2 = 2
F1 - F2 in the latter case, and each result is erroneous
individually. This problem is not there in the case where
F2OVERF1 = 49/100, because F1-F2 = 51/100 F1 < > 49/100 F1 =
F2. In this case, there are two very closely spaced fre-
quency components at F2 and F1 - F2. One of the advantages
of the Volterra series technique is that it computes distor-
tions at mix frequencies expressed symbolically (i.e. n F1 +
m F2), therefore one is able to obtain the strengths of dis-
tortion components accurately even if the separation between
them is very small, as opposed to transient analysis for
example. The disadvantage is of course that if two of the
mix frequencies coincide, the results are not merged
together and presented (though this could presumably be done
as a postprocessing step). Currently, the interested user
should keep track of the mix frequencies himself or herself
and add the distortions at coinciding mix frequencies
together should it be necessary.
.TRAN: Transient Analysis
4.3.9. .TRAN: Transient Analysis
General form:
.TRAN TSTEP TSTOP <TSTART <TMAX>>
Examples:
.TRAN 1NS 100NS
.TRAN 1NS 1000NS 500NS
.TRAN 10NS 1US
TSTEP is the printing or plotting increment for line-
printer output. For use with the post-processor, TSTEP is
the suggested computing increment. TSTOP is the final time,
and TSTART is the initial time. If TSTART is omitted, it is
assumed to be zero. The transient analysis always begins at
time zero. In the interval <zero, TSTART>, the circuit is
analyzed (to reach a steady state), but no outputs are
stored. In the interval <TSTART, TSTOP>, the circuit is
analyzed and outputs are stored. TMAX is the maximum step-
size that SPICE uses; for default, the program chooses
either TSTEP or (TSTOP-TSTART)/50.0, whichever is smaller.
TMAX is useful when one wishes to guarantee a computing
interval which is smaller than the printer increment, TSTEP.
UIC (use initial conditions) is an optional keyword
which indicates that the user does not want SPICE to solve
for the quiescent operating point before beginning the tran-
sient analysis. If this keyword is specified, SPICE uses
the values specified using IC=... on the various elements as
the initial transient condition and proceeds with the
analysis. If the .IC control line has been specified, then
the node voltages on the .IC line are used to compute the
initial conditions for the devices. Look at the description
on the .IC control line for its interpretation when UIC is
not specified.
.PRINT Lines
4.4.2. .PRINT Lines
General form:
.PRINT PRTYPE OV1 <OV2 ... OV8>
Examples:
.PRINT TRAN V(4) I(VIN)
.PRINT DC V(2) I(VSRC) V(23, 17)
.PRINT AC VM(4, 2) VR(7) VP(8, 3)
The Print line defines the contents of a tabular list-
ing of one to eight output variables. PRTYPE is the type of
the analysis (DC, AC, TRAN, NOISE, or DISTO) for which the
specified outputs are desired. The form for voltage or
current output variables is the same as given in the previ-
ous section for the print command; Spice2 restricts the out-
put variable to the following forms (though this restriction
is not enforced by Spice3):
V(N1<,N2>)
specifies the voltage difference between nodes N1
and N2. If N2 (and the preceding comma) is omit-
ted, ground (0) is assumed. See the print command
in the previous section for more details. For
compatibility with spice2, the following five
additional values can be accessed for the ac
analysis by replacing the "V" in V(N1,N2) with:
VR - real part
VI - imaginary part
VM - magnitude
VP - phase
VDB - 20 log10(magnitude)
I(VXXXXXXX)
specifies the current flowing in the independent
voltage source named VXXXXXXX. Positive current
flows from the positive node, through the source,
to the negative node. For the ac analysis, the
corresponding replacements for the letter I may be
made in the same way as described for voltage out-
puts.
Output variables for the noise and distortion analyses
have a different general form from that of the other ana-
lyses.
There is no limit on the number of .PRINT lines for
each type of analysis.
.PLOT Lines
4.4.3. .PLOT Lines
General form:
.PLOT PLTYPE OV1 <(PLO1, PHI1)> <OV2 <(PLO2, PHI2)> ... OV8>
Examples:
.PLOT DC V(4) V(5) V(1)
.PLOT TRAN V(17, 5) (2, 5) I(VIN) V(17) (1, 9)
.PLOT AC VM(5) VM(31, 24) VDB(5) VP(5)
.PLOT DISTO HD2 HD3(R) SIM2
.PLOT TRAN V(5, 3) V(4) (0, 5) V(7) (0, 10)
The Plot line defines the contents of one plot of
from one to eight output variables. PLTYPE is the type
of analysis (DC, AC, TRAN, NOISE, or DISTO) for which
the specified outputs are desired. The syntax for the
OVI is identical to that for the .PRINT line and for the
plot command in the interactive mode.
The overlap of two or more traces on any plot is indi-
cated by the letter X.
When more than one output variable appears on the same
plot, the first variable specified is printed as well as
plotted. If a printout of all variables is desired, then a
companion .PRINT line should be included.
There is no limit on the number of .PLOT lines speci-
fied for each type of analysis.
INTERACTIVE INTERPRETER
5. INTERACTIVE INTERPRETER
Spice3 consists of a simulator and a front-end for data
analysis and plotting. The front-end may be run as a
separate "stand-alone" program under the name Nutmeg.
Nutmeg will read in the "raw" data output file created
by spice -r or with the write command in an interactive
Spice3 session. Nutmeg or interactive Spice3 can plot data
from a simulation on a graphics terminal or a workstation
display. Most of the commands available in the interactive
Spice3 front end are available in nutmeg; where this is not
the case, Spice-only commands have been marked with an
asterisk ("*"). Note that the raw output file is different
from the data that Spice2 writes to the standard output,
which may also be produced by spice3 with the "-b" command
line option.
Spice and Nutmeg use the X Window System for plotting
if they find the environment variable DISPLAY. Otherwise, a
graphics-terminal independent interface (MFB) is used. If
you are using X on a workstation, the DISPLAY variable
should already be set; if you want to display graphics on a
system different from the one you are running Spice3 or Nut-
meg on, DISPLAY should be of the form "machine:0.0". See
the appropriate documentation on the X Window Sytem for more
details.
Command Synopsis
spice [ -n ] [ -t term ] [ -r rawfile] [ -b ] [ -i ] [ input file ... ]
nutmeg [ - ] [ -n ] [ -t term ] [ datafile ... ]
Options are:
- Don't try to load the default data file
("rawspice.raw") if no other files are given. Nutmeg
only.
-n (or -N)
Don't try to source the file ".spiceinit" upon startup.
Normally spice and nutmeg try to find the file in the
current directory, and if it is not found then in the
user's home directory.
-t term (or -T term)
The program is being run on a terminal with mfb name
term.
-b (or -B)
Run in batch mode. Spice3 reads the default input
source (e.g. keyboard) or reads the given input file
and performs the analyses specified; output is either
Spice2-like line-printer plots ("ascii plots") or a
spice rawfile. See the following section for details.
Note that if the input source is not a terminal (e.g.
using the IO redirection notation of "<") Spice3 de-
faults to batch mode (-i overrides). This option is
valid for Spice3 only.
-s (or -S)
Run in server mode. This is like batch mode, except
that a temporary rawfile is used and then written to
the standard output, preceded by a line with a single
"@", after the simulation is done. This mode is used
by the spice daemon. This option is valid for Spice3
only.
-i (or -I)
Run in interactive mode. This is useful if the stan-
dard input is not a terminal but interactive mode is
desired. Command completion is not available unless
the standard input is a terminal, however. This option
is valid for Spice3 only.
-r rawfile (or -P rawfile)
Use rawfile as the default file into which the results
of the simulation are saved. This option is valid for
Spice3 only.
Further arguments to spice are taken to be Spice3 input
files, which are read and saved (if running in batch mode
then they are run immediately). Spice3 accepts most Spice2
input file, and output ascii plots, fourier analyses, and
node printouts as specified in .plot, .four, and .print
cards. If an out parameter is given on a .width card, the
effect is the same as set width = .... Since Spice3 ascii
plots do not use multiple ranges, however, if vectors
together on a .plot card have different ranges they are not
provide as much information as they would in Spice2. The
output of Spice3 is also much less verbose than Spice2, in
that the only data printed is that requested by the above
cards.
For nutmeg, further arguments are taken to be data
files in binary or ascii format (see sconvert(1)) which are
loaded into nutmeg. If the file is in binary format, it may
be only partially completed (useful for examining Spice2
output before the simulation is finished). One file may
contain any number of data sets from different analyses.
EXPRESSIONS, FUNCTIONS, AND CONSTANTS
5.1. EXPRESSIONS, FUNCTIONS, AND CONSTANTS
Spice and Nutmeg data is in the form of vectors: time,
voltage, etc. Each vector has a type, and vectors can be
operated on and combined algebraicly in ways consistent with
their types. Vectors are normally created when a data file
is read in (see the load command below), and when the ini-
tial datafile is loaded. They can also be created with the
let command.
An expression is an algebraic formula involving vectors
and scalars (a scalar is a vector of length 1) and the fol-
lowing operations:
+ - * / ^ %
% is the modulo operator, and the comma operator has two
meanings: if it is present in the argument list of a user-
definable function, it serves to separate the arguments.
Otherwise, the term x , y is synonymous with x + j(y).
Also available are the logical operations & (and), |
(or), ! (not), and the relational operations <, >, >=, <=,
=, and <> (not equal). If used in an algebraic expression
they work like they would in C, producing values of 0 or 1.
The relational operators have the following synonyms:
gt >
lt <
ge >=
le <=
ne <>
eq =
and &
or |
not !
These are useful when < and > might be confused with IO
redirection (which is almost always).
The following functions are available:
mag(vector) The magnitude of vector
ph(vector) The phase of vector
j(vector) i (sqrt(-1)) times vector
real(vector) The real component of vector
imag(vector) The imaginary part of vector
db(vector) 20 log10(mag(vector))
log(vector) The logarithm (base 10) of vector
ln(vector) The natural logarithm (base e) of vector
exp(vector) e to the vector power
abs(vector) The absolute value of vector.
sqrt(vector) The square root of vector.
sin(vector) The sine of vector.
cos(vector) The cosine of vector.
tan(vector) The tangent of vector.
atan(vector) The inverse tangent of vector.
norm(vector) The vector normalized to 1 (i.e, the
largest magnitude of any component is
1).
rnd(vector) A vector with each component a random
integer between 0 and the absolute value
of the vectors's corresponding com-
ponent.
mean(vector) The result is a scalar (a length 1 vec-
tor) that is the mean of the elements of
vector.
vector(number) The result is a vector of length number,
with elements 0, 1, ... number - 1. If
number is a vector then just the first
element is taken, and if it isn't an in-
teger then the floor of the magnitude is
used.
length(vector) The length of vector.
interpolate(plot.vector) The result of interpolating the named
vector onto the scale of the current
plot. This function uses the variable
polydegree to determine the degree of
interpolation.
deriv(vector) Calculates the derivative of the given
vector. This uses numeric differentia-
tion by interpolating a polynomial and
may not produce satisfactory results
(particularly with iterated differentia-
tion). The implementation only cacu-
lates the dirivative with respect to the
real componant of that vector's scale.
A vector may be either the name of a vector already
defined or a floating-point number (a scalar). A number may
be written in any format acceptable to SPICE, such as
14.6Meg or -1.231e-4. Note that you can either use scien-
tific notation or one of the abbreviations like MEG or G,
but not both. As with SPICE, a number may have trailing
alphabetic characters after it.
The notation expr [num] denotes the num'th element of
expr. For multi-dimensional vectors, a vector of one less
dimension is returned. Also for multi-dimensional vectors,
the notation expr[m][n] will return the nth element of the
mth subvector. To get a subrange of a vector, use the form
expr[lower, upper].
To reference vectors in a plot that is not the current
plot (see the setplot command, below), the notation
plotname.vecname can be used.
Either a plotname or a vector name may be the wildcard
all. If the plotname is all, matching vectors from all
plots are specified, and if the vector name is all, all vec-
tors in the specified plots are referenced. Note that you
may not use binary operations on expressions involving wild-
cards - it is not obvious what all + all should denote, for
instance. Thus some (contrived) examples of expressions
are:
cos(TIME) + db(v(3))
sin(cos(log([1 2 3 4 5 6 7 8 9 10])))
TIME * rnd(v(9)) - 15 * cos(vin#branch) ^ [7.9e5 8]
not ((ac3.FREQ[32] & tran1.TIME[10]) gt 3)
Vector names in spice may have a name such as
@name[param], where name is either the name of a device
instance or model. This denotes the value of the param
parameter of the device or model. See Appendix B for
details of what parameters are available. The value is a
vector of length 1. This function is also available with
the show command, and is available with variables for con-
venience for command scripts.
There are a number of pre-defined constants in nutmeg.
They are:
pi J (3.14159...)
e The base of natural logarithms (2.71828...)
c The speed of light (299,792,500 m/sec)
i The square root of -1
o
kelvin Absolute 0 in Centigrade (-273.15 C)
echarge The charge on an electron (1.6021918e-19 C)
boltz Boltzman's constant (1.3806226e-23)
planck Planck's constant (h = 6.626200e-34)
These are all in MKS units. If you have another vari-
able with a name that conflicts with one of these then it
takes precedence.
COMMAND INTERPRETATION
5.2. COMMAND INTERPRETATION
If a word is typed as a command, and there is no
built-in command with that name, the directories in the
sourcepath list are searched in order for the file. If it
is found, it is read in as a command file (as if it were
sourced). Before it is read, however, the variables argc
and argv are set to the number of words following the
filename on the command line, and a list of those words
respectively. After the file is finished, these variables
are unset. Note that if a command file calls another, it
must save its argv and argc since they are altered. Also,
command files may not be re-entrant since there are no local
variables. (Of course, the procedures may explicitly mani-
pulate a stack...) This way one can write scripts analogous
to shell scripts for nutmeg and Spice3.
Note that for the script to work with Spice3, it must
begin with a blank line (or whatever else, since it is
thrown away) and then a line with .control on it. This is
an unfortunate result of the source command being used for
both circuit input and command file execution. Note also
that this allows the user to merely type the name of a cir-
cuit file as a command and it is automatically run. The
commands are executed immediately, without running any ana-
lyses that may be spicified in the circuit (to execute the
analyses before the script executes, include a "run" command
in the script).
There are various command scripts installed in
/usr/local/lib/spice/scripts (or whatever the path is on
your machine), and the default sourcepath includes this
directory, so you can use these command files (almost) like
builtin commands.
Plot: Plot values on the display
5.3.27. Plot: Plot values on the display
General Form
plot exprs [ylimit ylo yhi] [xlimit xlo xhi] [xindices xilo xihi]
[xcompress comp] [xdelta xdel] [ydelta ydel] [xlog] [ylog] [loglog]
[vs xname] [xlabel word] [ylabel word] [title word] [samep]
[linear]
Plot the given exprs on the screen (if you are on a
graphics terminal). The xlimit and ylimit arguments deter-
mine the high and low x- and y-limits of the axes, respec-
tively. The xindices arguments determine what range of
points are to be plotted - everything between the xilo'th
point and the xihi'th point is plotted. The xcompress argu-
ment specifies that only one out of every comp points should
be plotted. If an xdelta or a ydelta parameter is present,
it specifies the spacing between grid lines on the X- and
Y-axis. These parameter names may be abbreviated to xl, yl,
xind, xcomp, xdel, and ydel respectively.
The xname argument is an expression to use as the scale
on the x-axis. If xlog or ylog are present then the X or Y
scale, respectively, is logarithmic (loglog is the same as
specifying both). The xlabel and ylabel arguments cause the
specified labels to be used for the X and Y axes, respec-
tively.
If samep is given, the values of the other parameters
(other than xname) from the previous plot, hardcopy, or
asciiplot command is used unless re-defined on the command
line.
The title argument is used in the place of the plot
name at the bottom of the graph.
The linear keyword is used to override a default log-
scale plot (as in the output for an AC analysis).
Finally, the keyword polar to generate a polar plot.
To produce a smith plot, use the keyword smith. Note that
the data is transformed, so for smith plots you will see the
data transformed by the function (x-1)/(x+1). To produce a
polar plot with a smith grid but without performing the
smith transform, use the keyword smithgrid.
Rusage: Resource usage
5.3.36. Rusage: Resource usage
General Form
rusage [resource ...]
Print resource usage statistics. If any resources
are given, just print the usage of that resource. Most
resources require that a circuit be loaded. Currently
valid resources are:
elapsed The amount of time elapsed since the last rusage
elaped call.
faults Number of page faults and context switches (BSD only).
space Data space used.
time CPU time used so far.
temp Operating temperature.
tnom Temperature at which device parameters were measured.
equations Circuit Equations
time Total Analysis Time
totiter Total iterations
accept Accepted timepoints
rejected Rejected timepoints
loadtime Time spent loading the circuit matrix and RHS.
reordertime Matrix reordering time
lutime L-U decomposition time
solvetime Matrix solve time
trantime Transient analysis time
tranpoints Transient timepoints
traniter Transient iterations
trancuriters Transient iterations for the last time point*
tranlutime Transient L-U decomposition time
transolvetime Transient matrix solve time
everything All of the above.
* listed incorrectly as "Transient iterations per point".
Show*: List device state
5.3.45. Show*: List device state
General Form
show devices [ : parameters ] , ...
Old Form
show -v @device [ [ name ] ]
The show command prints out tables summarizing the
operating condition of selected devices (much like the
spice2 operation point summary). If device is missing,
a default set of devices are listed, if device is a sin-
gle letter, devices of that type are listed; if device
is a subcircuit name (beginning and ending in ":") only
devices in that subcircuit are shown (end the name in a
double-":" to get devices within sub-subcircuits recur-
sively). The second and third forms may be combined
("letter:subcircuit:") or "letter:subcircuit::") to
select a specific type of device from a subcircuit. A
device's full name may be specified to list only that
device. Finally, devices may be selected by model by
using the form "#modelname" or ":subcircuit#modelname"
or "letter:subcircuit#modelname".
If no parameters are specified, the values for a
standard set of parameters are listed. If the list of
parameters contains a "+", the default set of parameters
is listed along with any other specified parameters.
For both devices and parameters, the word "all" has
the obvious meaning. Note: there must be spaces
separating the ":" that divides the device list from the
parameter list.
The "old form" (with "-v") prints the data in a
older, more verbose pre-spice3f format.
VARIABLES
5.5. VARIABLES
The operation of both Nutmeg and Spice3 may be affected
by setting variables with the "set" command. In addition to
the variables mentioned below, the set command in Spice3
also affect the behaviour of the simulator via the options
previously described under the section on ".OPTIONS".
The variables meaningful to nutmeg which may be altered
by the set command are:
diff_abstol The absolute tolerance used by the diff command.
appendwrite Append to the file when a write command is is-
sued, if one already exists.
colorN These variables determine the colors used, if X
is being run on a color display. N may be
between 0 and 15. Color 0 is the background,
color 1 is the grid and text color, and colors 2
through 15 are used in order for vectors plot-
ted. The value of the color variables should be
names of colors, which may be found in the file
/usr/lib/rgb.txt.
combplot Plot vectors by drawing a vertical line from
each point to the X-axis, as opposed to joining
the points. Note that this option is subsumed
in the plottype option, below.
cpdebug Print cshpar debugging information (must be com-
plied with the -DCPDEBUG flag). Unsupported in
the current release.
debug If set then a lot of debugging information is
printed (must be compiled with the -DFTEDEBUG
flag). Unsupported in the current release.
device The name (/dev/tty??) of the graphics device.
If this variable isn't set then the user's
terminal is used. To do plotting on another
monitor you probably have to set both the
device and term variables. (If device is set
to the name of a file, nutmeg dumps the
graphics control codes into this file -- this
is useful for saving plots.)
echo Print out each command before it is executed.
filetype This can be either ascii or binary, and
determines what format are. The default is
ascii.
fourgridsize How many points to use for interpolating
into when doing fourier analysis.
gridsize If this variable is set to an integer,
this number is used as the number of
equally spaced points to use for the Y-
axis when plotting. Otherwise the
current scale is used (which may not
have equally spaced points). If the
current scale isn't strictly monotonic,
then this option has no effect.
hcopydev If this is set, when the hardcopy com-
mand is run the resulting file is au-
tomatically printed on the printer named
hcopydev with the command lpr -Phcopydev
-g file.
hcopyfont This variable specifies the font name
for hardcopy output plots. The value is
device dependent.
hcopyfontsize This is a scaling factor for the font
used in hardcopy plots.
hcopydevtype This variable specifies the type of the
printer output to use in the hardcopy
command. If hcopydevtype is not set,
plot (5) format is assumed. The stan-
dard distribution currently recognizes
postscript as an alternative output for-
mat. When used in conjunction with
hcopydev, hcopydevtype should specify a
format supported by the printer.
height The length of the page for asciiplot and
print col.
history The number of events to save in the his-
tory list.
lprplot5 This is a printf(3s) style format string
used to specify the command to use for
sending plot(5)-style plots to a printer
or plotter. The first parameter sup-
plied is the printer name, the second
parameter supplied is a file name con-
taining the plot. Both parameters are
strings. It is trivial to cause Spice3
to abort by supplying a unreasonable
format string.
lprps This is a printf(3s) style format string
used to specify the command to use for
sending PostScript plots to a printer or
plotter. The first parameter supplied
is the printer name, the second parame-
ter supplied is a file name containing
the plot. Both parameters are strings.
It is trivial to cause Spice3 to abort
by supplying a unreasonable format
string.
nfreqs The number of frequencies to compute in
the fourier command. (Defaults to 10.)
nobreak Don't have asciiplot and print col break
between pages.
noasciiplotvalue Don't print the first vector plotted to
the left when doing an asciiplot.
noclobber Don't overwrite existing files when do-
ing IO redirection.
noglob Don't expand the global characters `*',
`?', `[', and `]'. This is the default.
nogrid Don't plot a grid when graphing curves
(but do label the axes).
nomoremode If nomoremode is not set, whenever a
large amount of data is being printed to
the screen (e.g, the print or asciiplot
commands), the output is stopped every
screenful and continues when a carriage
return is typed. If nomoremode is set
then data scrolls off the screen without
check.
nonomatch If noglob is unset and a global expres-
sion cannot be matched, use the global
characters literally instead of com-
plaining.
nosort Don't have display sort the variable names.
noprintscale Don't print the scale in the leftmost
column when a print col command is given.
numdgt The number of digits to print when printing
tables of data (fourier, print col). The
default precision is 6 digits. On the VAX,
approximately 16 decimal digits are avail-
able using double precision, so numdgt
should not be more than 16. If the number
is negative, one fewer digit is printed to
ensure constant widths in tables.
plottype This should be one of normal, comb, or
point:chars. normal, the default, causes
points to be plotted as parts of connected
lines. comb causes a comb plot to be done
(see the description of the combplot vari-
able above). point causes each point to be
plotted separately - the chars are a list
of characters that are used for each vector
plotted. If they are omitted then a de-
fault set is used.
polydegree The degree of the polynomial that the plot
command should fit to the data. If polyde-
gree is N, then nutmeg fits a degree N po-
lynomial to every set of N points and draw
10 intermediate points in between each end-
point. If the points aren't monotonic,
then it tries rotating the curve and reduc-
ing the degree until a fit is achieved.
polysteps The number of points to interpolate between
every pair of points available when doing
curve fitting. The default is 10.
program The name of the current program (argv[0]).
prompt The prompt, with the character `!' replaced
by the current event number.
rawfile The default name for rawfiles created.
diff_reltol The relative tolerance used by the diff command.
remote_shell Overrides the name used for generating rspice
runs (default is "rsh").
rhost The machine to use for remote SPICE-3 runs, in-
stead of the default one (see the description of
the rspice command, below).
rprogram The name of the remote program to use in the
rspice command.
slowplot Stop between each graph plotted and wait for the
user to type return before continuing.
sourcepath A list of the directories to search when a
source command is given. The default is the
current directory and the standard spice library
(/usr/local/lib/spice, or whatever LIBPATH is
#defined to in the Spice3 source.
spicepath The program to use for the aspice command. The
default is /cad/bin/spice.
term The mfb name of the current terminal.
units If this is degrees, then all the trig functions
will use degrees instead of radians.
unixcom If a command isn't defined, try to execute it as
a UNIX command. Setting this option has the ef-
fect of giving a rehash command, below. This is
useful for people who want to use nutmeg as a
login shell.
verbose Be verbose. This is midway between echo and de-
bug / cpdebug.
diff_vntol The absolute voltage tolerance used by the diff
command.
width The width of the page for asciiplot and
print col.
x11lineararcs Some X11 implementations have poor arc
drawing. If you set this option, Spice3
will plot using an approximation to the
curve using straight lines.
xbrushheight The height of the brush to use if X is
being run.
xbrushwidth The width of the brush to use if X is
being run.
xfont The name of the X font to use when plot-
ting data and entering labels. The plot
may not look good if this is a
variable-width font.
There are several set variables that Spice3 uses but
Nutmeg does not. They are:
editor The editor to use for the edit command.
modelcard The name of the model card (normally
May.in -432u
noaskquit Do not check to make sure that there are
no circuits suspended and no plots un-
saved. Normally Spice3 warns the user
when he tries to quit if this is the
case.
nobjthack Assume that BJTs have 4 nodes.
noparse Don't attempt to parse input files when
they are read in (useful for debugging).
Of course, they cannot be run if they
are not parsed.
nosubckt Don't expand subcircuits.
renumber Renumber input lines when an input file
has .include's.
subend The card to end subcircuits (normally
subinvoke The prefix to invoke subcircuits (nor-
mally x).
substart The card to begin subcircuits (normally
MISCELLANEOUS
5.6. MISCELLANEOUS
If there are subcircuits in the input file, Spice3
expands instances of them. A subcircuit is delimited by the
cards .subckt and .ends, or whatever the value of the vari-
ables substart and subend is, respectively. An instance of
a subcircuit is created by specifying a device with type 'x'
- the device line is written
xname node1 node2 ... subcktname
where the nodes are the node names that replace the formal
parameters on the .subckt line. All nodes that are not for-
mal parameters are prepended with the name given to the
instance and a ':', as are the names of the devices in the
subcircuit. If there are several nested subcircuits, node
and device names look like subckt1:subckt2:...:name. If the
variable subinvoke is set, then it is used as the prefix
that specifies instances of subcircuits, instead of 'x'.
Nutmeg occasionally checks to see if it is getting
close to running out of space, and warns the user if this is
the case. (This is more likely to be useful with the SPICE
front end.)
C-shell type quoting with "" and '', and backquote sub-
stitution may be used. Within single quotes, no further
substitution (like history substitution) is done, and within
double quotes, the words are kept together but further sub-
stitution is done. Any text between backquotes is replaced
by the result of executing the text as a command to the
shell.
Tenex-style ('set filec' in the 4.3 C-shell) command,
filename, and keyword completion is possible: If EOF
(control-D) is typed after the first character on the line,
a list of the commands or possible arguments is printed (If
it is alone on the line it exits nutmeg). If escape is
typed, then nutmeg trys to complete what the user has
already typed. To get a list of all commands, the user
should type <space> ^D.
The values of variables may be used in commands by
writing $varname where the value of the variable is to
appear. The special variables $$ and $< refer to the pro-
cess ID of the program and a line of input which is read
from the terminal when the variable is evaluated, respec-
tively. If a variable has a name of the form $&word, then
word is considered a vector (see above), and its value is
taken to be the value of the variable. If $foo is a valid
variable, and is of type list, then the expression
$foo[low-high] represents a range of elements. Either the
upper index or the lower may be left out, and the reverse of
a list may be obtained with $foo[len-0]. Also, the notation
$?foo evaluates to 1 if the variable foo is defined, 0 oth-
erwise, and $#foo evaluates to the number of elements in foo
if it is a list, 1 if it is a number or string, and 0 if it
is a boolean variable.
History substitutions, similar to C-shell history sub-
stitutions, are also available - see the C-shell manual page
for all of the details.
The characters ~, {, and } have the same effects as
they do in the C-Shell, i.e., home directory and alternative
expansion. It is possible to use the wildcard characters *,
?, [, and ] also, but only if you unset noglob first. This
makes them rather useless for typing algebraic expressions,
so you should set noglob again after you are done with wild-
card expansion. Note that the pattern [^abc] matchs all
characters except a, b, and c.
IO redirection is available - the symbols >, >>, >&,
>>&, and < have the same effects as in the C-shell.
You may type multiple commands on one line, separated
by semicolons.
If you want to use a different mfbcap file than the
default (usually ~cad/lib/mfbcap), you have to set the
environment variable SPICE_MFBCAP before you start nutmeg or
spice. The -m option and the mfbcap variable no longer
work.
If X is being used, the cursor may be positioned at any
point on the screen when the window is up and characters
typed at the keyboard are added to the window at that point.
The window may then be sent to a printer using the xpr(1)
program.
Nutmeg can be run under VAX/VMS, as well as several
other operating systems. Some features like command comple-
tion, expansion of *, ?, and [], backquote substitution, the
shell command, and so forth do not work.
On some systems you have to respond to the -more-
prompt during plot with a carriage return instead of any key
as you can do on UNIX.
BUGS
5.7. BUGS
The label entry facilities are primitive. You must be
careful to type slowly when entering labels -- nutmeg checks
for input once every second, and can get confused if charac-
ters arrive faster.
If you redefine colors after creating a plot window
with X, and then cause the window to be redrawn, it does not
redraw in the correct colors.
When defining aliases like
alias pdb plot db( '!:1' - '!:2' )
you must be careful to quote the argument list substitu-
tions in this manner. If you quote the whole argument
it might not work properly.
In a user-defined function, the arguments cannot be
part of a name that uses the plot.vec syntax. For example:
define check(v(1)) cos(tran1.v(1))
does not work.
If you type plot all all, or otherwise use a wildcard
reference for one plot twice in a command, the effect is
unpredictable.
The asciiplot command doesn't deal with log scales or
the delta keywords.
Often the names of terminals recognized by MFB are dif-
ferent from those in /etc/termcap. Thus you may have to
reset your terminal type with the command
set term = termname
where termname is the name in the mfbcap file.
The hardcopy command is useless on VMS and other sys-
tems without the plot command, unless the user has a program
that understands plot(5) format.
Spice3 recognizes all the notations used in SPICE2
.plot cards, and translates vp(1) into ph(v(1)), and so
forth. However, if there are spaces in these names it won't
work. Hence v(1, 2) and (-.5, .5) aren't recognized.
BJTs can have either 3 or 4 nodes, which makes it dif-
ficult for the subcircuit expansion routines to decide what
to rename. If the fourth parameter has been declared as a
model name, then it is assumed that there are 3 nodes, oth-
erwise it is considered a node. To disable this, you can
set the variable "nobjthack" which forces BJTs to have 4
nodes (for the purposes of subcircuit expansion, at least).
The @name[param] notation might not work with trace,
iplot, etc. yet.
The first line of a command file (except for the .spi-
ceinit file) should be a comment, otherwise SPICE may create
an empty circuit.
Files specified on the command line are read before
.spiceinit is read.
BIBLIOGRAPHY
6. BIBLIOGRAPHY
[1] A. Vladimirescu and S. Liu, The Simulation of MOS
Integrated Circuits Using SPICE2
ERL Memo No. ERL M80/7, Electronics Research Laboratory
University of California, Berkeley, October 1980
[2] T. Sakurai and A. R. Newton, A Simple MOSFET Model for
Circuit Analysis and its application to CMOS gate delay
analysis and series-connected MOSFET Structure
ERL Memo No. ERL M90/19, Electronics Research Labora-
tory,
University of California, Berkeley, March 1990
[3] B. J. Sheu, D. L. Scharfetter, and P. K. Ko, SPICE2
Implementation of BSIM
ERL Memo No. ERL M85/42, Electronics Research Labora-
tory
University of California, Berkeley, May 1985
[4] J. R. Pierret, A MOS Parameter Extraction Program for
the BSIM Model
ERL Memo Nos. ERL M84/99 and M84/100, Electronics
Research Laboratory
University of California, Berkeley, November 1984
[5] Min-Chie Jeng, Design and Modeling of Deep-
Submicrometer MOSFETSs
ERL Memo Nos. ERL M90/90, Electronics Research Labora-
tory
University of California, Berkeley, October 1990
[6] Soyeon Park, Analysis and SPICE implementation of High
Temperature Effects on MOSFET,
Master's thesis, University of California, Berkeley,
December 1986.
[7] Clement Szeto, Simulator of Temperature Effects in MOS-
FETs (STEIM),
Master's thesis, University of California, Berkeley,
May 1988.
[8] J.S. Roychowdhury and D.O. Pederson, Efficient Tran-
sient Simulation of Lossy Interconnect,
Proc. of the 28th ACM/IEEE Design Automation Confer-
ence, June 17-21 1991, San Francisco
[9] A. E. Parker and D. J. Skellern, An Improved FET Model
for Computer Simulators,
IEEE Trans CAD, vol. 9, no. 5, pp. 551-553, May 1990.
[10] R. Saleh and A. Yang, Editors, Simulation and Modeling,
IEEE Circuits and Devices, vol. 8, no. 3, pp. 7-8 and
49, May 1992
[11] H.Statz et al., GaAs FET Device and Circuit Simulation
in SPICE,
IEEE Transactions on Electron Devices, V34, Number 2,
February, 1987 pp160-169.
Circuit 4: Four-Bit Binary Adder
A.4. Circuit 4: Four-Bit Binary Adder
The following deck simulates a four-bit binary adder,
using several subcircuits to describe various pieces of the
overall circuit.
ADDER - 4 BIT ALL-NAND-GATE BINARY ADDER
*** SUBCIRCUIT DEFINITIONS
.SUBCKT NAND 1 2 3 4
* NODES: INPUT(2), OUTPUT, VCC
Q1 9 5 1 QMOD
D1CLAMP 0 1 DMOD
Q2 9 5 2 QMOD
D2CLAMP 0 2 DMOD
RB 4 5 4K
R1 4 6 1.6K
Q3 6 9 8 QMOD
R2 8 0 1K
RC 4 7 130
Q4 7 6 10 QMOD
DVBEDROP 10 3 DMOD
Q5 3 8 0 QMOD
.ENDS NAND
.SUBCKT ONEBIT 1 2 3 4 5 6
* NODES: INPUT(2), CARRY-IN, OUTPUT, CARRY-OUT, VCC
X1 1 2 7 6 NAND
X2 1 7 8 6 NAND
X3 2 7 9 6 NAND
X4 8 9 10 6 NAND
X5 3 10 11 6 NAND
X6 3 11 12 6 NAND
X7 10 11 13 6 NAND
X8 12 13 4 6 NAND
X9 11 7 5 6 NAND
.ENDS ONEBIT
.SUBCKT TWOBIT 1 2 3 4 5 6 7 8 9
* NODES: INPUT - BIT0(2) / BIT1(2), OUTPUT - BIT0 / BIT1,
* CARRY-IN, CARRY-OUT, VCC
X1 1 2 7 5 10 9 ONEBIT
X2 3 4 10 6 8 9 ONEBIT
.ENDS TWOBIT
.SUBCKT FOURBIT 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
* NODES: INPUT - BIT0(2) / BIT1(2) / BIT2(2) / BIT3(2),
* OUTPUT - BIT0 / BIT1 / BIT2 / BIT3, CARRY-IN, CARRY-OUT, VCC
X1 1 2 3 4 9 10 13 16 15 TWOBIT
X2 5 6 7 8 11 12 16 14 15 TWOBIT
.ENDS FOURBIT
*** DEFINE NOMINAL CIRCUIT
.MODEL DMOD D
.MODEL QMOD NPN(BF=75 RB=100 CJE=1PF CJC=3PF)
VCC 99 0 DC 5V
VIN1A 1 0 PULSE(0 3 0 10NS 10NS 10NS 50NS)
VIN1B 2 0 PULSE(0 3 0 10NS 10NS 20NS 100NS)
VIN2A 3 0 PULSE(0 3 0 10NS 10NS 40NS 200NS)
VIN2B 4 0 PULSE(0 3 0 10NS 10NS 80NS 400NS)
VIN3A 5 0 PULSE(0 3 0 10NS 10NS 160NS 800NS)
VIN3B 6 0 PULSE(0 3 0 10NS 10NS 320NS 1600NS)
VIN4A 7 0 PULSE(0 3 0 10NS 10NS 640NS 3200NS)
VIN4B 8 0 PULSE(0 3 0 10NS 10NS 1280NS 6400NS)
X1 1 2 3 4 5 6 7 8 9 10 11 12 0 13 99 FOURBIT
RBIT0 9 0 1K
RBIT1 10 0 1K
RBIT2 11 0 1K
RBIT3 12 0 1K
RCOUT 13 0 1K
*** (FOR THOSE WITH MONEY (AND MEMORY) TO BURN)
.TRAN 1NS 6400NS
.END
APPENDIX B: MODEL AND DEVICE PARAMETERS
B. APPENDIX B: MODEL AND DEVICE PARAMETERS
The following tables summarize the parameters available
on each of the devices and models in (note that for some
systems with limited memory, output parameters are not
available). There are several tables for each type of dev-
ice supported by . Input parameters to instances and models
are parameters that can occur on an instance or model defin-
ition line in the form "keyword=value" where "keyword" is
the parameter name as given in the tables. Default input
parameters (such as the resistance of a resistor or the
capacitance of a capacitor) obviously do not need the key-
word specified.
Output parameters are those additional parameters which
are available for many types of instances for the output of
operating point and debugging information. These parameters
are specified as "@device[keyword]" and are available for
the most recent point computed or, if specified in a ".save"
statement, for an entire simulation as a normal output vec-
tor. Thus, to monitor the gate-to-source capacitance of a
MOSFET, a command
save @m1[cgs]
given before a transient simulation causes the specified
capacitance value to be saved at each timepoint, and a sub-
sequent command such as
plot @m1[cgs]
produces the desired plot. (Note that the show command does
not use this format).
Some variables are listed as both input and output, and
their output simply returns the previously input value, or
the default value after the simulation has been run. Some
parameter are input only because the output system can not
handle variables of the given type yet, or the need for them
as output variables has not been apparent. Many such input
variables are available as output variables in a different
format, such as the initial condition vectors that can be
retrieved as individual initial condition values. Finally,
internally derived values are output only and are provided
for debugging and operating point output purposes.
Please note that these tables do not provide the
detailed information available about the parameters provided
in the section on each device and model, but are provided as
a quick reference guide.
BJT: Bipolar Junction Transistor
B.3. BJT: Bipolar Junction Transistor
------------------------------------------------------------
| BJT - instance parameters (input-only) |
|-----------------------------------------------------------+
| ic Initial condition vector |
------------------------------------------------------------
------------------------------------------------------------
| BJT - instance parameters (input-output) |
|-----------------------------------------------------------+
| off Device initially off |
| icvbe Initial B-E voltage |
| icvce Initial C-E voltage |
| area Area factor |
| temp instance temperature |
------------------------------------------------------------
------------------------------------------------------------
| BJT - instance parameters (output-only) |
|-----------------------------------------------------------+
| colnode Number of collector node |
| basenode Number of base node |
| emitnode Number of emitter node |
| substnode Number of substrate node |
------------------------------------------------------------
| colprimenode Internal collector node |
| baseprimenode Internal base node |
| emitprimenode Internal emitter node |
| ic Current at collector node |
|-----------------------------------------------------------+
ib Current at base node
| ie Emitter current |
| is Substrate current |
| vbe B-E voltage |
------------------------------------------------------------
| vbc B-C voltage |
| gm Small signal transconductance |
| gpi Small signal input conductance - pi |
| gmu Small signal conductance - mu |
|-----------------------------------------------------------+
| gx Conductance from base to internal base |
| go Small signal output conductance |
| geqcb d(Ibe)/d(Vbc) |
| gccs Internal C-S cap. equiv. cond. |
------------------------------------------------------------
| geqbx Internal C-B-base cap. equiv. cond. |
| cpi Internal base to emitter capactance |
| cmu Internal base to collector capactiance |
| cbx Base to collector capacitance |
|-----------------------------------------------------------+
| ccs Collector to substrate capacitance |
| cqbe Cap. due to charge storage in B-E jct. |
| cqbc Cap. due to charge storage in B-C jct. |
| cqcs Cap. due to charge storage in C-S jct. |
| cqbx Cap. due to charge storage in B-X jct. |
| continued |
------------------------------------------------------------
------------------------------------------------------------
| BJT - instance output-only parameters - continued
|-----------------------------------------------------------+
| cexbc Total Capacitance in B-X junction |
| qbe Charge storage B-E junction |
| qbc Charge storage B-C junction |
| qcs Charge storage C-S junction |
| qbx Charge storage B-X junction |
| p Power dissipation |
------------------------------------------------------------
------------------------------------------------------------
| BJT - model parameters (input-output) |
|-----------------------------------------------------------+
| npn NPN type device |
| pnp PNP type device |
| is Saturation Current |
| bf Ideal forward beta |
------------------------------------------------------------
| nf Forward emission coefficient |
| vaf Forward Early voltage |
| va (null) |
| ikf Forward beta roll-off corner current |
|-----------------------------------------------------------+
| ik (null) |
| ise B-E leakage saturation current |
| ne B-E leakage emission coefficient |
| br Ideal reverse beta |
------------------------------------------------------------
| nr Reverse emission coefficient |
| var Reverse Early voltage |
| vb (null) |
| ikr reverse beta roll-off corner current |
|-----------------------------------------------------------+
| isc B-C leakage saturation current |
| nc B-C leakage emission coefficient |
| rb Zero bias base resistance |
| irb Current for base resistance=(rb+rbm)/2 |
------------------------------------------------------------
| rbm Minimum base resistance |
| re Emitter resistance |
| rc Collector resistance |
| cje Zero bias B-E depletion capacitance |
|-----------------------------------------------------------+
| vje B-E built in potential |
| pe (null) |
| mje B-E junction grading coefficient |
| me (null) |
------------------------------------------------------------
| tf Ideal forward transit time |
| xtf Coefficient for bias dependence of TF |
| vtf Voltage giving VBC dependence of TF |
| itf High current dependence of TF |
|-----------------------------------------------------------+
| ptf Excess phase |
| cjc Zero bias B-C depletion capacitance |
| vjc B-C built in potential |
| continued |
------------------------------------------------------------
------------------------------------------------------------
| BJT - model input-output parameters - continued
|-----------------------------------------------------------+
| pc (null) |
| mjc B-C junction grading coefficient |
| mc (null) |
| xcjc Fraction of B-C cap to internal base |
------------------------------------------------------------
| tr Ideal reverse transit time |
| cjs Zero bias C-S capacitance |
| ccs Zero bias C-S capacitance |
| vjs Substrate junction built in potential |
|-----------------------------------------------------------+
| ps (null) |
| mjs Substrate junction grading coefficient |
| ms (null) |
| xtb Forward and reverse beta temp. exp. |
------------------------------------------------------------
| eg Energy gap for IS temp. dependency |
| xti Temp. exponent for IS |
| fc Forward bias junction fit parameter |
| tnom Parameter measurement temperature |
| kf Flicker Noise Coefficient |
| af Flicker Noise Exponent |
------------------------------------------------------------
------------------------------------------------------------
| BJT - model parameters (output-only) |
|-----------------------------------------------------------+
| type NPN or PNP |
| invearlyvoltf Inverse early voltage:forward |
| invearlyvoltr Inverse early voltage:reverse |
| invrollofff Inverse roll off - forward |
------------------------------------------------------------
| invrolloffr Inverse roll off - reverse |
| collectorconduct Collector conductance |
| emitterconduct Emitter conductance |
| transtimevbcfact Transit time VBC factor |
| excessphasefactor Excess phase fact. |
------------------------------------------------------------
BSIM1: Berkeley Short Channel IGFET Model
B.4. BSIM1: Berkeley Short Channel IGFET Model
------------------------------------------------------------
| BSIM1 - instance parameters (input-only) |
|-----------------------------------------------------------+
| ic Vector of DS,GS,BS initial voltages |
------------------------------------------------------------
------------------------------------------------------------
| BSIM1 - instance parameters (input-output) |
|-----------------------------------------------------------+
| l Length |
| w Width |
| ad Drain area |
| as Source area |
------------------------------------------------------------
| pd Drain perimeter |
| ps Source perimeter |
| nrd Number of squares in drain |
| nrs Number of squares in source |
|-----------------------------------------------------------+
| off Device is initially off |
| vds Initial D-S voltage |
| vgs Initial G-S voltage |
| vbs Initial B-S voltage |
------------------------------------------------------------
------------------------------------------------------------
| BSIM1 - model parameters (input-only) |
|-----------------------------------------------------------+
| nmos Flag to indicate NMOS |
| pmos Flag to indicate PMOS |
------------------------------------------------------------
------------------------------------------------------------
| BSIM1 - model parameters (input-output) |
|-----------------------------------------------------------+
| vfb Flat band voltage |
lvfb Length dependence of vfb
| wvfb Width dependence of vfb |
| phi Strong inversion surface potential |
------------------------------------------------------------
| lphi Length dependence of phi |
| wphi Width dependence of phi |
| k1 Bulk effect coefficient 1 |
| lk1 Length dependence of k1 |
|-----------------------------------------------------------+
| wk1 Width dependence of k1 |
| k2 Bulk effect coefficient 2 |
| lk2 Length dependence of k2 |
| wk2 Width dependence of k2 |
------------------------------------------------------------
| eta VDS dependence of threshold voltage |
| leta Length dependence of eta |
| weta Width dependence of eta |
| x2e VBS dependence of eta |
| lx2e Length dependence of x2e |
| continued |
------------------------------------------------------------
---------------------------------------------------------------------
| BSIM1 - model input-output parameters - continued|
|--------------------------------------------------------------------+
|wx2e Width dependence of x2e |
|x3e VDS dependence of eta |
|lx3e Length dependence of x3e |
|wx3e Width dependence of x3e |
---------------------------------------------------------------------
|dl Channel length reduction in um |
|dw Channel width reduction in um |
|muz Zero field mobility at VDS=0 VGS=VTH |
|x2mz VBS dependence of muz |
|--------------------------------------------------------------------+
|lx2mz Length dependence of x2mz |
|wx2mz Width dependence of x2mz |
mus Mobility at VDS=VDD VGS=VTH, channel length modulation
|lmus Length dependence of mus |
---------------------------------------------------------------------
|wmus Width dependence of mus |
|x2ms VBS dependence of mus |
|lx2ms Length dependence of x2ms |
|wx2ms Width dependence of x2ms |
|--------------------------------------------------------------------+
|x3ms VDS dependence of mus |
|lx3ms Length dependence of x3ms |
|wx3ms Width dependence of x3ms |
|u0 VGS dependence of mobility |
---------------------------------------------------------------------
|lu0 Length dependence of u0 |
|wu0 Width dependence of u0 |
|x2u0 VBS dependence of u0 |
|lx2u0 Length dependence of x2u0 |
|--------------------------------------------------------------------+
|wx2u0 Width dependence of x2u0 |
|u1 VDS depence of mobility, velocity saturation |
|lu1 Length dependence of u1 |
|wu1 Width dependence of u1 |
---------------------------------------------------------------------
|x2u1 VBS depence of u1 |
|lx2u1 Length depence of x2u1 |
|wx2u1 Width depence of x2u1 |
|x3u1 VDS depence of u1 |
|--------------------------------------------------------------------+
|lx3u1 Length dependence of x3u1 |
|wx3u1 Width depence of x3u1 |
|n0 Subthreshold slope |
ln0 Length dependence of n0
---------------------------------------------------------------------
|wn0 Width dependence of n0 |
|nb VBS dependence of subthreshold slope |
|lnb Length dependence of nb |
|wnb Width dependence of nb |
|--------------------------------------------------------------------+
|nd VDS dependence of subthreshold slope |
|lnd Length dependence of nd |
|wnd Width dependence of nd |
| continued |
---------------------------------------------------------------------
---------------------------------------------------------------------------
| BSIM1 - model input-output parameters - continued |
|--------------------------------------------------------------------------+
|tox Gate oxide thickness in um |
|temp Temperature in degree Celcius |
|vdd Supply voltage to specify mus |
|cgso Gate source overlap capacitance per unit channel width(m) |
---------------------------------------------------------------------------
|cgdo Gate drain overlap capacitance per unit channel width(m) |
|cgbo Gate bulk overlap capacitance per unit channel length(m) |
|xpart Flag for channel charge partitioning |
|rsh Source drain diffusion sheet resistance in ohm per square |
|--------------------------------------------------------------------------+
|js Source drain junction saturation current per unit area |
|pb Source drain junction built in potential |
mj Source drain bottom junction capacitance grading coefficient
|pbsw Source drain side junction capacitance built in potential |
---------------------------------------------------------------------------
|mjsw Source drain side junction capacitance grading coefficient |
|cj Source drain bottom junction capacitance per unit area |
|cjsw Source drain side junction capacitance per unit area |
|wdf Default width of source drain diffusion in um |
|dell Length reduction of source drain diffusion |
---------------------------------------------------------------------------
BSIM2: Berkeley Short Channel IGFET Model
B.5. BSIM2: Berkeley Short Channel IGFET Model
------------------------------------------------------------
| BSIM2 - instance parameters (input-only) |
|-----------------------------------------------------------+
| ic Vector of DS,GS,BS initial voltages |
------------------------------------------------------------
------------------------------------------------------------
| BSIM2 - instance parameters (input-output) |
|-----------------------------------------------------------+
| l Length |
| w Width |
| ad Drain area |
| as Source area |
------------------------------------------------------------
| pd Drain perimeter |
| ps Source perimeter |
| nrd Number of squares in drain |
| nrs Number of squares in source |
|-----------------------------------------------------------+
| off Device is initially off |
| vds Initial D-S voltage |
| vgs Initial G-S voltage |
| vbs Initial B-S voltage |
------------------------------------------------------------
------------------------------------------------------------
| BSIM2 - model parameters (input-only) |
|-----------------------------------------------------------+
| nmos Flag to indicate NMOS |
| pmos Flag to indicate PMOS |
------------------------------------------------------------
------------------------------------------------------------
| BSIM2 - model parameters (input-output) |
|-----------------------------------------------------------+
|vfb Flat band voltage |
|lvfb Length dependence of vfb |
|wvfb Width dependence of vfb |
|phi Strong inversion surface potential |
------------------------------------------------------------
|lphi Length dependence of phi |
|wphi Width dependence of phi |
|k1 Bulk effect coefficient 1 |
|lk1 Length dependence of k1 |
|-----------------------------------------------------------+
|wk1 Width dependence of k1 |
|k2 Bulk effect coefficient 2 |
|lk2 Length dependence of k2 |
|wk2 Width dependence of k2 |
------------------------------------------------------------
|eta0 VDS dependence of threshold voltage at VDD=0
|leta0 Length dependence of eta0 |
|weta0 Width dependence of eta0 |
|etab VBS dependence of eta |
|-----------------------------------------------------------+
|letab Length dependence of etab |
|wetab Width dependence of etab |
|dl Channel length reduction in um |
|dw Channel width reduction in um |
------------------------------------------------------------
|mu0 Low-field mobility, at VDS=0 VGS=VTH |
|mu0b VBS dependence of low-field mobility |
|lmu0b Length dependence of mu0b |
|wmu0b Width dependence of mu0b |
|-----------------------------------------------------------+
|mus0 Mobility at VDS=VDD VGS=VTH |
|lmus0 Length dependence of mus0 |
|wmus0 Width dependence of mus |
|musb VBS dependence of mus |
------------------------------------------------------------
|lmusb Length dependence of musb |
|wmusb Width dependence of musb |
|mu20 VDS dependence of mu in tanh term |
|lmu20 Length dependence of mu20 |
|-----------------------------------------------------------+
|wmu20 Width dependence of mu20 |
|mu2b VBS dependence of mu2 |
|lmu2b Length dependence of mu2b |
|wmu2b Width dependence of mu2b |
------------------------------------------------------------
|mu2g VGS dependence of mu2 |
| continued |
------------------------------------------------------------
------------------------------------------------------------
| BSIM2 - model input-output parameters - continued
|-----------------------------------------------------------+
| lmu2g Length dependence of mu2g |
| wmu2g Width dependence of mu2g |
| mu30 VDS dependence of mu in linear term |
| lmu30 Length dependence of mu30 |
------------------------------------------------------------
| wmu30 Width dependence of mu30 |
| mu3b VBS dependence of mu3 |
| lmu3b Length dependence of mu3b |
| wmu3b Width dependence of mu3b |
|-----------------------------------------------------------+
| mu3g VGS dependence of mu3 |
| lmu3g Length dependence of mu3g |
| wmu3g Width dependence of mu3g |
| mu40 VDS dependence of mu in linear term |
------------------------------------------------------------
| lmu40 Length dependence of mu40 |
| wmu40 Width dependence of mu40 |
| mu4b VBS dependence of mu4 |
| lmu4b Length dependence of mu4b |
|-----------------------------------------------------------+
| wmu4b Width dependence of mu4b |
| mu4g VGS dependence of mu4 |
| lmu4g Length dependence of mu4g |
| wmu4g Width dependence of mu4g |
------------------------------------------------------------
| ua0 Linear VGS dependence of mobility |
| lua0 Length dependence of ua0 |
| wua0 Width dependence of ua0 |
| uab VBS dependence of ua |
|-----------------------------------------------------------+
| luab Length dependence of uab |
| wuab Width dependence of uab |
| ub0 Quadratic VGS dependence of mobility |
| lub0 Length dependence of ub0 |
------------------------------------------------------------
| wub0 Width dependence of ub0 |
| ubb VBS dependence of ub |
| lubb Length dependence of ubb |
| wubb Width dependence of ubb |
|-----------------------------------------------------------+
| u10 VDS depence of mobility |
| lu10 Length dependence of u10 |
wu10 Width dependence of u10
| u1b VBS depence of u1 |
------------------------------------------------------------
| lu1b Length depence of u1b |
| wu1b Width depence of u1b |
| u1d VDS depence of u1 |
| lu1d Length depence of u1d |
|-----------------------------------------------------------+
| wu1d Width depence of u1d |
| n0 Subthreshold slope at VDS=0 VBS=0 |
| ln0 Length dependence of n0 |
| continued |
------------------------------------------------------------
------------------------------------------------------------------------
| BSIM2 - model input-output parameters - continued |
|-----------------------------------------------------------------------+
|wn0 Width dependence of n0 |
|nb VBS dependence of n |
|lnb Length dependence of nb |
|wnb Width dependence of nb |
------------------------------------------------------------------------
|nd VDS dependence of n |
|lnd Length dependence of nd |
|wnd Width dependence of nd |
|vof0 Threshold voltage offset AT VDS=0 VBS=0 |
|-----------------------------------------------------------------------+
|lvof0 Length dependence of vof0 |
|wvof0 Width dependence of vof0 |
|vofb VBS dependence of vof |
|lvofb Length dependence of vofb |
------------------------------------------------------------------------
|wvofb Width dependence of vofb |
|vofd VDS dependence of vof |
|lvofd Length dependence of vofd |
|wvofd Width dependence of vofd |
|-----------------------------------------------------------------------+
|ai0 Pre-factor of hot-electron effect. |
|lai0 Length dependence of ai0 |
|wai0 Width dependence of ai0 |
|aib VBS dependence of ai |
------------------------------------------------------------------------
|laib Length dependence of aib |
|waib Width dependence of aib |
|bi0 Exponential factor of hot-electron effect. |
|lbi0 Length dependence of bi0 |
|-----------------------------------------------------------------------+
|wbi0 Width dependence of bi0 |
|bib VBS dependence of bi |
|lbib Length dependence of bib |
|wbib Width dependence of bib |
------------------------------------------------------------------------
|vghigh Upper bound of the cubic spline function. |
|lvghigh Length dependence of vghigh |
|wvghigh Width dependence of vghigh |
|vglow Lower bound of the cubic spline function. |
|-----------------------------------------------------------------------+
|lvglow Length dependence of vglow |
|wvglow Width dependence of vglow |
|tox Gate oxide thickness in um |
|temp Temperature in degree Celcius |
------------------------------------------------------------------------
|vdd Maximum Vds |
|vgg Maximum Vgs |
|vbb Maximum Vbs |
|cgso Gate source overlap capacitance per unit channel width(m)
|-----------------------------------------------------------------------+
|cgdo Gate drain overlap capacitance per unit channel width(m)|
|cgbo Gate bulk overlap capacitance per unit channel length(m)|
|xpart Flag for channel charge partitioning |
| continued |
------------------------------------------------------------------------
---------------------------------------------------------------------------
| BSIM2 - model input-output parameters - continued |
|--------------------------------------------------------------------------+
|rsh Source drain diffusion sheet resistance in ohm per square |
|js Source drain junction saturation current per unit area |
|pb Source drain junction built in potential |
mj Source drain bottom junction capacitance grading coefficient
| |
---------------------------------------------------------------------------
|pbsw Source drain side junction capacitance built in potential |
|mjsw Source drain side junction capacitance grading coefficient |
|cj Source drain bottom junction capacitance per unit area |
|cjsw Source drain side junction capacitance per unit area |
|wdf Default width of source drain diffusion in um |
|dell Length reduction of source drain diffusion |
---------------------------------------------------------------------------
JFET: Junction Field effect transistor
B.14. JFET: Junction Field effect transistor
------------------------------------------------------------
| JFET - instance parameters (input-output) |
|-----------------------------------------------------------+
| off Device initially off |
| ic Initial VDS,VGS vector |
| area Area factor |
| ic-vds Initial D-S voltage |
| ic-vgs Initial G-S volrage |
| temp Instance temperature |
------------------------------------------------------------
---------------------------------------------------------------
| JFET - instance parameters (output-only) |
|--------------------------------------------------------------+
|drain-node Number of drain node |
|gate-node Number of gate node |
|source-node Number of source node |
|drain-prime-node Internal drain node |
---------------------------------------------------------------
|source-prime-nodeInternal source node |
|vgs Voltage G-S |
|vgd Voltage G-D |
|ig Current at gate node |
|--------------------------------------------------------------+
|id Current at drain node |
|is Source current |
|igd Current G-D |
|gm Transconductance |
---------------------------------------------------------------
|gds Conductance D-S |
|ggs Conductance G-S |
|ggd Conductance G-D |
|qgs Charge storage G-S junction |
|--------------------------------------------------------------+
|qgd Charge storage G-D junction |
cqgs Capacitance due to charge storage G-S junction
| |
cqgd Capacitance due to charge storage G-D junction
|p Power dissipated by the JFET |
---------------------------------------------------------------
------------------------------------------------------------
| JFET - model parameters (input-output) |
|-----------------------------------------------------------+
| njf N type JFET model |
| pjf P type JFET model |
| vt0 Threshold voltage |
| vto (null) |
------------------------------------------------------------
| beta Transconductance parameter |
| lambda Channel length modulation param. |
| rd Drain ohmic resistance |
| rs Source ohmic resistance |
| cgs G-S junction capactance |
| continued |
------------------------------------------------------------
------------------------------------------------------------
| JFET - model input-output parameters - continued
|-----------------------------------------------------------+
| cgd G-D junction cap |
| pb Gate junction potential |
| is Gate junction saturation current |
| fc Forward bias junction fit parm. |
------------------------------------------------------------
| b Doping tail parameter |
| tnom parameter measurement temperature |
| kf Flicker Noise Coefficient |
| af Flicker Noise Exponent |
------------------------------------------------------------
------------------------------------------------------------
| JFET - model parameters (output-only) |
|-----------------------------------------------------------+
| type N-type or P-type JFET model |
| gd Drain conductance |
| gs Source conductance |
------------------------------------------------------------
LTRA: Lossy transmission line
B.15. LTRA: Lossy transmission line
------------------------------------------------------------
| LTRA - instance parameters (input-only) |
|-----------------------------------------------------------+
| ic Initial condition vector:v1,i1,v2,i2 |
------------------------------------------------------------
------------------------------------------------------------
| LTRA - instance parameters (input-output) |
|-----------------------------------------------------------+
| v1 Initial voltage at end 1 |
| v2 Initial voltage at end 2 |
| i1 Initial current at end 1 |
| i2 Initial current at end 2 |
------------------------------------------------------------
------------------------------------------------------------
| LTRA - instance parameters (output-only) |
|-----------------------------------------------------------+
| pos_node1 Positive node of end 1 of t-line |
| neg_node1 Negative node of end 1 of t.line |
| pos_node2 Positive node of end 2 of t-line |
| neg_node2 Negative node of end 2 of t-line |
------------------------------------------------------------
------------------------------------------------------------
| LTRA - model parameters (input-output) |
|-----------------------------------------------------------+
|ltra LTRA model |
|r Resistance per metre |
|l Inductance per metre |
|g (null) |
------------------------------------------------------------
|c Capacitance per metre |
|len length of line |
|nocontrol No timestep control |
|steplimit always limit timestep to 0.8*(delay of line)
| continued |
------------------------------------------------------------
-----------------------------------------------------------------------------------
| LTRA - model input-output parameters - continued |
|----------------------------------------------------------------------------------+
|nosteplimit don't always limit timestep to 0.8*(delay of line) |
|lininterp use linear interpolation |
|quadinterp use quadratic interpolation |
|mixedinterp use linear interpolation if quadratic results look unacceptable |
-----------------------------------------------------------------------------------
|truncnr use N-R iterations for step calculation in LTRAtrunc |
|truncdontcut don't limit timestep to keep impulse response calculation errors low
|compactrel special reltol for straight line checking |
|compactabs special abstol for straight line checking |
-----------------------------------------------------------------------------------
------------------------------------------------------------
| LTRA - model parameters (output-only) |
|-----------------------------------------------------------+
| rel Rel. rate of change of deriv. for bkpt |
| abs Abs. rate of change of deriv. for bkpt |
------------------------------------------------------------
Mos1: Level 1 MOSfet model with Meyer capacitance model
B.17. Mos1: Level 1 MOSfet model with Meyer capacitance
model
------------------------------------------------------------
| Mos1 - instance parameters (input-only) |
|-----------------------------------------------------------+
| off Device initially off |
| ic Vector of D-S, G-S, B-S voltages |
------------------------------------------------------------
------------------------------------------------------------
| Mos1 - instance parameters (input-output) |
|-----------------------------------------------------------+
| l Length |
| w Width |
| ad Drain area |
| as Source area |
------------------------------------------------------------
| pd Drain perimeter |
| ps Source perimeter |
| nrd Drain squares |
| nrs Source squares |
|-----------------------------------------------------------+
| icvds Initial D-S voltage |
| icvgs Initial G-S voltage |
| icvbs Initial B-S voltage |
| temp Instance temperature |
------------------------------------------------------------
------------------------------------------------------------
| Mos1 - instance parameters (output-only) |
|-----------------------------------------------------------+
| id Drain current |
| is Source current |
| ig Gate current |
| ib Bulk current |
------------------------------------------------------------
| ibd B-D junction current |
| ibs B-S junction current |
| vgs Gate-Source voltage |
| vds Drain-Source voltage |
|-----------------------------------------------------------+
| vbs Bulk-Source voltage |
| vbd Bulk-Drain voltage |
| dnode Number of the drain node |
| gnode Number of the gate node |
------------------------------------------------------------
| snode Number of the source node |
| bnode Number of the node |
| dnodeprime Number of int. drain node |
| snodeprime Number of int. source node |
|-----------------------------------------------------------+
| von |
| vdsat Saturation drain voltage |
| sourcevcrit Critical source voltage |
| drainvcrit Critical drain voltage |
| rs Source resistance |
| continued |
------------------------------------------------------------
--------------------------------------------------------------
| Mos1 - instance output-only parameters - continued
|-------------------------------------------------------------+
|sourceconductanceConductance of source |
|rd Drain conductance |
|drainconductance Conductance of drain |
|gm Transconductance |
--------------------------------------------------------------
|gds Drain-Source conductance |
|gmb Bulk-Source transconductance |
|gmbs |
|gbd Bulk-Drain conductance |
|-------------------------------------------------------------+
|gbs Bulk-Source conductance |
|cbd Bulk-Drain capacitance |
|cbs Bulk-Source capacitance |
|cgs Gate-Source capacitance |
--------------------------------------------------------------
|cgd Gate-Drain capacitance |
|cgb Gate-Bulk capacitance |
|cqgs Capacitance due to gate-source charge storage
|cqgd Capacitance due to gate-drain charge storage|
|-------------------------------------------------------------+
|cqgb Capacitance due to gate-bulk charge storage |
|cqbd Capacitance due to bulk-drain charge storage|
cqbs Capacitance due to bulk-source charge storage
|cbd0 Zero-Bias B-D junction capacitance |
--------------------------------------------------------------
|cbdsw0 |
|cbs0 Zero-Bias B-S junction capacitance |
|cbssw0 |
|qgs Gate-Source charge storage |
|-------------------------------------------------------------+
|qgd Gate-Drain charge storage |
|qgb Gate-Bulk charge storage |
|qbd Bulk-Drain charge storage |
|qbs Bulk-Source charge storage |
|p Instaneous power |
--------------------------------------------------------------
------------------------------------------------------------
| Mos1 - model parameters (input-only) |
|-----------------------------------------------------------+
| nmos N type MOSfet model |
| pmos P type MOSfet model |
------------------------------------------------------------
------------------------------------------------------------
| Mos1 - model parameters (input-output) |
|-----------------------------------------------------------+
| vto Threshold voltage |
| vt0 (null) |
| kp Transconductance parameter |
| gamma Bulk threshold parameter |
------------------------------------------------------------
| phi Surface potential |
| lambda Channel length modulation |
| rd Drain ohmic resistance |
| continued |
------------------------------------------------------------
------------------------------------------------------------
| Mos1 - model input-output parameters - continued
|-----------------------------------------------------------+
| rs Source ohmic resistance |
| cbd B-D junction capacitance |
| cbs B-S junction capacitance |
| is Bulk junction sat. current |
------------------------------------------------------------
| pb Bulk junction potential |
| cgso Gate-source overlap cap. |
| cgdo Gate-drain overlap cap. |
| cgbo Gate-bulk overlap cap. |
|-----------------------------------------------------------+
| rsh Sheet resistance |
| cj Bottom junction cap per area |
| mj Bottom grading coefficient |
| cjsw Side junction cap per area |
------------------------------------------------------------
| mjsw Side grading coefficient |
| js Bulk jct. sat. current density |
| tox Oxide thickness |
| ld Lateral diffusion |
|-----------------------------------------------------------+
| u0 Surface mobility |
| uo (null) |
| fc Forward bias jct. fit parm. |
| nsub Substrate doping |
------------------------------------------------------------
| tpg Gate type |
| nss Surface state density |
| tnom Parameter measurement temperature |
| kf Flicker noise coefficient |
| af Flicker noise exponent |
------------------------------------------------------------
------------------------------------------------------------
| Mos1 - model parameters (output-only) |
|-----------------------------------------------------------+
| type N-channel or P-channel MOS |
------------------------------------------------------------
Mos2: Level 2 MOSfet model with Meyer capacitance model
B.18. Mos2: Level 2 MOSfet model with Meyer capacitance
model
------------------------------------------------------------
| Mos2 - instance parameters (input-only) |
|-----------------------------------------------------------+
| off Device initially off |
| ic Vector of D-S, G-S, B-S voltages |
------------------------------------------------------------
------------------------------------------------------------
| Mos2 - instance parameters (input-output) |
|-----------------------------------------------------------+
| l Length |
| w Width |
| ad Drain area |
| as Source area |
------------------------------------------------------------
| pd Drain perimeter |
| ps Source perimeter |
| nrd Drain squares |
| nrs Source squares |
|-----------------------------------------------------------+
| icvds Initial D-S voltage |
| icvgs Initial G-S voltage |
| icvbs Initial B-S voltage |
| temp Instance operating temperature |
------------------------------------------------------------
------------------------------------------------------------
| Mos2 - instance parameters (output-only) |
|-----------------------------------------------------------+
| id Drain current |
| cd |
| ibd B-D junction current |
| ibs B-S junction current |
------------------------------------------------------------
| is Source current |
| ig Gate current |
| ib Bulk current |
| vgs Gate-Source voltage |
|-----------------------------------------------------------+
| vds Drain-Source voltage |
| vbs Bulk-Source voltage |
| vbd Bulk-Drain voltage |
| dnode Number of drain node |
------------------------------------------------------------
| gnode Number of gate node |
| snode Number of source node |
| bnode Number of bulk node |
| dnodeprime Number of internal drain node |
|-----------------------------------------------------------+
| snodeprime Number of internal source node |
| von |
| vdsat Saturation drain voltage |
| sourcevcrit Critical source voltage |
| drainvcrit Critical drain voltage |
| continued |
------------------------------------------------------------
--------------------------------------------------------------
| Mos2 - instance output-only parameters - continued
|-------------------------------------------------------------+
|rs Source resistance |
|sourceconductanceSource conductance |
|rd Drain resistance |
|drainconductance Drain conductance |
--------------------------------------------------------------
|gm Transconductance |
|gds Drain-Source conductance |
|gmb Bulk-Source transconductance |
|gmbs |
|-------------------------------------------------------------+
|gbd Bulk-Drain conductance |
|gbs Bulk-Source conductance |
|cbd Bulk-Drain capacitance |
|cbs Bulk-Source capacitance |
--------------------------------------------------------------
|cgs Gate-Source capacitance |
|cgd Gate-Drain capacitance |
|cgb Gate-Bulk capacitance |
|cbd0 Zero-Bias B-D junction capacitance |
|-------------------------------------------------------------+
|cbdsw0 |
|cbs0 Zero-Bias B-S junction capacitance |
|cbssw0 |
cqgs Capacitance due to gate-source charge storage
| |
--------------------------------------------------------------
|cqgd Capacitance due to gate-drain charge storage|
|cqgb Capacitance due to gate-bulk charge storage |
|cqbd Capacitance due to bulk-drain charge storage|
|cqbs Capacitance due to bulk-source charge storage
|-------------------------------------------------------------+
|qgs Gate-Source charge storage |
|qgd Gate-Drain charge storage |
|qgb Gate-Bulk charge storage |
|qbd Bulk-Drain charge storage |
|qbs Bulk-Source charge storage |
|p Instantaneous power |
--------------------------------------------------------------
------------------------------------------------------------
| Mos2 - model parameters (input-only) |
|-----------------------------------------------------------+
| nmos N type MOSfet model |
| pmos P type MOSfet model |
------------------------------------------------------------
------------------------------------------------------------
| Mos2 - model parameters (input-output) |
|-----------------------------------------------------------+
| vto Threshold voltage |
| vt0 (null) |
| kp Transconductance parameter |
| gamma Bulk threshold parameter |
------------------------------------------------------------
| phi Surface potential |
| lambda Channel length modulation |
| rd Drain ohmic resistance |
| rs Source ohmic resistance |
|-----------------------------------------------------------+
| cbd B-D junction capacitance |
| cbs B-S junction capacitance |
| is Bulk junction sat. current |
| pb Bulk junction potential |
------------------------------------------------------------
| cgso Gate-source overlap cap. |
| cgdo Gate-drain overlap cap. |
| cgbo Gate-bulk overlap cap. |
| rsh Sheet resistance |
|-----------------------------------------------------------+
| cj Bottom junction cap per area |
| mj Bottom grading coefficient |
| cjsw Side junction cap per area |
| mjsw Side grading coefficient |
------------------------------------------------------------
| js Bulk jct. sat. current density |
| tox Oxide thickness |
| ld Lateral diffusion |
| u0 Surface mobility |
|-----------------------------------------------------------+
| uo (null) |
| fc Forward bias jct. fit parm. |
| nsub Substrate doping |
| tpg Gate type |
------------------------------------------------------------
| nss Surface state density |
| delta Width effect on threshold |
| uexp Crit. field exp for mob. deg. |
| ucrit Crit. field for mob. degradation |
|-----------------------------------------------------------+
| vmax Maximum carrier drift velocity |
| xj Junction depth |
| neff Total channel charge coeff. |
| nfs Fast surface state density |
------------------------------------------------------------
| tnom Parameter measurement temperature |
| kf Flicker noise coefficient |
| af Flicker noise exponent |
------------------------------------------------------------
------------------------------------------------------------
| Mos2 - model parameters (output-only) |
|-----------------------------------------------------------+
| type N-channel or P-channel MOS |
------------------------------------------------------------
Mos3: Level 3 MOSfet model with Meyer capacitance model
B.19. Mos3: Level 3 MOSfet model with Meyer capacitance
model
------------------------------------------------------------
| Mos3 - instance parameters (input-only) |
|-----------------------------------------------------------+
| off Device initially off |
------------------------------------------------------------
------------------------------------------------------------
| Mos3 - instance parameters (input-output) |
|-----------------------------------------------------------+
| l Length |
| w Width |
| ad Drain area |
| as Source area |
------------------------------------------------------------
| pd Drain perimeter |
| ps Source perimeter |
| nrd Drain squares |
| nrs Source squares |
|-----------------------------------------------------------+
| icvds Initial D-S voltage |
| icvgs Initial G-S voltage |
| icvbs Initial B-S voltage |
| ic Vector of D-S, G-S, B-S voltages |
| temp Instance operating temperature |
------------------------------------------------------------
------------------------------------------------------------
| Mos3 - instance parameters (output-only) |
|-----------------------------------------------------------+
| id Drain current |
| cd Drain current |
| ibd B-D junction current |
| ibs B-S junction current |
------------------------------------------------------------
| is Source current |
| ig Gate current |
| ib Bulk current |
| vgs Gate-Source voltage |
|-----------------------------------------------------------+
| vds Drain-Source voltage |
| vbs Bulk-Source voltage |
| vbd Bulk-Drain voltage |
| dnode Number of drain node |
------------------------------------------------------------
| gnode Number of gate node |
| snode Number of source node |
| bnode Number of bulk node |
| dnodeprime Number of internal drain node |
| snodeprime Number of internal source node |
| continued |
------------------------------------------------------------
--------------------------------------------------------------
| Mos3 - instance output-only parameters - continued
|-------------------------------------------------------------+
|von Turn-on voltage |
|vdsat Saturation drain voltage |
|sourcevcrit Critical source voltage |
|drainvcrit Critical drain voltage |
--------------------------------------------------------------
|rs Source resistance |
|sourceconductanceSource conductance |
|rd Drain resistance |
|drainconductance Drain conductance |
|-------------------------------------------------------------+
|gm Transconductance |
|gds Drain-Source conductance |
|gmb Bulk-Source transconductance |
|gmbs Bulk-Source transconductance |
--------------------------------------------------------------
|gbd Bulk-Drain conductance |
|gbs Bulk-Source conductance |
|cbd Bulk-Drain capacitance |
|cbs Bulk-Source capacitance |
|-------------------------------------------------------------+
|cgs Gate-Source capacitance |
|cgd Gate-Drain capacitance |
|cgb Gate-Bulk capacitance |
cqgs Capacitance due to gate-source charge storage
| |
--------------------------------------------------------------
|cqgd Capacitance due to gate-drain charge storage|
|cqgb Capacitance due to gate-bulk charge storage |
|cqbd Capacitance due to bulk-drain charge storage|
|cqbs Capacitance due to bulk-source charge storage
|-------------------------------------------------------------+
|cbd0 Zero-Bias B-D junction capacitance |
|cbdsw0 Zero-Bias B-D sidewall capacitance |
|cbs0 Zero-Bias B-S junction capacitance |
|cbssw0 Zero-Bias B-S sidewall capacitance |
--------------------------------------------------------------
|qbs Bulk-Source charge storage |
|qgs Gate-Source charge storage |
|qgd Gate-Drain charge storage |
|qgb Gate-Bulk charge storage |
|qbd Bulk-Drain charge storage |
|p Instantaneous power |
--------------------------------------------------------------
------------------------------------------------------------
| Mos3 - model parameters (input-only) |
|-----------------------------------------------------------+
| nmos N type MOSfet model |
| pmos P type MOSfet model |
------------------------------------------------------------
------------------------------------------------------------
| Mos3 - model parameters (input-output) |
|-----------------------------------------------------------+
| vto Threshold voltage |
| vt0 (null) |
| kp Transconductance parameter |
| gamma Bulk threshold parameter |
------------------------------------------------------------
| phi Surface potential |
| rd Drain ohmic resistance |
| rs Source ohmic resistance |
| cbd B-D junction capacitance |
|-----------------------------------------------------------+
| cbs B-S junction capacitance |
| is Bulk junction sat. current |
| pb Bulk junction potential |
| cgso Gate-source overlap cap. |
------------------------------------------------------------
| cgdo Gate-drain overlap cap. |
| cgbo Gate-bulk overlap cap. |
| rsh Sheet resistance |
| cj Bottom junction cap per area |
|-----------------------------------------------------------+
| mj Bottom grading coefficient |
| cjsw Side junction cap per area |
| mjsw Side grading coefficient |
| js Bulk jct. sat. current density |
------------------------------------------------------------
| tox Oxide thickness |
| ld Lateral diffusion |
| u0 Surface mobility |
| uo (null) |
|-----------------------------------------------------------+
| fc Forward bias jct. fit parm. |
| nsub Substrate doping |
| tpg Gate type |
| nss Surface state density |
------------------------------------------------------------
| vmax Maximum carrier drift velocity |
| xj Junction depth |
| nfs Fast surface state density |
| xd Depletion layer width |
|-----------------------------------------------------------+
| alpha Alpha |
| eta Vds dependence of threshold voltage |
| delta Width effect on threshold |
| input_delta (null) |
------------------------------------------------------------
| theta Vgs dependence on mobility |
| kappa Kappa |
| tnom Parameter measurement temperature |
| kf Flicker noise coefficient |
| af Flicker noise exponent |
------------------------------------------------------------
------------------------------------------------------------
| Mos3 - model parameters (output-only) |
|-----------------------------------------------------------+
| type N-channel or P-channel MOS |
------------------------------------------------------------
Mos6: Level 6 MOSfet model with Meyer capacitance model
B.20. Mos6: Level 6 MOSfet model with Meyer capacitance
model
------------------------------------------------------------
| Mos6 - instance parameters (input-only) |
|-----------------------------------------------------------+
| off Device initially off |
| ic Vector of D-S, G-S, B-S voltages |
------------------------------------------------------------
------------------------------------------------------------
| Mos6 - instance parameters (input-output) |
|-----------------------------------------------------------+
| l Length |
| w Width |
| ad Drain area |
| as Source area |
------------------------------------------------------------
| pd Drain perimeter |
| ps Source perimeter |
| nrd Drain squares |
| nrs Source squares |
|-----------------------------------------------------------+
| icvds Initial D-S voltage |
| icvgs Initial G-S voltage |
| icvbs Initial B-S voltage |
| temp Instance temperature |
------------------------------------------------------------
------------------------------------------------------------
| Mos6 - instance parameters (output-only) |
|-----------------------------------------------------------+
| id Drain current |
| cd Drain current |
| is Source current |
| ig Gate current |
------------------------------------------------------------
| ib Bulk current |
| ibs B-S junction capacitance |
| ibd B-D junction capacitance |
| vgs Gate-Source voltage |
|-----------------------------------------------------------+
| vds Drain-Source voltage |
| vbs Bulk-Source voltage |
| vbd Bulk-Drain voltage |
| dnode Number of the drain node |
------------------------------------------------------------
| gnode Number of the gate node |
| snode Number of the source node |
| bnode Number of the node |
| dnodeprime Number of int. drain node |
| snodeprime Number of int. source node |
| continued |
------------------------------------------------------------
--------------------------------------------------------------
| Mos6 - instance output-only parameters - continued
|-------------------------------------------------------------+
|rs Source resistance |
|sourceconductanceSource conductance |
|rd Drain resistance |
|drainconductance Drain conductance |
--------------------------------------------------------------
|von Turn-on voltage |
|vdsat Saturation drain voltage |
|sourcevcrit Critical source voltage |
|drainvcrit Critical drain voltage |
|-------------------------------------------------------------+
|gmbs Bulk-Source transconductance |
|gm Transconductance |
|gds Drain-Source conductance |
|gbd Bulk-Drain conductance |
--------------------------------------------------------------
|gbs Bulk-Source conductance |
|cgs Gate-Source capacitance |
|cgd Gate-Drain capacitance |
|cgb Gate-Bulk capacitance |
|-------------------------------------------------------------+
|cbd Bulk-Drain capacitance |
|cbs Bulk-Source capacitance |
|cbd0 Zero-Bias B-D junction capacitance |
|cbdsw0 |
--------------------------------------------------------------
|cbs0 Zero-Bias B-S junction capacitance |
|cbssw0 |
|cqgs Capacitance due to gate-source charge storage
|cqgd Capacitance due to gate-drain charge storage|
|-------------------------------------------------------------+
|cqgb Capacitance due to gate-bulk charge storage |
|cqbd Capacitance due to bulk-drain charge storage|
cqbs Capacitance due to bulk-source charge storage
|qgs Gate-Source charge storage |
--------------------------------------------------------------
|qgd Gate-Drain charge storage |
|qgb Gate-Bulk charge storage |
|qbd Bulk-Drain charge storage |
|qbs Bulk-Source charge storage |
|p Instaneous power |
--------------------------------------------------------------
------------------------------------------------------------
| Mos6 - model parameters (input-only) |
|-----------------------------------------------------------+
| nmos N type MOSfet model |
| pmos P type MOSfet model |
------------------------------------------------------------
------------------------------------------------------------
| Mos6 - model parameters (input-output) |
|-----------------------------------------------------------+
| vto Threshold voltage |
| vt0 (null) |
| kv Saturation voltage factor |
| nv Saturation voltage coeff. |
------------------------------------------------------------
| kc Saturation current factor |
| nc Saturation current coeff. |
| nvth Threshold voltage coeff. |
| ps Sat. current modification par. |
|-----------------------------------------------------------+
| gamma Bulk threshold parameter |
| gamma1 Bulk threshold parameter 1 |
| sigma Static feedback effect par. |
| phi Surface potential |
------------------------------------------------------------
| lambda Channel length modulation param. |
| lambda0 Channel length modulation param. 0 |
| lambda1 Channel length modulation param. 1 |
| rd Drain ohmic resistance |
|-----------------------------------------------------------+
| rs Source ohmic resistance |
| cbd B-D junction capacitance |
| cbs B-S junction capacitance |
| is Bulk junction sat. current |
------------------------------------------------------------
| pb Bulk junction potential |
| cgso Gate-source overlap cap. |
| cgdo Gate-drain overlap cap. |
| cgbo Gate-bulk overlap cap. |
|-----------------------------------------------------------+
| rsh Sheet resistance |
| cj Bottom junction cap per area |
| mj Bottom grading coefficient |
| cjsw Side junction cap per area |
------------------------------------------------------------
| mjsw Side grading coefficient |
| js Bulk jct. sat. current density |
| ld Lateral diffusion |
| tox Oxide thickness |
|-----------------------------------------------------------+
| u0 Surface mobility |
| uo (null) |
| fc Forward bias jct. fit parm. |
| tpg Gate type |
------------------------------------------------------------
| nsub Substrate doping |
| nss Surface state density |
| tnom Parameter measurement temperature |
------------------------------------------------------------
------------------------------------------------------------
| Mos6 - model parameters (output-only) |
|-----------------------------------------------------------+
| type N-channel or P-channel MOS |
------------------------------------------------------------