| SPICE 1 | |
|---|---|
| Original author | Laurence Nagel [de] |
| Initial release | 1973; 53 years ago (1973) |
| Written in | Fortran |
| Available in | English |
| Type | Electronic circuit simulation |
| License | Public domain |
| Website | bwrcs |
| SPICE 2 | |
|---|---|
| Initial release | 1975; 51 years ago (1975) |
| Final release | 2G.6 / 1983; 43 years ago (1983) |
| Written in | Fortran |
| Available in | English |
| Type | Electronic circuit simulation |
| License | BSD 3-clause |
| Website | bwrcs |
| SPICE 3 | |
|---|---|
| Original author | Thomas Quarles |
| Initial release | 1989; 37 years ago (1989) |
| Stable release | 3f.5 / July 1993; 32 years ago (1993-07) |
| Written in | C |
| Available in | English |
| Type | Electronic circuit simulation |
| License | BSD 2-clause |
| Website | Archived webpage |
SPICE (Simulation Program with Integrated Circuit Emphasis)[1][2] is a general-purpose,open-sourceanalog electronic circuitsimulator.It is a program used inintegrated circuit and board-level design to check the integrity ofcircuit designs and to predictcircuit behavior.
Unlike board-level designs composed of discrete parts, it is not practical tobreadboard integrated circuits before manufacture. Further, the high costs ofphotolithographic 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 asparasitic 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 performMonte 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 textnetlist 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 arenonlineardifferential algebraic equations, which are solved usingimplicit integration methods,Newton's method andsparse matrix techniques.
SPICE was developed at the Electronics Research Laboratory of theUniversity of California, Berkeley byLaurence Nagel [de] 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 A. Rohrer. CANCER is an acronym for "Computer Analysis of Nonlinear Circuits, Excluding Radiation".[6] At these times many circuit simulators were developed under contracts with theUnited States Department of Defense that needed the ability to evaluate theradiation 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 thepublic domain.[7]
SPICE1 was first presented at a conference in 1973.[1] SPICE1 is coded inFORTRAN and to construct the circuit equations usesnodal 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-timesteptransient 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 orderAdams-Moulton method) or the Gear integration method (also known asBDF), equation formulation viamodified 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 (withA. Richard Newton as advisor) in 1989. It is written inC, uses the same netlist syntax, and addsX Window System plotting.[13]
As an earlypublic domain software program withsource 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 theBSD license.
The birth of SPICE was named anIEEE 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:
Not a descendant but compatible:
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,[26] an interactive version on a timeshare service,National CSS. The most prominent commercial versions of SPICE include HSPICE (originally commercialized byAshawna and Kim Hailey of Meta Software, but now owned bySynopsys) andPSPICE (now owned byCadence 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.[27]
Today a few IC manufacturers, typically the larger companies, have groups continuing to develop SPICE-based circuit simulation programs. Among these are
Both LTspice and TINA-TI come bundled with models from their respective companies.[30][31]
Other companies maintain internal circuit simulators which are not directly based upon SPICE, among them PowerSpice atIBM, TITAN atInfineon Technologies, Lynx atIntel Corporation, and Pstar atNXP Semiconductors also.[32]
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.[33] Precursors to SPICE often had a single purpose: The BIAS[34] program, for example, did simulation of bipolar transistor circuit operating points; the SLIC[35] 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:
Since SPICE is generally used to model circuits withnonlinear elements, the small signal analyses are necessarily preceded by aquiescent point calculation at which the circuit is linearized. SPICE2 also contains code for other small-signal analyses:sensitivity analysis,pole-zero analysis, andsmall-signaldistortion 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.[33]
It is very important to use appropriate analyses with carefully chosen parameters. For example, the 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.[36]
SPICE2 includes many semiconductor devicecompact models: three levels ofMOSFET model, a combinedEbers–Moll andGummel–Poon bipolar model, aJFET model, and a model for ajunction diode. In addition, it had many other elements: resistors, capacitors, inductors (includingcoupling), independentvoltage andcurrent sources, idealtransmission 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, theBSIM 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, theCompact Model Council,[37] to choose, maintain and promote the use of standard models. The standard models today includeBSIM3,BSIM4,BSIMSOI,PSP,HICUM, andMEXTRAM.
Spice can use device models from foundryPDKs.
SPICE2 takes a textnetlist 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-printercharacter "plots". SPICE3 retains the netlist for circuit description, but allows analyses to be controlled from acommand-line interface similar to theC shell. SPICE3 also added basicX plotting, asUNIX and engineeringworkstations became common.
Vendors and various free software projects have addedschematic capturefrontends to SPICE, allowing aschematic 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.
As SPICE generally solves non-linear differential algebraic equations, it may be applied to simulating beyond the electrical realm.
In the simplest case, SPICE can be used to simulate otherflows. For example,heat flow in systems follows similar behavior to ideal electrical circuit elements: temperature corresponds tovoltage, heat capacity corresponds tocapacitance, (thermal) conductance to (electrical) conductance, and heat flow to current.[38]). SPICE can thus simulate both the electronic behavior of a circuit and its heat dissipation requirements simultaneously.[39] Likewise micro-fluidic circuits have been modelled with SPICE through the hydrodynamic analogy.[40] SPICE has been applied inoperations research to evaluate perturbedsupply chains,[41] and regulatory networks insynthetic biology.[42]
However, transport dynamics are not a requirement for SPICE simulation. In arotating machine, torque corresponds to voltage, angular velocity to current, viscous friction to resistance, and inertia to inductance.[43][44] SPICE has been used to model loudspeakers, earphones, and headphones.[45] Suchelectro-mechanical transducers often have complex input impedances (see, for example,Electrical characteristics of dynamic loudspeakers) that present difficulties to the circuits designed to drive them. Integrated modelling of both components addresses this problem.
Electromagnetic modeling is accessible to a SPICE simulator via thePEEC (partial element equivalent circuit) method.[46] 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 simulate arbitraryphotonic dynamics when circuits display strongly quantum effects.[47]