Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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

NameKindSummarySource
.acdirectiveAC frequency analysis (HSPICE)dialect
.alterdirectiveRerun simulation with alternate parameters or analyses (HSPICE)dialect
.datadirectiveDefine a named data table for data-driven sweeps (HSPICE)dialect
.dcdirectiveDC analysis and sweeps (HSPICE)dialect
.enddirectiveTerminate the netlist (HSPICE)dialect
.endsdirectiveEnd a subcircuit definitionshared
.icdirectiveForce initial node voltages (HSPICE)dialect
.includedirectiveInclude an external file (HSPICE)dialect
.libdirectiveCall a named library section (HSPICE)dialect
.measuredirectiveMeasure delay, rise/fall, extrema, and other results (HSPICE)dialect
.modeldirectiveDefine a device modelshared
.nodesetdirectiveSuggest initial guesses for DC convergence (HSPICE)dialect
.noisedirectiveNoise analysis paired with .AC (HSPICE)dialect
.opdirectiveDC operating-point report (HSPICE)dialect
.optiondirectiveSet HSPICE simulation optionsdialect
.paramdirectiveDefine parameters and expressions (HSPICE)dialect
.printdirectivePrint tabulated analysis results (HSPICE)dialect
.probedirectiveSelect waveforms saved for post-processing (HSPICE)dialect
.subcktdirectiveBegin a subcircuit definitionshared
.tempdirectiveSet simulation temperature(s) (HSPICE)dialect
.tfdirectiveDC small-signal transfer function (HSPICE)dialect
.trandirectiveTransient analysis (HSPICE)dialect
CelementCapacitorshared
RelementResistorshared
XelementSubcircuit instanceshared

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
ParameterDescriptionUnits
typeLIN, DEC, or OCT frequency spacing.
npPoints (LIN) or points per decade/octave.
fstart / fstopFrequency range.Hz
SWEEP …Optional nested parameter/source sweep.
DATA=datanmData-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]
ParameterDescriptionUnits
title_stringOptional 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
ParameterDescriptionUnits
datanmData-block name referenced by DATA=datanm on .DC / .AC / .TRAN.
pnamParameter column name (must be declared with .PARAM).
pvalRow 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
ParameterDescriptionUnits
var1Primary sweep variable: independent source, element/model parameter, or TEMP.
start1 / stop1 / incr1Linear sweep bounds and step (positional or START=/STOP=/STEP=).
type npLIN|DEC|OCT with point count for parameterized / nested sweeps.
SWEEP var2 …Optional nested (second) sweep over another source or parameter.
DATA=datanmData-driven sweep using a .DATA block.
MONTE=valMonte 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]
ParameterDescriptionUnits
commentOptional 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]
ParameterDescriptionUnits
nameOptional 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 ...]
ParameterDescriptionUnits
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'
ParameterDescriptionUnits
filenameFile 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
ParameterDescriptionUnits
filenameLibrary file path.
entrynameSection 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 …
ParameterDescriptionUnits
`TRANDCAC`
nameMeasurement result name written to the measure output.
TRIG / TARGTrigger 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 ...)
ParameterDescriptionUnits
mnameModel name referenced by instances.
typeModel 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 ...]
ParameterDescriptionUnits
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]
ParameterDescriptionUnits
outvarOutput voltage node or pair, e.g. V(out) or V(out,ref).
srcnamIndependent source treated as the noise input reference.
intervalOptional 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 ...]]
ParameterDescriptionUnits
formatOptional report style: ALL, BRIEF, CURRENT, DEBUG, NONE, VOLTAGE.
timeOptional 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 ...]
ParameterDescriptionUnits
keywordOption 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 ...]
ParameterDescriptionUnits
nameParameter identifier.
valueNumber, ‘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

.print

hspice.directive.print — Print tabulated analysis results (HSPICE)

Dialect overlay (replaces shared entry with the same name).

.PRINT {DC|TRAN|AC} ov1 [ov2 ...]
ParameterDescriptionUnits
`DCTRANAC`
ovOutput 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 ...]
ParameterDescriptionUnits
`DCTRANAC`
ovOutput 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 ...]
ParameterDescriptionUnits
nameSubcircuit 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 ...]
ParameterDescriptionUnits
t1Temperature 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
ParameterDescriptionUnits
outvarOutput variable, e.g. V(out) or I(Vload).
srcnamIndependent 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]
ParameterDescriptionUnits
tstepPrinting increment.s
tstopStop time.s
tstartOptional start of printing.s
tmaxOptional maximum timestep.s
UICUse 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...]
ParameterDescriptionUnits
n1Positive node.
n2Negative node.
valueCapacitance.F

Examples

  • C1 out 0 1p

R

shared.element.R — Resistor

Rname n1 n2 value [params...]
ParameterDescriptionUnits
n1Positive node.
n2Negative node.
valueResistance.ohm

Examples

  • R1 in out 1k
  • Rload out 0 50

X

shared.element.X — Subcircuit instance

Xname n1 [n2 ...] subckt_name [params...]
ParameterDescriptionUnits
n1...Nodes connected to subcircuit ports.
subckt_nameName of a .subckt definition.

Examples

  • X1 a b buffer