HSPICE reference catalog
Effective documentation for the HSPICE dialect (spiceLsp.dialect = "hspice"): shared entries plus dialect overlays.
Source of truth: JSON under reference/. Hover in the editor uses the same corpus.
Index
| Name | Kind | Summary | Source |
|---|---|---|---|
.ac | directive | AC frequency analysis (HSPICE) | dialect |
.alter | directive | Rerun simulation with alternate parameters or analyses (HSPICE) | dialect |
.data | directive | Define a named data table for data-driven sweeps (HSPICE) | dialect |
.dc | directive | DC analysis and sweeps (HSPICE) | dialect |
.end | directive | Terminate the netlist (HSPICE) | dialect |
.ends | directive | End a subcircuit definition | shared |
.ic | directive | Force initial node voltages (HSPICE) | dialect |
.include | directive | Include an external file (HSPICE) | dialect |
.lib | directive | Call a named library section (HSPICE) | dialect |
.measure | directive | Measure delay, rise/fall, extrema, and other results (HSPICE) | dialect |
.model | directive | Define a device model | shared |
.nodeset | directive | Suggest initial guesses for DC convergence (HSPICE) | dialect |
.noise | directive | Noise analysis paired with .AC (HSPICE) | dialect |
.op | directive | DC operating-point report (HSPICE) | dialect |
.option | directive | Set HSPICE simulation options | dialect |
.param | directive | Define parameters and expressions (HSPICE) | dialect |
.print | directive | Print tabulated analysis results (HSPICE) | dialect |
.probe | directive | Select waveforms saved for post-processing (HSPICE) | dialect |
.subckt | directive | Begin a subcircuit definition | shared |
.temp | directive | Set simulation temperature(s) (HSPICE) | dialect |
.tf | directive | DC small-signal transfer function (HSPICE) | dialect |
.tran | directive | Transient analysis (HSPICE) | dialect |
C | element | Capacitor | shared |
R | element | Resistor | shared |
X | element | Subcircuit instance | shared |
Directives
.ac
hspice.directive.ac — AC frequency analysis (HSPICE)
Dialect overlay (replaces shared entry with the same name).
.AC type np fstart fstop
.AC type np fstart fstop SWEEP var type2 np2 start stop
.AC DATA=datanm
| Parameter | Description | Units |
|---|---|---|
type | LIN, DEC, or OCT frequency spacing. | |
np | Points (LIN) or points per decade/octave. | |
fstart / fstop | Frequency range. | Hz |
SWEEP … | Optional nested parameter/source sweep. | |
DATA=datanm | Data-driven AC analysis. |
Examples
.AC DEC 10 1 1G.AC LIN 50 1k 100Meg.AC DATA=ac_corners
HSPICE adds nested SWEEP and DATA= forms on top of classic LIN/DEC/OCT.
See also: hspice.directive.data, hspice.directive.noise
.alter
hspice.directive.alter — Rerun simulation with alternate parameters or analyses (HSPICE)
Dialect overlay (replaces shared entry with the same name).
.ALTER [title_string]
| Parameter | Description | Units |
|---|---|---|
title_string | Optional title for this alter case. |
Examples
.ALTER slow_corner .TEMP 125 .LIB 'models.lib' SS
An .ALTER block may contain elements and many control statements (.PARAM, .LIB, .DATA, .DC, .TRAN, .OP, …). Analysis types already used in the main deck have restrictions—see the HSPICE user guide.
See also: hspice.directive.data, hspice.directive.lib, hspice.directive.param
.data
hspice.directive.data — Define a named data table for data-driven sweeps (HSPICE)
Dialect overlay (replaces shared entry with the same name).
.DATA datanm pnam1 [pnam2 ...]
pval1 [pval2 ...]
...
.ENDDATA
| Parameter | Description | Units |
|---|---|---|
datanm | Data-block name referenced by DATA=datanm on .DC / .AC / .TRAN. | |
pnam | Parameter column name (must be declared with .PARAM). | |
pval | Row of values; column count matches the parameter list. |
Examples
.DATA load_sweep rload 1k 10k 100k .ENDDATA- `.DATA load_sweep rload
- 1k
- 10k .ENDDATA`
.DC DATA=load_sweep
HSPICE supports inline .DATA … .ENDDATA blocks and external/MER file forms. Value rows may be bare (no leading +) or classic + continuations. Analysis statements select a block with DATA=datanm (optionally DATA=datanm(Nums)).
See also: hspice.directive.dc, shared.directive.param, hspice.directive.tran
.dc
hspice.directive.dc — DC analysis and sweeps (HSPICE)
Dialect overlay (replaces shared entry with the same name).
.DC var1 start1 stop1 incr1
.DC var1 START=start1 STOP=stop1 STEP=incr1
.DC var1 start1 stop1 incr1 [SWEEP] var2 start2 stop2 incr2
.DC var1 type np start1 stop1
.DC DATA=datanm
.DC MONTE=val
| Parameter | Description | Units |
|---|---|---|
var1 | Primary sweep variable: independent source, element/model parameter, or TEMP. | |
start1 / stop1 / incr1 | Linear sweep bounds and step (positional or START=/STOP=/STEP=). | |
type np | LIN|DEC|OCT with point count for parameterized / nested sweeps. | |
SWEEP var2 … | Optional nested (second) sweep over another source or parameter. | |
DATA=datanm | Data-driven sweep using a .DATA block. | |
MONTE=val | Monte Carlo DC analysis. |
Examples
.DC Vgs 0 1.8 0.1.DC Vds 0 1.8 0.05 SWEEP Vgs 0 1.8 0.3.DC TEMP START=0 STOP=100 STEP=25.DC DATA=corner_table.DC MONTE=100
HSPICE extends classic SPICE .DC with keyword START/STOP/STEP, nested SWEEP, DATA= tables, and MONTE=. Prefer DATA= for multi-parameter corner tables.
See also: hspice.directive.data, shared.directive.op, hspice.directive.print
.end
hspice.directive.end — Terminate the netlist (HSPICE)
Dialect overlay (replaces shared entry with the same name).
.END [comment]
| Parameter | Description | Units |
|---|---|---|
comment | Optional comment, often the deck name. |
Examples
.END.END inverter_tb
Also closes any open .ALTER sequences. Statements after .END are ignored.
.ends
shared.directive.ends — End a subcircuit definition
.ends [name]
| Parameter | Description | Units |
|---|---|---|
name | Optional subcircuit name; should match .subckt. |
Examples
.ends.ends buffer
See also: shared.directive.subckt
.ic
hspice.directive.ic — Force initial node voltages (HSPICE)
Dialect overlay (replaces shared entry with the same name).
.IC V(node)=value [V(node2)=value2 ...]
| Parameter | Description | Units |
|---|---|---|
V(node) | Node (or hierarchical path) to initialize. | V |
Examples
.IC V(out)=0.IC V(clk)=0 V(data)=1.8
Also accepted as .DCVOLT. Used with .TRAN … UIC to skip the quiescent OP and start from these voltages.
See also: hspice.directive.nodeset, hspice.directive.tran
.include
hspice.directive.include — Include an external file (HSPICE)
Dialect overlay (replaces shared entry with the same name).
.INCLUDE 'filename'
| Parameter | Description | Units |
|---|---|---|
filename | File path to insert (quotes recommended). |
Examples
.INCLUDE 'models/nmos.inc'.INC '../stimuli/clock.sp'
Also accepted as .INC. Prefer .LIB when selecting a named section from a library file.
See also: hspice.directive.lib
.lib
hspice.directive.lib — Call a named library section (HSPICE)
Dialect overlay (replaces shared entry with the same name).
.LIB 'filename' entryname
| Parameter | Description | Units |
|---|---|---|
filename | Library file path. | |
entryname | Section name inside the library (.LIB entry … .ENDL). |
Examples
.LIB 'models.lib' TT.LIB '/pdk/hspice/models' FF
Library files define sections with .LIB entryname … .ENDL entryname. Nested .LIB calls are supported up to a limited depth.
See also: hspice.directive.include, shared.directive.model
.measure
hspice.directive.measure — Measure delay, rise/fall, extrema, and other results (HSPICE)
Dialect overlay (replaces shared entry with the same name).
.MEASURE {TRAN|DC|AC} name TRIG … TARG …
.MEASURE {TRAN|DC|AC} name MAX|MIN|PP|AVG|RMS|INTEG …
| Parameter | Description | Units |
|---|---|---|
| `TRAN | DC | AC` |
name | Measurement result name written to the measure output. | |
TRIG / TARG | Trigger and target conditions (VAL=, RISE=/FALL=/CROSS=). |
Examples
.MEASURE TRAN trise TRIG V(out) VAL=0.1*vdd RISE=1 TARG V(out) VAL=0.9*vdd RISE=1.MEASURE TRAN tpd TRIG V(in) VAL=0.5 RISE=1 TARG V(out) VAL=0.5 RISE=1.MEASURE TRAN vmax MAX V(out)
Also accepted as .MEAS. Many measure forms exist (FIND/WHEN, PARAM, DERIV, etc.); TRIG/TARG and MAX/MIN cover the most common timing and peak checks.
See also: hspice.directive.tran, hspice.directive.print, hspice.directive.probe
.model
shared.directive.model — Define a device model
.model mname type (param=value ...)
| Parameter | Description | Units |
|---|---|---|
mname | Model name referenced by instances. | |
type | Model type (e.g. NMOS, PMOS, D, NPN). |
Examples
.model nmos NMOS (VTO=0.7)
.nodeset
hspice.directive.nodeset — Suggest initial guesses for DC convergence (HSPICE)
Dialect overlay (replaces shared entry with the same name).
.NODESET V(node)=value [V(node2)=value2 ...]
| Parameter | Description | Units |
|---|---|---|
V(node) | Node voltage guess for the DC solution. | V |
Examples
.NODESET V(out)=0.9.NODESET V(n1)=0 V(n2)=1.8
Unlike .IC, .NODESET is a soft hint for finding the operating point, not a hard initial condition for transient UIC.
See also: hspice.directive.ic, hspice.directive.op
.noise
hspice.directive.noise — Noise analysis paired with .AC (HSPICE)
Dialect overlay (replaces shared entry with the same name).
.NOISE outvar srcnam [interval]
| Parameter | Description | Units |
|---|---|---|
outvar | Output voltage node or pair, e.g. V(out) or V(out,ref). | |
srcnam | Independent source treated as the noise input reference. | |
interval | Optional print interval for intermediate noise summaries. |
Examples
.NOISE V(out) Vin.NOISE V(out,0) Vin 10
Requires a companion .AC statement. Reports total output noise and equivalent input noise.
See also: hspice.directive.ac
.op
hspice.directive.op — DC operating-point report (HSPICE)
Dialect overlay (replaces shared entry with the same name).
.OP [format [time ...]]
| Parameter | Description | Units |
|---|---|---|
format | Optional report style: ALL, BRIEF, CURRENT, DEBUG, NONE, VOLTAGE. | |
time | Optional time(s) for reporting during transient (with ALL/VOLTAGE/CURRENT/DEBUG). | s |
Examples
.OP.OP BRIEF.OP ALL 10n
HSPICE often prints bias automatically with other analyses; use .OP when you only need the operating point, or to request a formatted report at specific times.
See also: hspice.directive.dc, hspice.directive.ic, hspice.directive.nodeset
.option
hspice.directive.option — Set HSPICE simulation options
Dialect overlay (replaces shared entry with the same name).
.OPTION keyword=value [keyword=value ...]
| Parameter | Description | Units |
|---|---|---|
keyword | Option name (e.g. POST, RUNLVL). |
Examples
.OPTION POST=2.OPTION RUNLVL=5
Option keywords differ across simulators; this entry covers the .option form.
.param
hspice.directive.param — Define parameters and expressions (HSPICE)
Dialect overlay (replaces shared entry with the same name).
.PARAM name=value [name2=value2 ...]
| Parameter | Description | Units |
|---|---|---|
name | Parameter identifier. | |
value | Number, ‘algebraic expression’, distribution function, or str(‘…’). |
Examples
.PARAM vdd=1.8 rload=10k.PARAM cload='2*cunit'.PARAM tox=agauss(3n,0.1n,3)
HSPICE allows quoted expressions and statistical distributions (GAUSS/AGAUSS/…) used with Monte Carlo. Parameters referenced by .DATA columns must be declared here.
See also: hspice.directive.data, hspice.directive.alter
hspice.directive.print — Print tabulated analysis results (HSPICE)
Dialect overlay (replaces shared entry with the same name).
.PRINT {DC|TRAN|AC} ov1 [ov2 ...]
| Parameter | Description | Units |
|---|---|---|
| `DC | TRAN | AC` |
ov | Output variable; AC forms include VM/VP/VR/VI/VDB. |
Examples
.PRINT TRAN V(out) I(Vdd).PRINT AC VM(out) VDB(out) VP(out)
See also: hspice.directive.probe, hspice.directive.measure
.probe
hspice.directive.probe — Select waveforms saved for post-processing (HSPICE)
Dialect overlay (replaces shared entry with the same name).
.PROBE {DC|TRAN|AC} ov1 [ov2 ...]
| Parameter | Description | Units |
|---|---|---|
| `DC | TRAN | AC` |
ov | Output variable to save (node voltage, branch current, etc.). |
Examples
.PROBE TRAN V(out) V(in) I(Vdd).PROBE AC VM(out) VP(out)
Pair with .OPTION POST=… . With .OPTION PROBE, only .PROBE/.PRINT/.PLOT variables are written, shrinking waveform files.
See also: hspice.directive.print, hspice.directive.option
.subckt
shared.directive.subckt — Begin a subcircuit definition
.subckt name n1 [n2 ...] [params: p=val ...]
| Parameter | Description | Units |
|---|---|---|
name | Subcircuit name. | |
n1... | External port nodes in order. |
Examples
.subckt buffer in out.subckt inv in out
See also: shared.directive.ends
.temp
hspice.directive.temp — Set simulation temperature(s) (HSPICE)
Dialect overlay (replaces shared entry with the same name).
.TEMP t1 [t2 ...]
| Parameter | Description | Units |
|---|---|---|
t1 | Temperature in Celsius; multiple values run multi-temperature analysis. | °C |
Examples
.TEMP 25.TEMP -40 25 125
TEMP can also be the sweep variable on .DC / nested SWEEP.
See also: hspice.directive.dc, hspice.directive.option
.tf
hspice.directive.tf — DC small-signal transfer function (HSPICE)
Dialect overlay (replaces shared entry with the same name).
.TF outvar srcnam
| Parameter | Description | Units |
|---|---|---|
outvar | Output variable, e.g. V(out) or I(Vload). | |
srcnam | Independent input source name. |
Examples
.TF V(out) Vin.TF I(Vmeas) Iin
Reports transfer gain plus small-signal input and output resistances.
See also: hspice.directive.op, hspice.directive.dc
.tran
hspice.directive.tran — Transient analysis (HSPICE)
Dialect overlay (replaces shared entry with the same name).
.TRAN tstep tstop [tstart [tmax]] [UIC]
| Parameter | Description | Units |
|---|---|---|
tstep | Printing increment. | s |
tstop | Stop time. | s |
tstart | Optional start of printing. | s |
tmax | Optional maximum timestep. | s |
UIC | Use initial conditions. |
Examples
.TRAN 1p 10n
HSPICE commonly uses uppercase directives; spice-lsp matches case-insensitively.
Elements
C
shared.element.C — Capacitor
Cname n1 n2 value [params...]
| Parameter | Description | Units |
|---|---|---|
n1 | Positive node. | |
n2 | Negative node. | |
value | Capacitance. | F |
Examples
C1 out 0 1p
R
shared.element.R — Resistor
Rname n1 n2 value [params...]
| Parameter | Description | Units |
|---|---|---|
n1 | Positive node. | |
n2 | Negative node. | |
value | Resistance. | ohm |
Examples
R1 in out 1kRload out 0 50
X
shared.element.X — Subcircuit instance
Xname n1 [n2 ...] subckt_name [params...]
| Parameter | Description | Units |
|---|---|---|
n1... | Nodes connected to subcircuit ports. | |
subckt_name | Name of a .subckt definition. |
Examples
X1 a b buffer