Original author(s) | Laurence Nagel |
---|---|
Initial release | 1973 |
Written in | Fortran |
Type | Electronic circuit simulation |
License | Public-domain software |
Website |
Initial release | 1975 |
---|---|
Stable release | 2G.6 / 1983 |
Written in | Fortran |
Type | Electronic circuit simulation |
License | BSD 3 Clause |
Website |
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 | Archived webpage |
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". [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 academics are QUCS, QUCS-S, [24] Xyce, [25] 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, [26] 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. [27]
Today a few IC manufacturers, typically the larger companies, have groups continuing to develop SPICE-based circuit simulation programs. Among these are ADICE and LTspice at Analog Devices, QSPICE at Qorvo, MCSPICE, followed by Mica at Freescale Semiconductor, now NXP Semiconductors, and TINA-TI [28] at Texas Instruments. Both LTspice and TINA-TI come bundled with models from their respective company. [29] [30] 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 Semiconductors also. [31]
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. [32] Precursors to SPICE often had a single purpose: The BIAS [33] program, for example, did simulation of bipolar transistor circuit operating points; the SLIC [34] 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 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. [32]
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. [35]
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, [36] 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.
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 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.
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 [37] ). 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. [38] 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). [39] So again the final model consists of only SPICE compatible lumped circuit elements, but one gains mechanical together with electrical data during simulation. [40]
Electromagnetic modeling is accessible to a SPICE simulator via the PEEC (partial element equivalent circuit) method. [41] 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", [42] and thus it is not yet considered as a test simulator for photonic integrated circuits.
Micro-fluidic circuits have been modelled with SPICE [43] 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. [44]
SPICE has been applied in operations research to evaluate perturbed supply chains. [45]
An electrical network is an interconnection of electrical components or a model of such an interconnection, consisting of electrical elements. An electrical circuit is a network consisting of a closed loop, giving a return path for the current. Thus all circuits are networks, but not all networks are circuits. Linear electrical networks, a special type consisting only of sources, linear lumped elements, and linear distributed elements, have the property that signals are linearly superimposable. They are thus more easily analyzed, using powerful frequency domain methods such as Laplace transforms, to determine DC response, AC response, and transient response.
A bipolar junction transistor (BJT) is a type of transistor that uses both electrons and electron holes as charge carriers. In contrast, a unipolar transistor, such as a field-effect transistor (FET), uses only one kind of charge carrier. A bipolar transistor allows a small current injected at one of its terminals to control a much larger current flowing between the terminals, making the device capable of amplification or switching.
Complementary metal–oxide–semiconductor is a type of metal–oxide–semiconductor field-effect transistor (MOSFET) fabrication process that uses complementary and symmetrical pairs of p-type and n-type MOSFETs for logic functions. CMOS technology is used for constructing integrated circuit (IC) chips, including microprocessors, microcontrollers, memory chips, and other digital logic circuits. CMOS technology is also used for analog circuits such as image sensors, data converters, RF circuits, and highly integrated transceivers for many types of communication.
In computer engineering, a hardware description language (HDL) is a specialized computer language used to describe the structure and behavior of electronic circuits, usually to design application-specific integrated circuits (ASICs) and to program field-programmable gate arrays (FPGAs).
Donald Oscar Pederson was an American professor of electrical engineering at the University of California, Berkeley, and one of the designers of SPICE, a simulator for integrated circuits that has been universally used as a teaching tool and in the everyday work of circuits engineers. The IEEE Donald O. Pederson Award in Solid-State Circuits is named in his honor.
Hermann K. Gummel was a German physicist and pioneer in the semiconductor industry.
Small-signal modeling is a common analysis technique in electronics engineering used to approximate the behavior of electronic circuits containing nonlinear devices with linear equations. It is applicable to electronic circuits in which the AC signals are small relative to the DC bias currents and voltages. A small-signal model is an AC equivalent circuit in which the nonlinear circuit elements are replaced by linear elements whose values are given by the first-order (linear) approximation of their characteristic curve near the bias point.
In semiconductor design, standard-cell methodology is a method of designing application-specific integrated circuits (ASICs) with mostly digital-logic features. Standard-cell methodology is an example of design abstraction, whereby a low-level very-large-scale integration (VLSI) layout is encapsulated into an abstract logic representation.
OrCAD Systems Corporation was a software company that made OrCAD, a proprietary software tool suite used primarily for electronic design automation (EDA). The software is used mainly by electronic design engineers and electronic technicians to create electronic schematics, and perform mixed-signal simulation and electronic prints for manufacturing printed circuit boards (PCBs). OrCAD was taken over by Cadence Design Systems in 1999 and was integrated with Cadence Allegro in 2005.
PLECS is a software tool for system-level simulations of electrical circuits developed by Plexim. It is especially designed for power electronics but can be used for any electrical network. PLECS includes the possibility to model controls and different physical domains besides the electrical system.
Transistors are simple devices with complicated behavior. In order to ensure the reliable operation of circuits employing transistors, it is necessary to scientifically model the physical phenomena observed in their operation using transistor models. There exists a variety of different models that range in complexity and in purpose. Transistor models divide into two major groups: models for device design and models for circuit design.
Ngspice is an open-source mixed-level/mixed-signal electronic circuit simulator. It is a successor of the latest stable release of Berkeley SPICE, version 3f.5, which was released in 1993. A small group of maintainers and the user community contribute to the ngspice project by providing new features, enhancements and bug fixes.
Quite Universal Circuit Simulator (Qucs) is a free-software electronics circuit simulator software application released under GPL. It offers the ability to set up a circuit with a graphical user interface and simulate the large-signal, small-signal and noise behaviour of the circuit. Pure digital simulations are also supported using VHDL and/or Verilog. Only a small set of digital devices like flip flops and logic gates can be used with analog circuits. Qucs uses its own SPICE-incompatible backend simulator Qucsator, however the Qucs-S fork supports some SPICE backends.
Semiconductor device modeling creates models for the behavior of the electrical devices based on fundamental physics, such as the doping profiles of the devices. It may also include the creation of compact models, which try to capture the electrical behavior of such devices but do not generally derive them from the underlying physics. Normally it starts from the output of a semiconductor process simulation.
CircuitLogix is a software electronic circuit simulator which uses PSpice to simulate thousands of electronic devices, models, and circuits. CircuitLogix supports analog, digital, and mixed-signal circuits, and its SPICE simulation gives accurate real-world results. The graphic user interface allows students to quickly and easily draw, modify and combine analog and digital circuit diagrams. CircuitLogix was first launched in 2005, and its popularity has grown quickly since that time. In 2012, it reached the milestone of 250,000 licensed users, and became the first electronics simulation product to have a global installed base of a quarter-million customers in over 100 countries.
Electronic circuit simulation uses mathematical models to replicate the behavior of an actual electronic device or circuit. Simulation software allows for the modeling of circuit operation and is an invaluable analysis tool. Due to its highly accurate modeling capability, many colleges and universities use this type of software for the teaching of electronics technician and electronics engineering programs. Electronics simulation software engages its users by integrating them into the learning experience. These kinds of interactions actively engage learners to analyze, synthesize, organize, and evaluate content and result in learners constructing their own knowledge.
LTspice is a SPICE-based analog electronic circuit simulator computer software, produced by semiconductor manufacturer Analog Devices. It is the most widely distributed and used SPICE software in the industry. Though it is freeware, LTspice is not artificially restricted to limit its capabilities. It ships with a library of SPICE models from Analog Devices, Linear Technology, Maxim Integrated, and third-party sources.
CoolSPICE is a computer-aided design (CAD) tool developed by CoolCAD Electronics Inc. It is a specialized version of the SPICE simulation tool, designed for the analysis and simulation of circuit operation at cryogenic temperatures, circuits using wide-bandgap semiconductors, and the impact of thermal effects on circuit performance.
SystemC AMS is an extension to SystemC for analog, mixed-signal and RF functionality. The SystemC AMS 2.0 standard was released on April 6, 2016 as IEEE Std 1666.1-2016.
SPICE OPUS is a free general purpose electronic circuit simulator, developed and maintained by members of EDA Group, University of Ljubljana, Slovenia. It is based on original Berkeley’s SPICE analog circuit simulator and includes various improvements and advances, such as memory-leak bug fixes and plotting tool improvements. SPICE OPUS is specially designed for fast optimization loops via its built-in optimizer.