Original author(s) | Laurence Nagel |
---|---|
Initial release | 1973 |
Written in | Fortran |
Type | Electronic circuit simulation |
License | Public-domain software |
Initial release | 1975 |
---|---|
Stable release |
2G.6 / 1983
|
Written in | Fortran |
Type | Electronic circuit simulation |
License | Public-domain software |
Website | https://embedded.eecs.berkeley.edu/pubs/downloads/spice/index.htm |
Original author(s) | Thomas Quarles |
---|---|
Initial release | 1989 |
Stable release |
3f.5 / July 1993
|
Written in | C |
Type | Electronic circuit simulation |
License | BSD license |
Website | https://embedded.eecs.berkeley.edu/pubs/downloads/spice/index.htm |
SPICE (Simulation Program with Integrated Circuit Emphasis) 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.
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. These parasitic components can often be estimated more accurately using SPICE 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 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.