Product Documentation
Spectre Circuit Simulator Components and Device Models Reference
Product Version 23.1, June 2023

Component Statements

You can give the resistance explicitly or allow it to be computed from the physical length and width of the resistor. In either case, the resistance can be a function of temperature or applied voltage.

This device is supported within altergroups.

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)

If the polynomial coefficients vector (coeffs=[c1 c2 ...]) is specified, the resistor is nonlinear. When nonlinform is set to g, the conductance is

G(V) = dI / dV

= (1 + c1 * V + c2 * V^2 + ...) / R(inst).

The branch current as a function of applied voltage is

I(V) = (V / R(inst)) * (1 + 1/2 * c1 * V + 1/3 * c2 * V^2 + ...)

When nonlinform is set to r, the resistance is

R(V) = dV / dI

= R(inst) * (1 + c1 * V + c2 * V^2 + ...).

where ck is the kth entry in the coefficient vector.

For AC analysis, RAC(inst) AC resistance will be used.

If RAC(inst) is not given, and RAC(model) is given,

RAC(inst) = RAC(model)

otherwise,

RAC(inst) will use DC resistance.

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

if trise(inst) is given, and

T = trise(model) + temp

otherwise.

If you specify capacitance the model is a wire RC model. You can give the capacitance explicitly or allow it to be computed from the physical length and width of the resistor. The model parameter cratio can be used to allocate the parasitic capacitance of the wire element between the models input capacitor and output capacitor.

If C(inst) is not given and C(model) is given,

C(inst) = C(model).

Otherwise,

C(inst) = Cj * (L - 2 * etchl) * (W - 2 * etch) + 2 * Cjsw * (W + L - 2 * etch - 2 * etchl).

The parasitic capacitance assigned to the input and output nodes is given by:

C(1) = C(inst) * cratio

C(2) = C(inst) * (1 - cratio).

The value of each capacitor as a function of the temperature is given by:

C(T) = C(tnom) * [1 + tc1c * (T - tnom) + tc2c * (T - tnom)^2].

Sample Instance Statement

without model:

r1 (1 2) resistor r=1.2K rac=100K m=2

with model:

r1 (1 2) resmod l=8u w=1u

Sample Model Statement

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

This device support behavior expression

Sample behavior Statement

r1 (1 0) resistor r=rsh*(1 + v(1,2)*c1 + v(1,2)^2*c2)
r1 (1 0) resistor r= 100 + sqrt($freq)/1e6

Instance Syntax

Name  1  2  [0] ModelName parameter=value ...
Name  1  2  [0] resistor parameter=value ...

Instance Parameters

r ()

Resistance.

l (m)

The length of the resistor.

w (m)

The width of the resistor.

lvl=0

The metal layer of the resistor.

m=1

Multiplicity factor.

scale=1

Scale factor.

resform

Use the resistance form for this instance. Default is yes if r < thresh. Possible values are no or yes.

tc1=0 1/C

Linear temperature coefficient(alias=lv3,tc1r).

tc1r=0 1/C

Alias for tc1.

tc2=0 C-2

Quadratic temperature coefficient(alias=lv4,tc2r).

tc2r=0 C-2

Alias for tc2.

trise (C)

Temperature rise from ambient.

isnoisy=yes

Should resistor generate noise. Possible values are no or yes.

bv_max=

Maximum allowed voltage across two terminals.

c (F)

Capacitance.

tc1c=0 1/C

Linear temperature coefficient of capacitor.

tc2c=0 C-2

Quadratic temperature coefficient of capacitor.

rac ()

Default AC resistance, (alias=ac).

scaler

Resistance scaling factor.

scalec

Capacitance scaling factor.

dtemp (C)

Alias of Temperature rise from ambient.

cap (F)

Alias of capacitance.

The instance parameter scale, if specified, overrides the value given by the option parameter scale. The w and l parameters are scaled by the resulting scale, and the option parameter scalem. The parameters w and l are scaled also by the model parameter shrink.The values of w and l printed out by spectre are those given in the input, and these values might not have the correct units if the scaling factors are not unity. The correct effective resistor dimensions are stored in the output parameters. You can obtain these dimensions by using the info statement.

Model Syntax

model modelName resistor parameter=value ...

Model Parameters

Resistance parameters

r=0.0

Default resistance.

rsh=0.0 /sqr

Sheet resistance.

thresh=1.0e-3

Resistances smaller than this will use the resistance form, as opposed to the standard conductance form.

rthresh=1.0e-3

Alias of thresh.

rac=0.0

Default AC resistance.

Resistor size parameters

l=0.0 m

Default resistor length.

w=1e-6 m

Default resistor width.

etch=0 m

Width narrowing due to etching per side.

etchl=0 m

Length narrowing due to etching per side.

scaler=1

Resistance scaling factor.

Temperature effects parameters

tc1=0 1/C

Linear temperature coefficient.

tc2=0 C-2

Quadratic temperature coefficient.

tnom (C)

Parameters measurement temperature. Default set by options.

trise=0 C

Default temperature rise from ambient.

Nonlinear resistance

coeffs=[...]

Vector of polynomial conductance coefficients.

nonlinform=g

The form of the nonlinear resistance. Possible values are g or r.

symmetric=none

Use symmetric resistor model. Possible values are none, absolute or smooth.

Noise model parameters

kf=0

Flicker (1/f) noise coefficient.

af=2

