Original author(s) | Laurence Nagel |
---|---|

Initial release | 1973 |

Written in | Fortran |

Type | Electronic circuit simulation |

License | Public-domain software |

Website |
bwrcs |

Initial release | 1975 |
---|---|

Stable release | 2G.6
/ 1983 |

Written in | Fortran |

Type | Electronic circuit simulation |

License | BSD 3 Clause |

Website |
bwrcs |

Original author(s) | Thomas Quarles |
---|---|

Initial release | 1989 |

Stable release | 3f.5
/ July 1993 |

Written in | C |

Type | Electronic circuit simulation |

License | BSD license (modified 2 clauses) |

Website |
bwrcs |

**SPICE** ("**Simulation Program with Integrated Circuit Emphasis**")^{
[1]}^{
[2]} is a general-purpose,
open-source
analog electronic circuit
simulator.
It is a program used in
integrated circuit and board-level design to check the integrity of
circuit designs and to predict
circuit behavior.

Unlike board-level designs composed of discrete parts, it is not practical to breadboard integrated circuits 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. The SPICE simulators help to predict the behavior of the IC under different operating conditions, such as different voltage and current levels, temperature variations, and noise.^{
[3]}

Board-level circuit designs can often be breadboarded for testing. Even with a breadboard, some circuit properties may not be accurate compared to the final printed wiring board, such as parasitic resistances and capacitances, whose effects can often be estimated more accurately using simulation. Also, designers may want more information about the circuit than is available from a single mock-up. For instance, circuit performance is affected by component manufacturing tolerances. In these cases it is common to use SPICE to perform Monte Carlo simulations of the effect of component variations on performance, a task which is impractical using calculations by hand for a circuit of any appreciable complexity.

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^{
[4]} 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.

SPICE was developed at the Electronics Research Laboratory of the
University of California, Berkeley by
Laurence Nagel with direction from his research advisor, Prof.
Donald Pederson. SPICE1 is largely a derivative of the CANCER program,^{
[5]}
which Nagel had worked on under Prof. Ronald Rohrer. CANCER is an acronym for "Computer Analysis of Nonlinear Circuits, Excluding Radiation", a hint to Berkeley's
liberalism in the 1960s:^{
[6]} at these times many circuit simulators were developed under contracts with the
United States Department of Defense 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.^{
[7]}

SPICE1 was first presented at a conference in 1973.^{
[1]} SPICE1 is coded in
FORTRAN and to construct the circuit equations uses
nodal analysis, which has limitations in representing inductors, floating voltage sources and the various forms of controlled sources.^{
[8]} SPICE1 has relatively few circuit elements available and uses a fixed-timestep
transient analysis. The real popularity of SPICE started with SPICE2 in 1975.^{
[2]} SPICE2, also coded in FORTRAN, is a much-improved program with more circuit elements, variable timestep transient analysis using either the trapezoidal (second order
Adams-Moulton method) or the Gear integration method (also known as
BDF), equation formulation via
modified nodal analysis (avoiding the limitations of nodal analysis),^{
[9]} and an innovative FORTRAN-based memory allocation system.^{
[10]}
Ellis Cohen led development from version 2B to the industry standard SPICE 2G6, the last FORTRAN version, released in 1983.^{
[11]}^{
[12]} 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 System plotting.^{
[13]}

As an early
public domain software program with
source code available,^{
[14]} SPICE was widely distributed and used. Its ubiquity became such that "to SPICE a circuit" remains synonymous with circuit simulation.^{
[15]} SPICE source code was from the beginning distributed by UC Berkeley for a nominal charge (to cover the cost of magnetic tape). The license originally included distribution restrictions for countries not considered friendly to the US, but the source code is currently covered by the
BSD license.

The birth of SPICE was named an
IEEE Milestone in 2011; the entry mentions that SPICE "evolved to become the worldwide standard integrated circuit simulator".^{
[16]} Nagel was awarded the 2019 IEEE Donald O. Pederson Award in Solid-State Circuits for the development of SPICE.^{
[17]}

No newer versions of Berkeley SPICE have been released after version 3f5 in 1993.^{
[18]} Since then, the open-source or academic continuations of SPICE include: XSPICE,^{
[19]} developed at
Georgia Tech, which added mixed analog/digital "code models" for behavioral simulation; CIDER^{
[20]} (previously CODECS), developed by UC Berkeley and Oregon State University, which added
semiconductor device simulation;
Ngspice,^{
[21]}^{
[22]} based on SPICE 3f5; WRspice,^{
[23]} a C++ re-write of the original spice3f5 code. Other open-source simulators not developed by academic are
QUCS,
QUCS-S,
XYCE by Sandia and Qucsator.

