SPICE became popular because it contained the analyses and models needed to design integrated circuits of the time, and was robust enough and fast enough to be practical to use. Precursors to SPICE often had a single purpose: The BIAS program, for example, did simulation of bipolar transistor circuit operating points; the SLIC program did only small-signal analyses. SPICE combined operating point solutions, transient analysis, and various small-signal analyses with the circuit elements and device models needed to successfully simulate many circuits.
Analyses SPICE2 includes these analyses: • AC analysis (
linear small-signal frequency domain analysis) • DC analysis (nonlinear
quiescent point calculation) • DC transfer curve analysis (a sequence of nonlinear operating points calculated while sweeping an input voltage or current, or a circuit parameter) • Noise analysis (a small signal analysis done using an adjoint matrix technique, which sums uncorrelated noise currents at a chosen output point) •
Transfer function analysis (a small-signal input/output gain and impedance calculation) • Transient analysis (time-domain large-signal solution of nonlinear differential algebraic equations) Since SPICE is generally used to model circuits with
nonlinear elements, the small signal analyses are necessarily preceded by a
quiescent point calculation at which the circuit is linearized. SPICE2 also contains code for other small-signal analyses:
sensitivity analysis,
pole-zero analysis, and
small-signal distortion analysis. Analysis at various temperatures is done by automatically updating semiconductor model parameters for temperature, allowing the circuit to be simulated at temperature extremes. Other circuit simulators have since added many analyses beyond those in SPICE2 to address changing industry requirements. Parametric sweeps were added to analyze circuit performance with changing manufacturing tolerances or operating conditions. Loop gain and stability calculations were added for analog circuits.
Harmonic balance or time-domain steady state analyses were added for RF and switched-capacitor circuit design. However, a public-domain circuit simulator containing the modern analyses and features needed to become a successor in popularity to SPICE has not yet emerged.
Device models SPICE2 includes many semiconductor device
compact models: three levels of
MOSFET model, a combined
Ebers–Moll and
Gummel–Poon bipolar model, a
JFET model, and a model for a
junction diode. In addition, it had many other elements: resistors, capacitors, inductors (including
coupling), independent
voltage and
current sources, ideal
transmission lines, active components and voltage and current controlled sources. SPICE3 added more sophisticated MOSFET models, which were needed due to advances in semiconductor technology. In particular, the
BSIM family of models was added, which was also developed at UC Berkeley. Commercial and industrial SPICE simulators have added many other device models as technology advanced and earlier models became inadequate. To attempt standardization of these models so that a set of model parameters may be used in different simulators, an industry working group was formed, the
Compact Model Council, to choose, maintain and promote the use of standard models. The standard models today include BSIM3, BSIM4, BSIMSOI, PSP, HICUM, and MEXTRAM. Spice can use device models from foundry
PDKs.
Input and output: Netlists, schematic capture and plotting SPICE2 takes a text
netlist as input and produces line-printer listings as output, which fit with the computing environment in 1975. These listings are either columns of numbers corresponding to calculated outputs (typically voltages or currents), or line-printer
character "plots". SPICE3 retains the netlist for circuit description, but allows analyses to be controlled from a
command-line interface similar to the
C shell. SPICE3 also added basic
X plotting, as
UNIX and engineering
workstations became common. Vendors and various free software projects have added
schematic capture frontends to SPICE, allowing a
schematic diagram of the circuit to be drawn and the netlist to be automatically generated and transferred to various SPICE backends. Also,
graphical user interfaces were added for selecting the simulations to be done and manipulating the voltage and current output vectors. In addition, very capable graphing utilities have been added to see waveforms and graphs of parametric dependencies. Several free versions of these extended programs are available. == SPICE usage beyond electronic simulation ==