# SPICE Syntax

## Title line

The title line must be the first line in the input file and is required. Its contents will be printed verbatim as the heading for each section of output.

## .END line

The “.END” line must always be the last in the input file and is required.

## Comments

The asterisk in the first column indicates that the line is a comment line. Comment lines may be placed anywhere in the circuit description.

## .SUBCKT line

A circuit definition begins with a “.SUBCKT” line. The subcircuit name is identified by “SUBNAM” and “N1, N2...” are the external nodes, which cannot be zero. The general form of this line as follows:

.SUBCKT SUBNAM N1 <N2 N3...>

The group of element lines, which immediately follows the “.SUBCKT” line, defines the subcircuit. The last line in a subcircuit definition is the “.ENDS” line. Control lines may not appear within a subcircuit definition. Subcircuit definitions may contain anything else, including other subcircuit definitions, device models and subcircuit calls. Any device models or subcircuit definitions included as part of a subcircuit definition are strictly local (that is such models and definitions are not known outside the subcircuit definition). In addition, any element nodes not included on the “.SUBCKT” line are strictly local, with the exception of 0 (ground) which is always global.

## .ENDS line

The “.ENDS” line must be the last one for any subcircuit definition and has the following general form:
.ENDS <SUBNAM>

The subcircuit name, if included, indicates which subcircuit definition is being terminated. If omitted, all subcircuits being defined are terminated. The name is needed only when defining nested subcircuits.

## .INCLUDE lines

Portions of circuit descriptions will often be reused in several input files by using the “.INCLUDE” line with the following general form:
.INCLUDE filename
Commonly used models and subcircuits can be copied as if the copied file appeared instead of the “.INCLUDE” line in the main file. There is no restriction on the file name imposed by SPICE beyond those imposed by the local operating system.

## Resistors

Resistors can be included as follows:
RXXXXXXX N1 N2 VALUE

“N1” and “N2” are the two element values. “VALUE” is the resistance (in Ohm) and may be positive or negative, but not zero.

## Capacitors

Capacitors can be included as follows:
CXXXXXXX N+ N- VALUE

“N+” and “N-” are the positive and negative element nodes respectively and “VALUE” is the capacitance in Farad.

## Inductors

Inductors can be included as follows:
LXXXXXXX N+ N- VALUE

“N+” and “N-” are the positive and negative element nodes respectively and “VALUE” is the capacitance in Henry.

## Coupled (Mutual) Inductors

Coupled inductors can be included as follows:
KXXXXXXX LYYYYYYY LZZZZZZZ VALUE

“LYYYYYYY” and “LZZZZZZZ” are the names of the two coupled inductors. The parameter “VALUE” is the coefficient of coupling, K, which must be greater than zero and less than or equal to one.

## Lossless transmission lines

Lossless transmission lines can be included as follows:
TXXXXXXX N1 N2 N3 N4 Z0=VALUE <TD=VALUE> <F=FREQ <NL=NRMLEN>

“N1” and “N2” are the nodes at port one while “N3” and “N4” are the nodes at port two. “Z0” is the characteristic impedance. “N2” and “N4” are usually used as the ground connections of the transmission line.

The length of the line may be expressed in either of two forms. The transmission delay, “TD”, may be specified directly (for example as “TD=10 ns”). Alternatively, a frequency F may be given, together with “NL”, the normalised electrical length of the transmission line with respect to the wavelength in the line at the frequency “F”. If a frequency is specified but “NL” is omitted, a value of 0.25 is assumed (that is the frequency is assumed to be the quarter-wave frequency). Although both forms for expressing the line length are indicated as optional, one of the two must be specified.