Berkeley SPICE inspired and served as a basis for many other circuit simulation programs, in academia, in industry, and in commercial products. The first commercial version of SPICE is ISPICE,^{
[24]} an interactive version on a timeshare service,
National CSS. The most prominent commercial versions of SPICE include HSPICE (originally commercialized by
Ashawna and Kim Hailey of Meta Software, but now owned by
Synopsys) and
PSPICE (now owned by
Cadence Design Systems). The integrated circuit industry adopted SPICE quickly, and until commercial versions became well developed many IC design houses had proprietary versions of SPICE.^{
[25]}

Today a few IC manufacturers, typically the larger companies, have groups continuing to develop SPICE-based circuit simulation programs. Among these are ADICE at
Analog Devices,
LTspice at Analog Devices (available to the public as freeware), Mica at
Freescale Semiconductor, and
TINA-TI^{
[26]} at
Texas Instruments. Both LTspice and TINA-TI come bundled with models from their respective company.^{
[27]}^{
[28]} Other companies maintain internal circuit simulators which are not directly based upon SPICE, among them PowerSpice at
IBM, TITAN at
Infineon Technologies, Lynx at
Intel Corporation, and Pstar at
NXP Semiconductor.^{
[29]}

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.^{
[30]} Precursors to SPICE often had a single purpose: The BIAS^{
[31]} program, for example, did simulation of bipolar transistor circuit operating points; the SLIC^{
[32]} 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.

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 nonlinear circuits, 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.^{
[30]}

It is very important to use appropriate analyses with carefully chosen parameters. For example, application of linear analysis to nonlinear circuits should be justified separately. Also, application of transient analysis with default simulation parameters can lead to qualitatively wrong conclusions on circuit dynamics.^{
[33]}

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 required due to advances in semiconductor technology. In particular, the BSIM family of models were added, which were 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,^{
[34]} to choose, maintain and promote the use of standard models. The standard models today include
BSIM3,
BSIM4,
BSIMSOI,
PSP,
HICUM, and
MEXTRAM.

SPICE2 takes a text netlist as input and produces line-printer listings as output, which fits 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 front-ends to SPICE, allowing a schematic diagram of the circuit to be drawn and the netlist to be automatically generated. 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, some as introductory limited packages, and some without restrictions.

As SPICE generally solves non-linear differential algebraic equations, it may be applied to simulating beyond the electrical realm.

Most prominent are **thermal simulations**, as thermal systems may be described by lumped circuit elements mapping onto the electronic SPICE elements (heat capacity → capacitance, thermal conductance/resistance → conductance/resistance, temperature → voltage, heat flow or heat generated → current ^{
[35]}). As thermal and electronic systems are closely linked by power dissipation and cooling systems, electro-thermal simulation today is supported by semiconductor device manufacturers offering (transistor) models with both electrical and thermal nodes.^{
[36]} So one may obtain electrical power dissipation, resulting in self-heating causing parameter variations, and cooling system efficiency in a single simulation run.

SPICE may very well simulate the electronics part of a motor drive. However it will equally well describe the **electro-mechanical** model of the motor. Again this is achieved by mapping mechanical onto the electrical elements (torque → voltage, angular velocity → current, coefficient of viscous friction → resistance, moment of inertia → inductance).^{
[37]} So again the final model consists of only SPICE compatible lumped circuit elements, but one gains mechanical together with electrical data during simulation.^{
[38]}

**Electromagnetic modeling** is accessible to a SPICE simulator via the PEEC (partial element equivalent circuit) method.^{
[39]} Maxwell's equations have been mapped, RLC, Skin effect, dielectric or magnetic materials and incident or radiated fields have been modelled.

However, as of 2019, SPICE cannot be used to "simulate photonics and electronics together in a **photonic circuit simulator**",^{
[40]} and thus it is not yet considered as a test simulator for photonic integrated circuits.

**Micro-fluidic circuits** have been modelled with SPICE^{
[41]} by creating a pneumatic FET.

SPICE has been applied to model the interface between **biological and electronic systems**, e.g. as a design tools for synthetic biology and for the virtual prototyping of biosensors and lab-on-chip.^{
[42]}

SPICE has been applied in **
operations research** to evaluate perturbed
supply chains.^{
[43]}

- Comparison of EDA Software
- List of free electronics circuit simulators
- Input Output Buffer Information Specification (IBIS)
- Transistor models