Flicker (1/f) noise exponent.

wdexp=1

Flicker (1/f) noise W exponent.

ldexp=1

Flicker (1/f) noise L exponent.

weexp=0

Flicker (1/f) noise W effective exponent.

wf=0

Alias of flicker (1/f) noise W effective exponent, default value=1 when spice compatible.

leexp=0

Flicker (1/f) noise L effective exponent.

lf=0

Alias of flicker (1/f) noise L effective exponent, default value=1 when spice compatible.

fexp=1

Flicker (1/f) noise frequency exponent.

DC-mismatch model parameters

mr=0.0

Resistor mismatch dependence.

mrl=0.0 1/m^mrlp

Resistor mismatch length dependence.

mrlp=0.0

Resistor mismatch length power dependence.

mrw=0.0 1/m^mrwp

Resistor mismatch width dependence.

mrwp=0.0

Resistor mismatch width power dependence.

mrlw1=0.0 1/m^(2 mrlw1p)

Resistor mismatch area 1 dependence.

mrlw1p=0.0

Resistor mismatch area 1 power dependence.

mrlw2=0.0 1/m^(2 mrlw2p)

Resistor mismatch area 2 dependence.

mrlw2p=0.0

Resistor mismatch area 2 power dependence.

Wire RC parameters

c=0 F

Default capacitance.

cj=0 F/m2

Bottomwall capacitance.

cjsw=0 F/m

Sidewall fringing capacitance.

thick=0 m

Dielectric thickness.

di=0

Relative dielectric constant.

cratio=0.5

Cratio.

tc1c=0 C-2

Linear temperature coefficient of capacitor.

tc2c=0 C-2

Quadratic temperature coefficient of capacitor.

shrink=1

Shrink Factor.

scalec=1

Capacitance scaling factor.

dtemp=0 C

Alias of default temperature rise from ambient.

cap=0 F

Alias of default capacitance.

dw=0 m

Alias of width narrowing due to etching per side.

dlr=0 m

Alias of length narrowing due to etching per side.

cox=0 F/m2

Alias of bottomwall capacitance.

capsw=0 F/m

Alias of sidewall fringing capacitance.

res=0

Alias of default resistance.

ef=1

Alias of flicker (1/f) noise frequency exponent.

Safe operating areas parameters

bv_max=

Maximum allowed voltage across two terminals.

The instance parameter resform and the model parameter thresh control whether a resistor is formulated in the standard conductance form, or in the resistance form. If the value of the resistor is smaller than thresh, Spectre uses the resistance form; otherwise it uses the conductance form. If resform is set on an instance, it overrides the thresh parameter. The resistance form is appropriate for small resistances and the conductance form is intended for larger resistances. Using the conductance form for small resistances or the resistance form for large resistances can cause convergence problems.

With the resistance form, the resistance can be zero; with the conductance form, the resistance can be infinite. The resistance form is less efficient than the conductance form. You cannot change the formulation of a resistor once it has been determined. Spectre makes this choice by comparing the initial value of the resistance to thresh.

If the polynomial coefficients vector is specified and symmetric=absolute, the resistor model is symmetric. When nonlinform is set to g, the conductance is

G(V) = dI / dV

= (1 + c1 * |V| + c2 * |V|^2 + ...) / R(inst)

where |V| = ABS(V(1) - V(2)) and ck is the kth entry in the coefficient vector.

When nonlinform is set to r, the resistance is

R(V) = dV / dI

= R(inst) * (1 + c1 * |V| + c2 * |V|^2 + ...)

where |V| = ABS(V(1) - V(2)).

If symmetric=smooth the smoothing function f(V) is used:

f(V) = V * V / sqrt(V * V + 0.00001).

For nonlinform=g the conductance is

G(V) = dI / dV

= (1 + c1 * f(V) + c2 * f(V)^2 + ...) / R(inst).

Modeling AC resistance

In certain situations, a part of a circuit that is required to calculate the DC operating point needs to be removed during a subsequent AC analysis or visa versa. An example of a situation in which this occurs is when measuring the loop gain of a feedback amplifier. In this case the feedback loop must be removed when computing the AC response of the amplifier. In Spectre, the most accurate method of doing this is to use an ideal switch component (see spectre -h switch), e.g.

Vin (pin 0) vsource mag=1

OA1 (pin nin out) opamp

Sw1 (nin out 0) switch position=1 ac_position=2

LoopGain ac start=1 stop=1MHz

Another possibility is that the resistance of an instance changes from one analysis to another. The following subcircuit models a resistance whose value is given by the parameter rac during AC analyses, and rdc for all other analyses.

subckt ac_res (a b)

parameters rdc=1 rac=2

R1 (a i) resistor r=rdc

Rac (i b) resistor r=rac-rdc

Sw (i b) switch position=1 ac_position=0

ends ac_res

Output Parameters

leff (m)

Effective resistor length.

weff (m)

Effective resistor width.

reff ()

Effective resistance.

ceff (F)

Effective capacitance.

tempeff (C)

Effective temperature for a single device.

meff

Effective multiplicity factor (m-factor).

Operating-Point Parameters

trise (C)

Temperature rise from ambient.

v (V)

Voltage at operating point.

i (A)

Current through the resistor.

res ()

Resistance at op point.

pwr (W)

Power dissipation.

Related Topics

Physical Resistor (phy_res)

Wire RC Model

Passive Components


Return to top
 ⠀
X