A useful feature of HSPICE is the possibility of having frequency -, time- or temperature- dependent component values. As an example, the modelling of the skin effect during small-signal simulations can be performed only using a frequency-dependent scaling constant. Thus, the SPICE3 syntax has been extended by a SCALE-statement similar to the HSPICE syntax.
The predefined variable names are 'hertz', 'time' and 'temper'.
A passive element definition thus looks like this:
C1 1 2 100n SCALE=1.0+ATANH[hertz*3.13159]
R1 2 3 100k SCALE=1.0+time*11.3e6
L1 3 4 1u SCALE=1.0+temper/273.0
SPICECAD provides a 'scale' property at resistors, capacitors and
inductors. It is not necessary to use '' or '' when using variables
or expressions inside the scaling factor definition.
The following functions are allowed inside the scale
expressions:
ASINH[] ACOSH[] ATANH[] ASIN[] ACOS[] ATAN[]
SINH[] COSH[] TANH[] SIN[] COS[] TAN[] SQRT[]
EXP[] LN[] LOG10[] ABS[] GAMMA[] ERFC[] ERF[]
It is mandatory to use '[' and ']' as brackets, and to write the
function name in upper-case letters.
Inside the scale expression, variables used and defined in the parameter box may be used, too.
It is possible to suppress the netlisting of the SCALE statement. Inside the options1-dialog (hotkey F8), a button 'netlist scale' exists, which can be set to 'yes' or 'no'.