- ^
^{a}^{b}Nagel, L. W, and Pederson, D. O.,*SPICE (Simulation Program with Integrated Circuit Emphasis)*, Memorandum No. ERL-M382, University of California, Berkeley, Apr. 1973 - ^
^{a}^{b}Nagel, Laurence W.,*SPICE2: A Computer Program to Simulate Semiconductor Circuits*, Memorandum No. ERL-M520, University of California, Berkeley, May 1975 **^**BTV SPICE Simulators. Retrieved January 2, 2023**^**Warwick, Colin (May 2009). "Everything you always wanted to know about SPICE* (*But were afraid to ask)" (PDF).*EMC Journal*(82): 27–29.**^**Nagel, L. W.; Rohrer, R. A. (August 1971). "Computer Analysis of Nonlinear Circuits, Excluding Radiation".*IEEE Journal of Solid-State Circuits*.**6**(4): 166–182. Bibcode: 1971IJSSC...6..166N. doi: 10.1109/JSSC.1971.1050166.^{[ dead link]}**^**Life of SPICE Archived February 4, 2012, at the Wayback Machine**^**Perry, T. (June 1998). "Donald O. Pederson".*IEEE Spectrum*.**35**: 22–27. doi: 10.1109/6.681968. S2CID 51633338.**^**Vladimirescu, Andrei (1994).*The SPICE Book*. New York: John Wiley & Sons, Inc.**^**Ruehli, A.; Brennan, P. (June 1975). "The modified nodal approach to network analysis".*IEEE Transactions on Circuits and Systems*.**22**(6): 504–509. doi: 10.1109/TCS.1975.1084079.**^**https://ltwiki.org/index.php?title=Recollections_of_the_%22The_Father_of_SPICE%22_Larry_Nagel**^**http://www.omega-enterprises.net/The%20Origins%20of%20SPICE.html**^**Pederson, D.O. January 1984. "A Historical Review of Circuit Simulation." IEEE Transactions on Circuits and Systems, vol pp103-111.**^**Quarles, Thomas L.,*Analysis of Performance and Convergence Issues for Circuit Simulation*, Memorandum No. UCB/ERL M89/42, University of California, Berkeley, April 1989.**^**history-of-spice Archived October 9, 2016, at the Wayback Machine on allaboutcircuits.com. "The origin of SPICE traces back to another circuit simulation program called CANCER. Developed by professor Ronald Rohrer of U.C. Berkeley along with some of his students in the late 1960s, CANCER continued to be improved through the early 1970s. When Rohrer left Berkeley, CANCER was re-written and re-named to SPICE, released as version 1 to the public domain in May of 1972. Version 2 of SPICE was released in 1975 (version 2g6—the version used in this book—is a minor revision of this 1975 release). Instrumental in the decision to release SPICE as a public-domain computer program was professor Donald Pederson of Berkeley, who believed that all significant technical progress happens when information is freely shared. I for one thank him for his vision."**^**Pescovitz, David (2002-05-02). "1972: The release of SPICE, still the industry standard tool for integrated circuit design". Lab Notes: Research from the Berkeley College of Engineering. Retrieved 2007-03-10.**^**"List of IEEE Milestones".*IEEE Global History Network*. IEEE. Retrieved 4 August 2011.**^**Donald O. Pederson Solid-State Circuits Award, IEEE Solid-State Circuits Society, June 2018**^**"The Spice Page". Berkeley University. Retrieved 2019-07-08.**^**Cox, F.L.; Kuhn, W.B.; Murray, J.P.; Tynor, S.D. (1992). "Code-level modeling in XSPICE".*[Proceedings] 1992 IEEE International Symposium on Circuits and Systems*. Vol. 2. pp. 871–874. doi: 10.1109/ISCAS.1992.230083. ISBN 0-7803-0593-0. S2CID 195705106.**^**CODECS: A Mixed-Level Circuit and Device Simulator, K. Mayaram, Memorandum No. UCB/ERL M88/71, Berkeley, 1988, http://www.eecs.berkeley.edu/Pubs/TechRpts/1988/ERL-88-71.pdf**^**"ngspice, current status and future developments", H. Vogt, FOSDEM, Brussels 2019**^**"ngspice - an open source mixed signal circuit simulator". Free Silicon Foundation (F-Si). Retrieved 2019-07-08.**^**"WRspice". Whiteley Research. Retrieved 2021-05-07.**^**Vladimirescu, A. (1990). "SPICE: The third decade".*Proceedings on Bipolar Circuits and Technology Meeting*. pp. 96–101. doi: 10.1109/BIPOL.1990.171136. S2CID 62622975.**^**K. S. Kundert,*The Designer's Guide to SPICE and Spectre*, Kluwer. Academic Publishers, Boston, 1995**^**SPICE-Based Analog Simulation Program - TINA-TI - TI Software Folder Archived October 19, 2016, at the Wayback Machine**^**Art Kay (2012).*Operational Amplifier Noise: Techniques and Tips for Analyzing and Reducing Noise*. Elsevier. p. 41. ISBN 978-0-08-094243-8.**^**Ron Mancini (2012).*Op Amps for Everyone*. Newnes. p. 162. ISBN 978-0-12-394406-1.**^**Iannello, Chris (August 2012).*PSPICE Circuit Simulation Overview: Part 1*(Video). Event occurs at 2:39.- ^
^{a}^{b}Nagel, L., Is it Time for SPICE4? Archived September 26, 2006, at the Wayback Machine, 2004 Numerical Aspects of Device and Circuit Modeling Workshop, June 23–25, 2004, Santa Fe, New Mexico. Retrieved on 2007-11-10 **^**McCalla and Howard (February 1971). "BIAS-3: A program for nonlinear D.C. analysis of bipolar transistor circuits".*IEEE Journal of Solid-State Circuits*.**6**(1): 14–19. Bibcode: 1971IJSSC...6...14M. doi: 10.1109/JSSC.1971.1050153.**^**Idleman, Jenkins, McCalla and Pederson (August 1971). "SLIC: A simulator for linear integrated circuits".*IEEE Journal of Solid-State Circuits*.**6**(4): 188–203. Bibcode: 1971IJSSC...6..188I. doi: 10.1109/JSSC.1971.1050168.`{{ cite journal}}`

