Introduction
Integrated circuits, unlike board-level designs composed of discrete
parts, are impossible to breadboard before manufacture. Further, the
high costs of photolithographic masks and other manufacturing
prerequisites make it essential to design the circuit to be as close
to perfect as possible before the integrated circuit is first built.
Simulating the circuit with SPICE is the industry-standard way to
verify circuit operation at the transistor level before committing to
manufacturing an integrated circuit.
Board-level designs can often be breadboarded, but designers may want
more information about the circuit than is available from a single
mock-up. For instance, performance is affected by component
manufacturing tolerances and it is helpful for designers to simulate
with SPICE to predict the effect of variations of those values. Even
with a breadboard, some aspects may not be accurate compared to the
final printed wiring board, such as parasitic resistances and
capacitances. In these cases it is common to perform Monte Carlo
simulations using SPICE, a task which is impractical using
calculations by hand.
Circuit simulation programs, of which SPICE and derivatives are the
most prominent, take a text netlist describing the circuit elements
(transistors, resistors, capacitors, etc.) and their connections, and
translate this description into equations to be solved. The general
equations produced are nonlinear differential algebraic equations
which are solved using implicit integration methods, Newton's method
and sparse matrix techniques.
Origins
SPICE was developed at the Electronics Research Laboratory of the
University of California, Berkeley by Larry Nagel with direction from
his research advisor, Prof. Donald Pederson. SPICE1 was largely a
derivative of the CANCER program, which Nagel had worked on under
Prof. Ronald Rohrer. CANCER was an acronym for "Computer Analysis of
Nonlinear Circuits, Excluding Radiation," a hint to Berkeley's
liberalism of 1960s: at these times many circuit simulators were
developed under the United States Department of Defense contracts that
required the capability to evaluate the radiation hardness of a
circuit. When Nagel's original advisor, Prof. Rohrer, left Berkeley,
Prof. Pederson became his advisor. Pederson insisted that CANCER, a
proprietary program, be rewritten enough that restrictions could be
removed and the program could be put in the public domain.
SPICE1 was first presented at a conference in 1973. SPICE1 was coded
in FORTRAN and used nodal analysis to construct the circuit equations.
Nodal analysis has limitations in representing inductors, floating
voltage sources and the various forms of controlled sources. SPICE1
had relatively few circuit elements available and used a fixed-
timestep transient analysis. The real popularity of SPICE started with
SPICE2 in 1975. SPICE2, also coded in FORTRAN, was a much-improved
program with more circuit elements, variable timestep transient
analysis using either trapezoidal or Gear integration, equation
formulation via modified nodal analysis (avoiding the limitations of
nodal analysis), and an innovative FORTRAN-based memory allocation
system developed by another graduate student, Ellis Cohen. The last
FORTRAN version of SPICE was 2G.6 in 1983. SPICE3 was developed by
Thomas Quarles (with A. Richard Newton as advisor) in 1989. It is
written in C, uses the same netlist syntax, and added X Window
plotting.
As an early open source program, SPICE was widely distributed and
used. It inspired and served as a basis for many other circuit
simulation programs, in academia, in industry, and in commercial
products. Its ubiquity became such that "to SPICE a circuit" remains
synonymous with circuit simulation. SPICE source code was from the
beginning distributed by UC Berkeley for a nominal charge (to cover
the cost of magnetic tape). The license includes an acknowledgement
clause and distribution restrictions for countries not considered
friendly to the USA, nevertheless Berkeley SPICE continues to
influence both commercial and academic offshoots of the program. Early
commercial versions of SPICE include HSPICE (now owned by Synopsys)
and PSPICE (now owned by Cadence Design Systems). The academic
spinoffs of SPICE include XSPICE, developed at Georgia Tech, which
added mixed analog/digital "code models" for behavioral simulation,
and Cider (previously CODECS, from UC Berkeley/Oregon State Univ.)
which added semiconductor device simulation.