Devices and built-in models
This section gives an overview of the devices and their built-in models with their parameters. SLiCAP distinguishes two kinds of models:
Models that have an associated matrix stamp.
Models that will be expanded into models with an associated matrix stamp.
Model data will be listed in tables. The fields in these tables have the following meaning:
name
: the name of the model. This name is associated with the implementation type:
type
: the implementation type of the model:a
stamp
: a matrix stamp is associated with the modelb
expansion
: the model is expanded into elements with models that have associated matrix stamps3.
Ii
:TRUE
if a dependent variable for an input current is added to the vector with dependent variables else:FALSE
. This field applies only for models withtype=stamp
. The name of this current is the concatenation of two strings:a
"Ii_"
and the device name for two-port elements with model typeH
andHZ
b
"I_"
and the device name for twoport elements with model typeF
Io
:TRUE
if an output current is added to the vector with dependent variables, else:FALSE
. This field applies only for models withtype=stamp
. The name of this current is the concatenation of two strings:a
"Io_"
and the device name for two-port elements that have model typeE
,EZ
,G
,H
,HZ
orN
b
"I_"
and the device name for one port elements with model typeL
,r
,V
andZ
Valid model parameters and their default values are listed in the subsequent rows of the table:
param
: the name of the parameter (case sensitive)
value | {expression}
: the default value or expression for the model parameter
Laplace
: a booleanTRUE | FALSE
indicating if the Laplace variables
is allowed in the device expression
description
: a description of the parameter
C: Capacitor
Below the syntax and the symbol for a capacitor and the matrix stamp for model C.
Model C
name
description
type
Ii
Io
C
Linear capacitor
stamp
FALSE
FALSE
Parameters model C
name
description
default
Laplace
value
capacitance
1
FALSE
vinit
initial voltage
0
FALSE
Examples
C1 nodeP nodeN 100n ; Capacitor of 100n between nodeP and nodeN
C1 nodeP nodeN C value = 100n ; Same as above
C1 nodeP nodeN C value = 100n vinit = 0 ; Same as above with initial condition (not yet implemented)
C1 nodeP nodeN {1/tau/R} ; Capacitance as an expression
C1 nodeP nodeN C value = {1/tau/R} ; Same as above
C1 nodeP nodeN myCap ; Same as above with a .model line
.model myCap C value={1/tau/R} vinit = 0
D: Diode
Below the syntax, the symbol and the small-signal model expansion for the a diode: model D.
Model D
name
description
type
D
Small-signal model diode
expansion
Parameters model D
name
description
default
Laplace
gd
conductance
1
FALSE
cd
capacitance
0
FALSE
rs
series resistance
0
FALSE
Examples
D1 nodeA nodeC D ; Diode anode connected to nodeA cathode to nodeC and default parameters.
D1 nodeA nodeC D1N4148
+ gd = {q_e*I_D/K_b/T_A}
+ cd = {q_e*I_D/K_b/T_A/2/PI/tau_F}
+ rs = 25
.model D1N4148 D
.param tau_F = 4n I_D = 1m
E: Voltage-controlled voltage source
SLiCAP has two models for voltage-controlled voltage sources: model E and model EZ. The later one includes a series output impedance but has a compact matrix stamp.
Models
name
description
type
Ii
Io
E
VCVS
stamp
FALSE
TRUE
EZ
VCVS with Z-series
stamp
FALSE
TRUE
Model E
Parameters model E
name
description
default
Laplace
value
voltage gain
1
TRUE
Model EZ
Parameters model EZ
name
description
default
Laplace
value
voltage gain
1
TRUE
zo
series impedance
1
TRUE
Examples
E1 outP outN inP inN 1M
E1 outP outN inP inN {1M/(1 + s/2/PI/f_-3dB)}
E1 outP outN inP inN EZ
+ value = {A_0/(1 + s*tau)}
+ zo = {R_out*(1 + s*L_out/R_out}
E2 outP outN inP inN simpleOpamp
.model simpleOpamp EZ
+ value = {A_0/(1 + s*tau)}
+ zo = {R_out*(1 + s*L_out/R_out}
F: Current-controlled current source
Below the syntax, the symbol and the matrix stamp for a CCCS: model F.
Model F
Please notice the independent variable \(I_{Fx}\) which is added to the vector of independent variables equals the product of the denominator of the current gain \(Df_s\) and the input current \(Ii_{Fx}\), rather than the input current.
name
description
type
Ii
Io
F
VCVS
stamp
TRUE
FALSE
Parameters model F
name
description
default
Laplace
value
current gain
1
TRUE
Examples
F1 outP outN inP inN 20
F1 outP outN inP inN {100/(1 + s/2/PI/f_-3dB)}
F1 outP outN inP inN F value={A_i/(1 + s*tau)}
F2 outP outN inP inN myCCCS
.model myCCCS F value = {A_i/(1 + s*tau)}
G: Voltage-controlled current source
SLiCAP has two models for voltage-controlled current sources, model ‘G’ for a complex transfer and model ‘g’ for a real transfer.
Model ‘G’ can be used for sources that need to be selected as loop gain reference variable according to the asymptotic-gain model. The transadmittance can be a function of the Laplace variable ‘s’. Model ‘g’ is intended to be used as conductance or transconductance and cannot be selected a loop gain reference variable.
Models
name
description
type
Ii
Io
G
VCGS
stamp
FALSE
TRUE
g
VCGS
stamp
FALSE
FALSE
Model G
Parameters model G
name
description
default
Laplace
value
transadmittance
1
TRUE
Model g
Parameters model g
name
description
default
Laplace
value
transconductance
1
FALSE
Examples
G1 outP outN inP inN 20m
G1 outP outN inP inN {1m/(1 + s/2/PI/f_-3dB)}
G1 outP outN inP inN G value = {A_y/(1 + s*tau)}
G2 outP outN inP inN myVCCS
.model myVCCS G valu e= {A_y/(1 + s*tau)}
G3 outP outN inP inN g value = 1m
G3 outP outN inP inN g value = {q*I_c/k/T}
H: Current-controlled voltage source
SLiCAP has two models for current-controlled voltage sources: model H and model HZ. The later one includes a series output impedance but has a compact matrix stamp.
Models
name
description
type
Ii
Io
H
CCVS
stamp
TRUE
TRUE
HZ
CCVS with Z-series
stamp
FALSE
TRUE
Model H
Parameters model H
name
description
default
Laplace
value
transimpedance
1
TRUE
Model HZ
Parameters model HZ
name
description
default
Laplace
value
transimpedance
1
TRUE
zo
series impedance
1
TRUE
Examples
H1 outP outN inP inN 1M
H1 outP outN inP inN {1M/(1 + s/2/PI/f_-3dB)}
H1 outP outN inP inN HZ
+ value = {R_T/(1 + s*tau)}
+ zo = {R_out*(1 + s*L_out/R_out}
H2 outP outN inP inN simpleTransimpedanceAmp
.model simpleTransimpedanceAmp HZ
+ value = {R_T/(1 + s*tau)}
+ zo = {R_out*(1 + s*L_out/R_out}
I: Independent current source
Below the syntax, the symbol and the matrix stamp for an independent current source: model I.
Model I
name
description
type
Ii
Io
I
Independent current source
stamp
FALSE
FALSE
Parameters model I
name
description
default
Laplace
value
Current (Laplace transform)
0
TRUE
dc
DC value [A]
0
TRUE
dcvar
Variance of DC value [A^2]
0
TRUE
noise
Noise current density [A^2/Hz]
0
TRUE
Examples
* Both definitions are equivalent:
I1 n1 n2 1m
I1 n1 n2 I value = 1m
Iin 0 input I value = {I_s} noise = 1e-24 dc=10n dcvar = 4e-18
.param I_s = {1m/s}; Step of 1mA starting at t=0
J: Junction FET
Like the PN diode, the JFET model J is expanded into network elements that have a matrix stamp.
Model J
name
description
type
J
Small-signal model JFET
expansion
Parameters model J
name
description
default
Laplace
cgs
contactance
0
FALSE
cdg
capacitance
0
FALSE
gm
forward transconductance
1E-3
FALSE
go
output conductance
0
FALSE
Examples
J1 nodeD nodeG nodeS myJFET
.model myJFET J cgs=20p cdg=1p gm=15m go=500u
K: Coupling factor
Below the syntax, the symbol and the matrix stamp for a coupling between two inductors: model K.
Model K
name
description
type
Ii
Io
K
Coupling factor
stamp
FALSE
FALSE
Parameters model K
name
description
default
Laplace
value
coupling factor
1
FALSE
Examples
L1 n1 n2 {L_a}
L2 n3 n4 {L_b}
k12 L1 L2 0.98
L: Inductor
Below the syntax, the symbol and the matrix stamp for an inductor: model L.
Model L:
name
description
type
Ii
Io
L
Linear inductor
stamp
FALSE
FALSE
Parameters model L
name
description
default
Laplace
value
inductance
1
FALSE
iinit
initial condition
0
FALSE
Examples
L1 n1 n2 {L_a}
L1 n1 n2 L value = {L_a}
L1 n1 n2 L myL
.model myL L value = {L_a}
L1 n1 n2 L myL
.model myL L value = {L_a} iinit = 0
M: 4-terminal MOS
SLiCAP has two models for 4-terminal MOS transistors. Model M for a single MOS transistor and model MD for a differential-pair MOS. The latter one facilitates the design and analysis of negative-feedback amplifiers in which one controlled source that models the gain of the differential-pair MOS can be selected as loop gain reference variable.
Models
name
description
type
M
Four-terminal MOS
expansion
MD
Four-terminal diff. pair MOS
expansion
Model M
Parameters model M
name
description
default
Laplace
cgs
gate-source capacitance
0
FALSE
cgb
gate-bulk capacitance
0
FALSE
cdg
drain-gate capacitance
0
FALSE
cdb
drain-bulk capacitance
0
FALSE
csb
source-bulk capacitance
0
FALSE
gm
forward transconductance
1E-3
FALSE
gb
bulk transconductance
0
FALSE
go
output conductance
0
FALSE
Model MD
Parameters model MD
name
description
default
Laplace
cgg
gate-gate capacitance
0
FALSE
cdg
drain-gate capacitance
0
FALSE
cdd
drain-drain capacitance
0
FALSE
gm
forward transconductance
1E-3
FALSE
go
output conductance
0
FALSE
Examples
Below three ways of defining a MOS in a circuit. The first example calls the mos model M with its default parameters and then overrides these parameters by local definitions in the call. The model parameter gm
is passed as global parameter gm
.
M1 D G S B M gm={g_m} gb = 150u go = 100u cgs = 0.2p cdg = 10f
The second example calls the model from a library file and redefines g_m
as a global parameter.
M1 D G S B myMOS gm = {g_m}
.include myMOS.lib
The third example calls a model and its parameters. For a given process, geometry and device operating point, these small-signal parameters can be obtained from a SPICE simulation.
M1 D G S B M1
.model M1 M gm = 2m gb = 150u go = 100u cgs = 0.2p cdg = 10f
The next example shows the application of a differential-pair MOS.
M1 D1 D2 G1 G2 myDiffPairMOS
*parameters of the single MOS
.param g_m = 1m g_o = 100u c_gs = 0.2p c_dg = 10f c_db = 5f
*parameters of the diff. pair MOS
.model myDiffPairMOS MD
+ gm = {g_m/2}
+ go = {g_o/2}
+ cgg = {c_gs/2}
+ cdg = {c_dg}
+ cdd = {c_db/2}
N: Nullor
Model N
name
description
type
Ii
Io
N
Nullor
stamp
FALSE
TRUE
Examples
N_amp out 0 in+ in-
O: Operational amplifier
SLiCAP has two built-in models for operational amplifiers:
A small-signal model for a voltage-feedback operational amplifier: model OV
A small-signal model for a current-feedback operational amplifier: model OC
Models
name
description
type
OV
Voltage-feedback OpAmp
expansion
OC
Current-feedback OpAmp
expansion
Model OV
Parameters model OV
name | description
default
Laplace
cd
differential-mode input capacitance
0
FALSE
cc
common-mode input capacitance
0
FALSE
gd
differential-mode input conductance
0
FALSE
gc
common-mode input conductance
0
FALSE
av
voltage gain
1E6
TRUE
zo
output impedance
0
TRUE
Model OC
Parameters model OC
name
description
default
Laplace
cp
input capacitance non-inverting input
0
FALSE
gp
input conductance non-inverting input
0
FALSE
cpn
input capacitance
0
FALSE
gpn
input conductance
0
FALSE
gm
input stage transconductance
20E-3
FALSE
zt
output stage transimpedance
1E6
TRUE
zo
output impedance
0
TRUE
Examples
O1 inP inN out 0 AD8610
.model AD8610 OV
+ cd = 15p
+ cc = 8p
+ av = {300k*(1-s*1.3n)/(1+s*2.4m)/(1+s*1.3n)}
+ zo = 20
O1 inP inN out 0 LT1223
.model LT1223 OC
+ cp = 1.5p
+ gp = 100n
+ gm = 65m
+ zt = {5M/(1+s*680u)/(1+s*1.6n)}
+ zo = 30
Q: 4-terminal BJT
SLiCAP incorporates three models for 4-terminal Bipolar Junction Transistors (BJTs):
Model QV for a single vertical BJT
Model QL for a single lateral BJT
Model QD for a differential pair.
The latter one facilitates the design and analysis of negative-feedback amplifiers in which one controlled source that models the gain of the differential-pair BJT can be selected as loop gain reference variable.
Models
name
description
type
QV
Four-terminal vertical BJT
expansion
QL
Four-terminal lateral BJT
expansion
QD
Four-terminal diff. pair BJT
expansion
Model QV
Parameters model QV
name
description
default
Laplace
cpi
internal base-emitter capacitance
0
FALSE
cbc
internal base-collector capacitance
0
FALSE
cbx
external base-collector capacitance
0
FALSE
cs
collector-substrate capacitance
0
FALSE
gpi
internal base-emitter conductance
1E-3
FALSE
gm
transconductance
0
FALSE
go
output conductance
0
FALSE
gbc
internal base-collector conductance
0
FALSE
rb
base resistance
0
FALSE
Model QL
Parameters model QL
name
description
default
Laplace
cpi
internal base-emitter capacitance
0
FALSE
cbc
internal base-collector capacitance
0
FALSE
cbx
external base-collector capacitance
0
FALSE
cs
base-substrate capacitance
0
FALSE
gpi
internal base-emitter conductance
1E-3
FALSE
gm
transconductance
0
FALSE
go
output conductance
0
FALSE
gbc
internal base-collector conductance
0
FALSE
rb
base resistance
0
FALSE
Model QD
Parameters model QD
name
description
default
Laplace
cbb
internal base-base capacitance
0
FALSE
cbc
internal base-collector capacitance
0
FALSE
cbx
external base-collector capacitance
0
FALSE
gbb
internal base-base conductance
0
FALSE
gm
forward transconductance
1E-3
FALSE
gcc
colector-collector conductance
0
FALSE
gbc
internal base-colector conductance
0
FALSE
rb
base resistance
0
FALSE
Examples
Below a specification of a BJT of which the model parameters are expressed in SPICE model parameters, the operating point current I_C
and the operating voltage V_CE
. The expressions are simplifications of the nonlinear device equations for a bipolar transistor.
Q1 C B E S QV
+ gm = {g_m}
+ gpi = {g_m/beta_F}
+ go = {(I_c+V_ce)/VAF}
+ cbc = {c_bc}
+ cbx = {c_bx}
+ cpi = {(CJE + TAUF*g_m)}
+ rb = {r_b}
+ gbc = {g_bc}
.param gm = I_c/U_T
Below a specification of a BJT that uses small-signal parameters in an operating point as they can be determined with the aid of a SPICE operating point simulation.
Q1 C B E S Q1
.model Q1 QV
+ gm = 20m
+ rb = 50
+ go = 10u
+ gbc = 0
+ cpi = 2p
+ cbc = 0.05p
+ cbx = 0.05p
+ cs = 0.2p
Below a specification of a lateral BJT that uses small-signal parameters in an operating point as they can be determined with the aid of a SPICE operating point simulation.
Q1 C B E S Q1
.model Q1 QL
+ gm=20m
+ rb=50
+ go=10u
+ gbc=0
+ cpi=2p
+ cbc=0.05p
+ cbx=0.05p
+ cs=0.2p
Below an example of a differential pair BJT of which the parameters are related to those of the single transistor stage, biased in the same operating point as the transistors of the differential pair.
Q1 C1 C2 B1 B2 myDiffPairBJT
.model myDiffPairBJT QD
+ gm = {I_c/2/U_T}
+ gpi = {I_c/2/U_T/beta_AC}
+ go = {2*(I_c+V_ce)/V_AF}
+ cbc = {c_bc}
+ cbx = {c_bx}
+ cpi = {(CJE + TAUF*I_c/U_T)/2}
+ rb = {r_b}
* below the device parameters of the single transistor
.param r_b = 50 V_AF=50 g_bc = 0 CJE = 2p c_bc = 0.05p c_bx = 0.05p beta_AC=100
* below the operating point the single transistor
.param I_c = 1m V_ce=5
R: Resistor
The default model type for a resistor is R. Zero value for its resistance causes a divide by zero error while building the matrix. If zero value is required, e.g. because of parameter stepping, model type r should be used.
Models
name
description
type
Ii
Io
R
Resistor resistance > 0
stamp
FALSE
FALSE
r
Resistor resistance >= 0
stamp
FALSE
TRUE
Model R
Parameters model R
name
description
default
Laplace
value
resistance
1
FALSE
dcvar
variance
0
FALSE
dcvarlot
variance of lot
0
FALSE
noisetemp
noise temperature
0
FALSE
noiseflow
corner frequency 1/f noise
0
FALSE
dcvar
variance
0
FALSE
Model r
Parameters model r
name
description
default
Laplace
value
resistance
1
FALSE
dcvar
variance
0
FALSE
dcvarlot
variance of lot
0
FALSE
noisetemp
noise temperature
0
FALSE
noiseflow
corner frequency 1/f noise
0
FALSE
dcvar
variance
0
FALSE
Examples
The examples below illustrates four different ways for specifying a resistor that is connected between the nodes nP and nN and has a numerical value of 10kOhm.
R1 nP nN R value = {R} noiseTemp = {T} noiseflow ={f_ell} dcvar = {sigma_R^2}
R1 nP nN {20 * alpha}
R1 nP nN r value = {R_a} dcvar = {sigma^2}
R1 nP nN myR
.model myR R value = {20 * alpha}
.param alpha = 500
T: Ideal transformer
SLiCAP has a built-in model for an ideal transformer.
Model T
name
description
type
Ii
Io
T
Ideal transformer
stamp
FALSE
TRUE
Parameters model T
name
description
default
Laplace
value
turns ratio
1
FALSE
Examples
T1 secP secN priP priN {Vpri/Vsec}
T1 secP secN priP priN T value={Vpri/Vsec}
T1 secP secN priP priN myTrafo
.model myTrafo T value={Vpri/Vsec}
V: Independent voltage source
Model V
name
description
type
Ii
Io
V
Independent voltage source
stamp
FALSE
TRUE
Parameters model V
name
description
default
Laplace
value
Voltage (Laplace transform)
0
TRUE
dc
DC value
0
TRUE
dcvar
Variance of DC value [V^2]
0
TRUE
noise
Noise voltage density [V^2/Hz]
0
TRUE
Examples
* Both definitions are equivalent:
V1 n1 n2 20m
V1 n1 n2 V value = 20m
Vin 0 input V value = {V_s} noise = 1e-16 dc = 0 dcvar = 1e-4
.param V_s = {1/s}; Step of 1V starting at t = 0
W: Gyrator
SLiCAP is often used for conceptual design and for this reason the gyrator has been included.
Model W
name
description
type
Ii
Io
W
Gyrator
stamp
FALSE
FALSE
Parameters model W
name
description
default
Laplace
value
transconductance
1
FALSE
Examples
Below two definitions of a gyrator with a conversion gain of 10mA/V.
W1 outP outN inP inN 10m
W1 outP outN inP inN W value = 10m
X: Sub circuit call
See examples in section: .subckt … .ends lines.