The history of HSPICE includes:
What does SPICE mean?
title -Implicit first line; becomes netlist file title .options -set conditions for simulation ANALYSIS and TEMP -statements to sweep vaiables .print/.plot/Analysis -set print, plot, and analysis variables .initial conditions -input state of system sources -stimulus netlist -circuit descriptions .model libraries -.lib and .inc .end -terminates the simutlationNote: This is just a suggested structure. Though the title always comes first and .end always comes last, the rest can come in any order in between. Another popular structure that is more implicit is to put the analysis statements after the circuit descriptions.
An example Netlist structure:
This is a netlist $must have a title line .options post acct opts node $HPSICE options l6 6 16 .05 $indcutor c6 16 0 .05 $capacitor r16 16 0 40 $resistor c4 4 14 .1 $another capacitor l5 data 15 1 $another inductor c5 15 0 .2 $another capacitor v4 4 0 dc 0 ac 0 0 pulse 0 1 0 .15 .15 .4 2 $voltage source vdata data 0 sin(1.0 1.0 1.0 0.0 1.0) $voltage source v6 6 0 exp(1 0.1 .02 .6 .2) $voltage source .model ... $models and subckts .tran .1 5 $transient analysis .print v(6) i(r16) $print statement .plot v(4) v(14) v(data) $plot statement .end $Must have an endAnother example of a bjt amplifier bias by a voltage divider is given in bjtamp.sp.
A run status file from the bjt example is listed in bjtamp.st0.
The .lis file for the bjt ampliphier netlist above is shown in bjtamp.lis.
An example .m*# file from the bjt ampliphier example of above is displayed in bjtamp.ma0.
Some examples of using algebaic functions in HSPICE are:
.PARAM x='y+3'
r1 1 0 r='abs(v(1)/i(m1))+10'
.MEAS vmax MAX V(1) .MEAS imax MAX I(q2) .MEAS ivmax PARAM='vmax*imax'
Other helpful hints are these:
hspice <filename>.sp > <filename>.lis