You are on page 1of 8

Resistor models in the Cadence Spectre

There are 3 resistor models in the Cadence Spectre simulator, they are:

Two Terminal Resistor (resistor)

Physical Resistor (phy_res)

Diffusion Resistor Model (rdiff)

The following information is derived from these sources:


1: "Affirma Spectre Circuit Simulator Reference", pp 386-393, 404-406, 410-414,
Product Version 4.4.6, June 2000. 1999 Cadence Design Systems, Inc. All rights
reserved. Printed in the United States of America. Cadence Design Systems, Inc.
2: "Affirma Spectre Circuit Simulator Device Model Equations", pp223-226, Product
Version 4.4.6, February 2001 2001 Cadence Design Systems, Inc. All rights reserved.
Printed in the United States of America. Cadence Design Systems, Inc.
3: "HSPICE/SPICE Interface & SPICE 2G6 Reference Manual", pp47-48, Product
Version 4.4.6, October 2001. 1990-2001 Cadence Design Systems, Inc. All rights
reserved. Printed in the United States of America. Cadence Design Systems, Inc.

1: Two Terminal Resistor (resistor)


Description
It is the normally used resistor model in Spectre. Such a component can be stated in the
following two ways:
without model:
r1 (1 2) resistor r=1.2K m=2

with model:
r1 (1 2) resmod l=8u w=1u

where, parameters r and m in the first statement, l and w in the second statement are
called as instance parameters.
If the instance value R(inst) is not given, use the default resistance R(model) in the
model definition. If R(model) is not given too, the R(inst) can be calculated by:
R(inst) = Rsh * L / (W - 2 * etch)
The nonlinearity of resistor is calculated by:
R(V) = R(inst) / (1 + c1 * V + c2 * V ^ 2 + ...).

where ck is the kth entry in the coefficient vector.


The value of the resistor as a function of the temperature is given by:
R(T) = R(tnom) * [1 + tc1 * (T - tnom) + tc2 * (T - tnom)^2]
where
T = trise(inst) + temp or T = trise(model) + temp

Sample Model Statement


model resmod resistor rsh=150 l=2u w=2u etch=0.05u tc1=0.1 tnom=27 kf=1

where, rsh, l, w and etc are called as model parameters.

Instance parameters
r ( W)
l (m)
w (m)
m=1
scale=1
Resform

tc1=0 1/C
-2
tc2=0 C
trise (C)
isnoisy=yes

Resistance.
Resistor length.
Resistor width.
Multiplicity factor.
Scale factor.
Use the resistance form for this instance.
Default is yes if r<thresh. Possible values
are no or yes.
Linear temperature coefficient.
Quadratic temperature coefficient.
Temperature rise from ambient.
Should resistor generate noise. Possible
values are no or yes.

Model parameters
Resistance parameters
r= W
rsh= W/sqr
thresh=1.0e-3 W,
Resistor Size Parameters
l= m
w=1e-6 m
etch=0 m
etchl=0 m
scaler=1
Temperature Effects Parameters
tc1=0 1/C
-2
tc2=0 C
tnom (C)
trise=0 C
Nonlinearity Coefficients
coeffs=[...]

Default resistance.
Sheet resistance.
Resistances smaller than this will use the
resistance form as opposed to the standard
conductance form.
Default resistor length.
Default resistor width.
Width narrowing due to etching per side.
Length narrowing due to etching per side.
Resistance scaling factor.
Linear temperature coefficient.
Quadratic temperature coefficient.
Parameters measurement temperature. Default
set by options.
Default temperature rise from ambient.
Vector of polynomial conductance coefficients.

Noise Model Parameters


kf=0
af=2

Flicker (1/f) noise coefficient.


Flicker (1/f) noise exponent.

Note: some parameters have the same name in statements and model definitions. If both of them
are given, the values appear at the instance statements have the priority.

2: Physical Resistor (phy_res)


Description
A physical resistor consists of a linear resistor (tied between t1 and t2) and two diodes
(tied between t1-t0 and t2-t0). It is shown in the following figure. The diodes are junction
diodes. Under normal operation, the two diodes are reverse biased, but the parameter
subtype can reverse the direction of the diodes. If you do not specify t0, ground is
assumed. The instance parameters always override model parameters. If you do not
specify the instance resistance value, it is calculated from the model parameters.

subtype = n

subtype = p

Thermal noise =

Flicker noise =

4kT
R
KF ( Ir AF )
f

A
Hz

A
Hz

If R(inst) is not given and R(model) is given