: CS1 maint: multiple names: authors list ( link)**^**Bianchi, Giovanni (2015). "Limitations of PLL simulation: hidden oscillations in SPICE analysis".*2015 7th International Congress on Ultra Modern Telecommunications and Control Systems and Workshops (ICUMT)*. pp. 79–84. arXiv: 1506.02484. doi: 10.1109/ICUMT.2015.7382409. ISBN 978-1-4673-9283-9. S2CID 7140415.**^**"CMC - Compact Model Council". GEIA. Archived from the original on May 11, 2011.**^**"ngspice tutorial on electro-thermal simulation". Retrieved 2022-05-06.**^**M. Maerz; Paul Nance. "Thermal Modeling of Power-electronic Systems" (PDF). Fraunhofer IISB. Retrieved 2022-05-06.**^**"AB-025: Using SPICE To Model DC Motors". Precision Microdrives. Retrieved 2022-05-06.**^**Pham and Nathan (1998). "Circuit Modeling and SPICE Simulation of Mixed-Signal Microsystems" (PDF).*Sensors and Materials*.**10**(7): 435–460.**^**Albert E. Ruehli; Giulio Antonini; Lijun Jiang (2017).*Circuit Oriented Electromagnetic Modeling Using the PEEC Techniques*. Wiley. ISBN 978-1-11-843664-6.**^**Bogaerts, Wim; Chrostowski, Lukas (April 2018). "Silicon Photonics Circuit Design: Methods, Tools and Challenges".*Laser & Photonics Reviews*.**12**(4): 1700237. Bibcode: 2018LPRv...1200237B. doi: 10.1002/lpor.201700237. hdl: 1854/LU-8578535.**^**H. Takao e.a. (2011). "Micro Fluidic Circuit Design with "SPICE" Simulation". IEEE. doi: 10.1109/MEMSYS.2011.5734635. S2CID 24263237.`{{ cite journal}}`

: Cite journal requires`|journal=`

( help)**^**Morgan Madec e.a. (2017). "Modeling and simulation of biological systems using SPICE language".*PLOS ONE*.**12**(8): e0182385. doi: 10.1371/journal.pone.0182385. PMC 5546598. PMID 28787027.**^**Francisco Campuzano-Bolarín e.a. (2021). "Network simulation method for the evaluation of perturbed supply chains on a finite horizon".*CEJOR, Cent. Eur. J. Oper. Res*.**29**(3): 823–839. doi: 10.1007/s10100-021-00748-3. S2CID 235523347.

Wikimedia Commons has media related to
SPICE.

Categories:

- 1973 software
- Electronic design automation software
- Free software programmed in C
- Free software programmed in Fortran
- Simulation programming languages
- Electronic circuit simulators
- Free simulation software
- Electronic design automation software for Linux
- Public-domain software with source code
- Software using the BSD license