In this Topic Hide
Rxxxx n1 n2 [model_name] [value] [L=length] [W=width] [AC=ac_resistance] [TC1=tc1] |
[TC2=tc2] [M=mult] [SCALE=scale] [DTEMP=dtemp] [C=c] |
model_name | Name of .MODEL. This is compulsory unless this model is re-mapped as the default resistor using a device configuration file. See Customising Device Configuration. |
value | Value of resistor. This may be an expression relating parameters defined using .PARAM and circuit variables in the form V(n1,n2) and I(device). Expressions must be enclosed in curly braces or quotation marks. Typically the expression relates to the resistor's own terminals in order to define voltage dependence |
length | Length in metres |
width | Width in metres |
ac_resistance | Value of resistor for AC analyses. Like the main value, this may also be an expression. See above under value for details |
tc1 | First order temperature coefficient |
tc2 | Second order temperature coefficient |
mult | Device multiplier. Equivalent to putting mult devices in parallel, but note that this value does not have to be integral |
scale | Scales resistance and capacitance values. E.g. Reff=scale*R |
dtemp | Differential temperature. Device temperature = global temperature + dtemp |
c | Capacitance to reference node |
.model modelname R (LEVEL=2 parameters ) |
Name | Description | Units | Default |
---|---|---|---|
BULK | Bulk connection for capacitance | Ground | |
CAP | Device capacitance | F | 0.0 |
CAPSW | Sidewall capacitance | F/m | 0.0 |
COX | Capacitance per unit area | F/m2 | 0.0 |
CRATIO | Capacitance terminal distribution | 0.5 | |
DI | Dielectric constant | 0.0 | |
DL | Difference between drawn length and actual length for capacitance calculation | m | DW |
DLR | Difference between drawn length and actual length for resistance calculation | m | 0.0 |
DW | Difference between drawn width and actual width | m | 0.0 |
L, ML | Length | m | 0.0 |
W, MW | Width | m | 0.0 |
NOISE | Noise multiplier | 1.0 | |
RAC | AC resistance | Ω | |
RES | Resistance | Ω | 0.0 |
RSH | Sheet resistance | Ω/sq | 0.0 |
SHRINK | Shrink factor | 1.0 | |
TC1C | Capacitance first order temperature coefficient | 1/C | 0.0 |
TC1R | Resistance first order temperature coefficient | 1/C | 0.0 |
TC2C | Capacitance second order temperature coefficient | 1/C2 | 0.0 |
TC2R | Resistance second order temperature coefficient | 1/C2 | 0.0 |
THICK | Dielectric thickness | m | 0.0 |
TREF | Measurement temperature | C | TNOM |
ACRESMOD | AC resistance model selector. See ACRESMOD Parameter | 0 | |
KF | Flicker noise coefficient | 0 | |
AF | Flicker noise current exponent | 2.0 | |
LF | Flicker noise length exponent | 1.0 | |
WF | Flicker noise width exponent | 1.0 | |
EF | Flicker noise frequency exponent | 1.0 | |
In the following reff is the effective non-temperature adjusted resistance used for DC analyses, reffac is the effective non-temperature adjusted resistance used for AC analyses.
If instance resistance is specified:
reff = value * SCALE/M |
reff = SCALE*RSH*leff / (weff*M) |
weff = SHRINK*W - 2*DW |
leff = SHRINK*L - 2*DLR |
reff = SCALE*RES/M |
raceff = AC*SCALE/M |
raceff = SCALE*RAC/M |
raceff = reff |
capeff is the non temperature adjusted capacitance.
If instance parameter C is given:
capeff = M*SCALE*C |
capeff = M*SCALE*CAP |
capeff = (leffc*weffc*coxmod + 2*((leffc+weffc)*CAPSW))*M*SCALE |
leffc = SHRINK*L - 2*DL |
weffc = SHRINK*W - 2*DW |
If COX given
coxmod = COX |
coxmod = 8.8542149e-012*DI/THICK |
coxmod = 3.453148e-011/THICK |
coxmod = 0.0 |
R(t) = reff * tscale |
tscale = 1+(tc1inst+tdelta*tc2inst)*tdelta |
tdelta = tinst-TREF-273.15 |
tc1inst = if instance TC1 given: TC1 else TC1R |
tc2inst = if instance TC2 given: TC2 else TC2R |
tinst = [global circuit temperature] + DTEMP (Kelvin) |
C(t) = capeff * tscale |
tcscale = 1+(TC1C+tdelta*TC2C)*tdelta |
\[ I_n = \frac{\text{KF} \times I^{\text{AF}}}{L_{\text{eff}}^{\text{LF}} \times W_{\text{eff}}^{\text{WF}} \times f^{\text{EF}}} \]
This parameter controls the calculation of resistance in AC analysis. With ACRESMOD=0 AC analysis uses the large signal resistance value, that is the value of resistance calculated during the DC analysis. If ACRESMOD=1, the small signal resistance is used, that is, the value of dv/di at the operating point. If the resistance is defined as an expression containing circuit variables (i.e. it is voltage dependent), the large signal resistance is different to the small signal resistance.
This resistor model has been developed primarily for compatibility with Hspice models. Hspice itself always uses the large signal resistance. However, this will create a discrepancy between AC analysis and a transient analysis of a small signal. To resolve this discrepancy, set ACRESMOD to 1.
In summary, to be compatible with Hspice, use ACRESMOD=0, for consistent results between AC and transient analyses, use ACRESMOD=1.
In noise analysis the large signal value is always used.
This resistor model requires the specification of a model name and the creation of a .MODEL statement with LEVEL=2. This is likely to be inconvenient if a model file containing Hspice resistors is being used.
To overcome this, a device configuration file can be created that maps this resistor model to the default. For full details see Customing Device Configuration. The line required to make this resistor the default is:
ModelName=R,Device=HspiceRes,Level=0 |
|