R(inst) = R(model)
Otherwise,
R(inst) = Rsh * (L - 2 * etchl) / (W - 2 * etch)

subtype = poly

If the polynomial coefficients vector (coeffs=[c1 c2 ...]) is specified, the nonlinear


resistance is
R(V) = R(inst) / (1 + c1 * V + c2 * V2 + ...)
where
V = V(t1) - V(t2)
Here V is the controlling voltage across the resistor. It is also the controlling voltage
when the model parameter polyarg is set to diff. In this form, the physical resistor is
symmetric with respect to V(t1) and V(t2). The branch current as a function of the applied
voltage is given by
I(V) = (V / R(inst)) * (1 + 1/2 * c1 * V + 1/3 * c2 * V2 + ...)
where ck is the kth entry in the coefficient vector.
If the model parameter polyarg is set to sum, the controlling voltage is defined as
Vsum = ( (V(t1) - V(t0)) + (V(t2) - V(t0)) )/2
Here, Vsum is the controlling voltage between the resistor and the substrate, t0. In this
case, the device becomes asymmetric with respect to V(t1) and V(t2). The branch
current as a function of the applied voltage for this case is given by
I(V) = (V / R(inst)) * (1 + c1 * Vsum + c2 * Vsum2 + ...)
The large-signal conductance is given by
G(V) = (1 + c1 * Vsum + c2 * Vsum2 + ...) / R(inst)
The resistance as a function of temperature is given by
R(T) = R(tnom) * [1 + tc1 * (T - tnom) + tc2 * (T - tnom)2]
where
T = trise(inst) + temp
if trise(inst) is not given
T = trise(model) + temp
If you do not specify the junction leakage current (is) and js is specified, the leakage
current is calculated from js and the device dimensions.
is = js * 0.5 * (L - 2 * etchl) * (W - 2 * etch)
If you specify the instance capacitance or the linear model capacitance, linear capacitors
are used between t1-t0 and t2-t0. Otherwise, nonlinear junction capacitors are used and
the zerobias capacitance values are calculated from the model parameters.
If C(inst) is not given and C(model) is given,
C(inst) = C(model)
Otherwise,

C(inst) = 0.5*Cj *(L -2*etchlc)*(W -2*etchc)+Cjsw*(W+L-2*etchc-2*etchlc)


If the capacitance is nonlinear, the temperature model for the junction capacitance is
used. Otherwise, the following equation is used.
C(T) = C(tnom) * [1 + tc1c * (T - tnom) + tc2c * (T - tnom)2].

Sample Instance Statement


res1 (net9 vcc) resphy l=1e-3 w=2e-6

Sample Model Statement


model resphy phy_res rsh=85 tc1=1.53e-3 tc2=4.67e-7 etch=0 cj=1.33e-3
cjsw=3.15e-10 tc1c=9.26e-4

Instance Parameters
r ( W)
c (F)
l (m)
w (m)
region=normal
tc1=0 1/C
-2
tc2=0 C
tc1c=0 1/C
tc2c=0 C

-2

trise (C)
m=1

Resistance.
Linear capacitance.
Line length.
Line width.
Estimated operating region. Possible values
are normal or breakdown.
Linear temperature coefficient of resistor.
Quadratic temperature coefficient of resistor.
Linear temperature coefficient of linear
capacitor.
Quadratic temperature coefficient of linear
capacitor.
Temperature rise from ambient.
Multiplicity factor.

Model Parameters
Substrate Type Parameters
subtype=p
Resistance Parameters
r=(W), Default resistance.
rsh=(W)/sqr
minr=0.1(W),Minimum resistance.
coeffs=[...]
polyarg=diff
Temperature Effects Parameters
tc1=0 1/C
-2
tc2=0 C
-2
tc1c=0 C
tc2c=0 C
tnom (C)

-2

Substrate type. Possible values are n p or


poly.

Sheet resistance.
Vector of polynomial conductance coefficients.
Polynomial model argument type. Possible
values are sum or diff.
Linear temperature coefficient of resistor.
Quadratic temperature coefficient of resistor.
Linear temperature coefficient of linear
capacitor.
Quadratic temperature coefficient of linear
capacitor.
Parameters measurement temperature. Default

trise=0 C
Junction Diode Model Parameters
is (A)
2
js=0 A/m
n=1
eg=1.11 V
xti=3
imelt=`imaxA'
jmelt=`jmeltA/m'

imax=1 A
jmax=1e8 A/m

dskip=yes

