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 model
b expansion: the model is expanded into elements with models that have associated matrix stamps
3. 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 with type=stamp. The name of this current is the
concatenation of two strings:
a "Ii_" and the device name for two-port elements with model type H and HZ
b "I_" and the device name for twoport elements with model type F
Io: TRUE if an output current is added to the vector with dependent variables, else: FALSE. This field applies only for models with type=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 type E, EZ, G, H, HZ or N
b "I_" and the device name for one port elements with model type L, r, V and Z
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 boolean TRUE|FALSE indicating if the Laplace variable s is allowed in the device expression
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.
Syntax, symbol and matrix stamp of a CCCS 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.
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.
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.
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.
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}
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.
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
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.
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