bvj= V
Junction Capacitance Model Parameters
c=0 F
cj=0 F/m2
cjsw=0 F/m
mj=1/2
mjsw=1/3
pb=0.8 V
pbsw=0.8 V
fc=0.5
fcsw=0.5
tt=0 s
Device Size Parameters
l= m
w=1e-6 m
etch=0 m
etchl=0 m
etchc=etch m
etchlc=etchl m
scaler=1
scalec=1
Noise Model Parameters
kf=0
af=1

set by options.
Temperature rise from ambient.
Saturation current.
Saturation current density.
Emission coefficient.
Band gap.
Saturation current temperature exponent.
Explosion current. diode is linearized beyond
this current to aid convergence.
Explosion current density. diode is linearized
beyond this current to aid convergence.
Maximum current. currents above this limit
generate a warning.
Maximum current density. currents above this
limit generate a warning.
Use simple piece-wise linear model for diode
currents below 0.1*iabstol. Possible values
are no or yes.
Junction reverse breakdown voltage.
Default linear capacitance.
Zero-bias junction bottom capacitance density.
Zero-bias
junction
sidewall
capacitance
density.
Junction bottom grading coefficient.
Junction sidewall grading coefficient.
Junction bottom built-in potential.
Junction sidewall built-in potential.
Junction
bottom
capacitor
forward-bias
threshold.
Junction sidewall capacitor forward-bias
threshold.
Transit time.
Default line length.
Default line width.
Narrowing due to etching.
Length reduction due to etching.
Narrowing due to etching for capacitances.
Length reduction due to etching
capacitances.
Resistance scaling factor.
Capacitance scaling factor.
Flicker (1/f) noise coefficient.
Flicker (1/f) noise exponent.

3: Diffusion Resistor Model (rdiff)


Description

for

The rdiff model is a diffusion resistor model, which accurately models the
temperature, applied bias and back-bias dependencies of NWell, N+, and P+ resistors. It
is described in the paper MODEL FOR DIFFUSION RESISTORS (NWell, N+, P+) USED
IN CMOS IC DESIGNS by M.J.B.Bolt, FASELEC Process Development Group, PDG93029, Modified 3rd May 1995.
Sample Instance Statement
r2 (1 2 0) rdsn l=9u w=2u nb=0 m=1
Sample Model Statement
model rdsn rdiff level=1 tr=27 dta=0 rshr=2.5e3 wtol=0.22u
rint=3.5u swvp=13.4u power=2 tcr1=1.5e-3 tcr2=1e-5 vpr=40
Instance Parameters
l=1.0 scale m
w=1.0 scale m
nb=0.0
m=1.0

Drawn length of resistor. Must be greater than


zero. Scale set by option scale.
Drawn width of resistor. Must be greater than
zero. Scale set by option scale.
Number of bends in the resistor. Must be
greater than or equal to zero.
Multiplicity factor. Must be greater than zero.

Model Parameters
level=1.0
tr (C)
tref (C)
tnom (C)
dta=0 K
trise=0 K
rshr=1.0e+3 W/sqr
wtol=0.0 m
tcr1=0.0 1/K
tcr2=0.0 1/K2
vpr=100.0 V
swvp=0.0 V/m
power=1.5
vdr=1.0 V
rint=0.0 . m
tcrint1=0.0 1/K

Level of this model. Must be 1.


Reference temperature. Default set by option
tnom.
Alias of tr. Default set by option tnom.
Alias of tr. Default set by option tnom.
Temperature offset of the device.
Alias of dta.
Sheet resistance at reference temperature.
Must be greater than zero.
Offset between the drawn and effective resistor
width.
Linear temperature coefficient of the resistor.
Quadratic temperature coefficient of the
resistor.
Reference Pinch-off voltage.
Coefficient of the width dependence of vp.
Voltage exponent. Must be greater than zero.
Diffusion voltage at reference temperature.
Interface resistance at reference temperature.
Linear temperature coefficient of the interface
resistor.

4: SPICE resistor model in Cadence


Cadence also has an interface with SPICE simulator. The resistor model of the SPICE
simulator in Cadence is a simple one as listed below.

General form
RXXXXXXX N1 N2 VALUE <TC=TC1,<TC2>>
N1 and N2 are the two element nodes. VALUE is the resistance (in ohms) and may be
positive or negative but not zero. TC1 and TC2 are the (optional) temperature
coefficients; if not specified, zero is assumed for both. The value of the resistor as a
function of temperature is given by:
value(TEMP)=value(TNOM)*(1+TC1*(TEMP-TNOM)+TC2*(TEMP-TNOM)**2))
Examples
R1 1 2 100
RC1 12 17 1K TC=0.001,0.015

You might also like