<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://gicl.cs.drexel.edu/wiki-data/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://gicl.cs.drexel.edu/wiki-data/index.php?title=SPICE&amp;feed=atom&amp;action=history</id>
		<title>SPICE - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://gicl.cs.drexel.edu/wiki-data/index.php?title=SPICE&amp;feed=atom&amp;action=history"/>
		<link rel="alternate" type="text/html" href="http://gicl.cs.drexel.edu/wiki-data/index.php?title=SPICE&amp;action=history"/>
		<updated>2013-05-20T15:51:26Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.18.2</generator>

	<entry>
		<id>http://gicl.cs.drexel.edu/wiki-data/index.php?title=SPICE&amp;diff=20904&amp;oldid=prev</id>
		<title>Jmo34 at 21:14, 24 June 2008</title>
		<link rel="alternate" type="text/html" href="http://gicl.cs.drexel.edu/wiki-data/index.php?title=SPICE&amp;diff=20904&amp;oldid=prev"/>
				<updated>2008-06-24T21:14:36Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{otheruses3|Spice (disambiguation)}}&lt;br /&gt;
&lt;br /&gt;
[[Image:spiceopus screenshot.png|thumb|400px|Screen shot of Spice OPUS, a fork of Berkeley SPICE]]&lt;br /&gt;
&lt;br /&gt;
'''SPICE''' (Simulation Program with Integrated Circuit Emphasis) is a general purpose [[Analogue electronics|analog electronic circuit]] [[Electronic circuit simulation|simulator]].&lt;br /&gt;
It is a powerful program that is used in [[integrated circuit|IC]] and board-level design to check the integrity of [[circuit design]]s and to predict [[Electronic circuit|circuit]] behavior.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Integrated circuits, unlike board-level designs composed of discrete parts, are impossible to [[breadboard]] before manufacture. Further, the high costs of [[Photomask|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.&lt;br /&gt;
&lt;br /&gt;
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 method|Monte Carlo]] simulations using SPICE, a task which is impractical using calculations by hand.&lt;br /&gt;
&lt;br /&gt;
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 equation]]s which are solved using [[Explicit and implicit methods|implicit integration methods]], [[Newton's method]] and [[sparse matrix]] techniques.&lt;br /&gt;
&lt;br /&gt;
== Origins ==&lt;br /&gt;
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,&amp;lt;ref&amp;gt;{{cite journal |author=Nagel, L. W., and Rohrer, R. A. |title= Computer Analysis of Nonlinear Circuits, Excluding Radiation |journal=IEEE Journal of Solid State Circuits |volume=SC-6 |month=Aug |year=1971 |pages= 166&amp;amp;ndash;182 |url=http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1050166 |doi= 10.1109/JSSC.1971.1050166}}&amp;lt;/ref&amp;gt; which Nagel had worked on under Prof. Ronald Rohrer. CANCER was an acronym for &amp;quot;Computer Analysis of Nonlinear Circuits, Excluding Radiation,&amp;quot; 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.&amp;lt;ref&amp;gt;{{cite journal |author=Perry, T. |title=Donald O. Pederson |journal=IEEE Spectrum |month=June |year=1998 |pages=22&amp;amp;ndash;27 |url=http://ieeexplore.ieee.org/search/wrapper.jsp?arnumber=681968 |doi=10.1109/6.681968 |volume=35}}&amp;lt;/ref&amp;gt; &lt;br /&gt;
&lt;br /&gt;
SPICE1 was first presented at a conference in 1973.&amp;lt;ref&amp;gt;Nagel, L. W, and Pederson, D. O., ''SPICE (Simulation Program with Integrated Circuit Emphasis)'', Memorandum No. ERL-M382, University of California, Berkeley, Apr. 1973&amp;lt;/ref&amp;gt; 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&amp;lt;ref name=spice2&amp;gt;Nagel, Laurence W., ''SPICE2: A Computer Program to Simulate Semiconductor Circuits'', Memorandum No. ERL-M520, University of California, Berkeley, May 1975&amp;lt;/ref&amp;gt; in 1975.  SPICE2, also coded in FORTRAN, was a much-improved program with more circuit elements, variable timestep transient analysis using either [[Trapezoidal integration|trapezoidal]] or the Gear integration method (also known as [[Backward differentiation formula|BDF]]), equation formulation via modified nodal analysis&amp;lt;ref&amp;gt;{{cite conference |author=Ho, Ruehli, and Brennan |title=The Modified Nodal Approach to Network Analysis |booktitle=Proc. 1974 Int. Symposium on Circuits and Systems, San Francisco |month=Apr |year=1974 |pages=505&amp;amp;ndash;509 |url=http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1084079}}&amp;lt;/ref&amp;gt; (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&amp;lt;ref&amp;gt;Quarles, Thomas L., ''Analysis of Performance and Convergence Issues for Circuit Simulation'', Memorandum No. UCB/ERL M89/42, University of California, Berkeley, Apr. 1989.&amp;lt;/ref&amp;gt; was developed by Thomas Quarles (with [[A. Richard Newton]] as advisor) in 1989. It is written in [[C (programming language)|C]], uses the same netlist syntax, and added [[X Window]] plotting.&lt;br /&gt;
&lt;br /&gt;
As an early [[open source]] program, SPICE was widely distributed and used.  Its ubiquity became such that &amp;quot;to SPICE a circuit&amp;quot; remains synonymous with circuit simulation.&amp;lt;ref&amp;gt;{{cite news |last=Pescovitz |first=David |url=http://www.coe.berkeley.edu/labnotes/0502/history.html |title=1972: The release of SPICE, still the industry standard tool for integrated circuit design  |publisher=Lab Notes: Research from the Berkeley College of Engineering |date=2002-05-02 |accessdate=2007-03-10}}&amp;lt;/ref&amp;gt; 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 USA, but the source code is currently covered by the [[BSD license]].&lt;br /&gt;
&lt;br /&gt;
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 was ISPICE&amp;lt;ref&amp;gt;Vladimirescu, Andrei, ''SPICE -- The Third Decade'', Proc. 1990 IEEE Bipolar Circuits and Technology Meeting, Minneapolis, Sept. 1990, pp. 96&amp;amp;ndash;101&amp;lt;/ref&amp;gt;, an interactive version on a timeshare service, [[National CSS]].  The most prominent 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 Institute of Technology|Georgia Tech]], which added mixed analog/digital &amp;quot;code models&amp;quot; for behavioral simulation, and Cider (previously CODECS, from UC Berkeley/Oregon State Univ.) which added [[semiconductor device modeling|semiconductor device simulation]]. The integrated circuit industry adopted SPICE quickly, and until commercial versions became well developed many IC design houses had proprietary versions of SPICE.&amp;lt;ref&amp;gt;K. S. Kundert, ''The Designer’s Guide to SPICE and SPECTRE'', Kluwer. Academic Publishers, Boston , 1998&amp;lt;/ref&amp;gt;  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 [[Linear Technology]],  Mica at [[Freescale Semiconductor]], and TISPICE at [[Texas Instruments]].  (Other companies maintain internal  circuit simulators which are not directly based upon SPICE, among them PowerSpice at [[IBM]], Titan at [[Qimonda]], Linx at [[Intel Corporation]], and Pstar at [[NXP Semiconductor]].)&lt;br /&gt;
&lt;br /&gt;
== Program features and structure ==&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;ref name=&amp;quot;SPICE4&amp;quot;&amp;gt;Nagel, L., [http://www.cs.sandia.gov/nacdm/talks/Nagal_Larry_NACDM2004.pdf Is it Time for SPICE4?], 2004 Numerical Aspects of Device and Circuit Modeling Workshop, June 23-25, 2004, Santa Fe, New Mexico. Retrieved on 2007-11-10&amp;lt;/ref&amp;gt; Precursors to SPICE often had a single purpose: The BIAS&amp;lt;ref&amp;gt;{{cite journal |author=McCalla and Howard |title=BIAS-3 – A program for nonlinear D.C. analysis of bipolar transistor circuits |journal=IEEE J. of Solid State Circuits |volume=6 |number=1 |month=Feb |year=1971 |pages=14&amp;amp;ndash;19 |url=http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1050153 |doi=10.1109/JSSC.1971.1050153 }}&amp;lt;/ref&amp;gt; program, for example, did simulation of bipolar transistor circuit operating points; the SLIC&amp;lt;ref&amp;gt;{{cite journal |author=Idleman, Jenkins, McCalla and Pederson |title=SLIC—a simulator for linear integrated circuits| journal=IEEE J. of Solid State Circuits |volume=6 |number=4 |month=Aug  |year=1971 |pages=188&amp;amp;ndash;203 |url=http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1050168 |doi=10.1109/JSSC.1971.1050168 }}&amp;lt;/ref&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
=== Analyses ===&lt;br /&gt;
&lt;br /&gt;
SPICE2 included these analyses:&lt;br /&gt;
* AC analysis (small-signal frequency domain analysis at the quiescent point ([[Q-point]]))&lt;br /&gt;
* DC analysis (nonlinear quiescent point calculation)&lt;br /&gt;
* DC transfer curve analysis (a sequence of nonlinear operating points calculated while sweeping an input voltage or current, or a circuit parameter)&lt;br /&gt;
* Noise analysis (a small signal analysis done using an adjoint matrix technique which sums uncorrelated noise currents at a chosen output point)&lt;br /&gt;
* [[Transfer function]] analysis (a small-signal input/output gain and impedance calculation)&lt;br /&gt;
* Transient analysis (time-domain large-signal solution of nonlinear differential algebraic equations)&lt;br /&gt;
&lt;br /&gt;
SPICE2 also contained code for [[sensitivity analysis]], [[pole-zero analysis]], and [[small-signal distortion analysis]]. Analysis at various temperatures was done by automatically updating semiconductor model parameters for temperature, allowing the circuit to be simulated at temperature extremes.&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;ref name=&amp;quot;SPICE4&amp;quot;&amp;gt;second reference&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Device models ===&lt;br /&gt;
SPICE2 included many semiconductor device [[transistor models|compact models]]: three levels of MOSFET model, a combined [[Ebers-Moll model|Ebers–Moll]] and [[Gummel–Poon model|Gummel-Poon bipolar model]], a [[JFET]] model, and a model for a [[diode|junction diode]]. In addition, it had many other elements: resistors, capacitors, inductors (including [[Inductance#Coupled inductors|coupling]]), independent [[voltage source|voltage]] and [[current source]]s, ideal [[transmission line]]s, and voltage and current controlled sources.&lt;br /&gt;
&lt;br /&gt;
SPICE3 added more sophisticated MOSFET models, which were required due to advances in semiconductor technology.&lt;br /&gt;
In particular, the [[BSIM]] family of models were added, which were also developed at UC Berkeley.&lt;br /&gt;
&lt;br /&gt;
Commercial and industrial SPICE simulators have added many other device models as technology advanced and earlier models became inaccurate. 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]]&amp;lt;ref&amp;gt;{{cite web |url=http://www.geia.org/index.asp?bid=597 |title=CMC - Compact Model Council | publisher=GEIA}}&amp;lt;/ref&amp;gt;, to choose, maintain and promote the use of [http://www.geia.org/index.asp?bid=1333 standard models].  The standard models today include [http://www-device.eecs.berkeley.edu/~bsim3 BSIM3], [http://www-device.eecs.berkeley.edu/~bsim3/bsim4.html BSIM4], [http://www-device.eecs.berkeley.edu/~bsimsoi BSIMSOI], [http://pspmodel.asu.edu/ PSP], [http://www.iee.et.tu-dresden.de/iee/eb/hic_new/hic_start.html HICUM], and [http://hitec.ewi.tudelft.nl/mug/home.html MEXTRAM].&lt;br /&gt;
&lt;br /&gt;
===Input and output: Netlists, schematic capture and plotting===&lt;br /&gt;
SPICE2 took a text [[netlist]] as input and produced line-printer listings as output, which fit with the computing environment in 1975.  These listings were either columns of numbers corresponding to calculated outputs (typically voltages or currents), or line-printer [[ASCII art|character &amp;quot;plots&amp;quot;]].  SPICE3 retained the netlist for circuit description, but allowed analyses to be controlled from a command-line interface.  SPICE3 also added basic [[X-Window]] plotting, as [[UNIX]] and engineering workstations became common.&lt;br /&gt;
&lt;br /&gt;
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 interface]]s 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 [[PSpice|limited packages]], and some [[Linear Technology|without restrictions]].&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Input Output Buffer Information Specification]] (IBIS)&lt;br /&gt;
* [[Transistor models]]&lt;br /&gt;
* [[PSPICE]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://denethor.wlu.ca/PSpice/pspice_tutorial.html Comprehensive, detailed PSPICE tutorial and user guide at Wilfrid Laurier University, Canada ]&lt;br /&gt;
* [http://www.designers-guide.org/Perspective/life-of-spice.pdf Larry Nagel, &amp;quot;The Life of SPICE&amp;quot;]&lt;br /&gt;
* [http://bwrc.eecs.berkeley.edu/Classes/IcBook/SPICE/ The Spice Page]&lt;br /&gt;
* [http://www.eecs.berkeley.edu/Pubs/TechRpts/1989/1216.html Thomas Quarles' dissertation (SPICE3)]&lt;br /&gt;
* [http://www.brorson.com/gEDA/SPICE/simulation.html SPICE on gEDA HOWTO]&lt;br /&gt;
* [http://www.ecircuitcenter.com/SpiceTopics/History.htm A brief history of SPICE]&lt;br /&gt;
* [http://newton.ex.ac.uk/teaching/CDHW/Electronics2/userguide/ Spice 3 Userguide]&lt;br /&gt;
* [http://newton.ex.ac.uk/teaching/CDHW/Electronics2/Spice3Quickstart.html Spice 3 Quickstart Tutorial]&lt;br /&gt;
&lt;br /&gt;
=== Versions with source code available ===&lt;br /&gt;
*[http://embedded.eecs.berkeley.edu/pubs/downloads/spice/index.htm SPICE2 and SPICE3 at UC Berkeley]&lt;br /&gt;
*[http://embedded.eecs.berkeley.edu/pubs/downloads/cider/index.htm Cider at UC Berkeley]&lt;br /&gt;
*[http://ngspice.sourceforge.net/ ngspice: SPICE3 with updates and XSPICE extensions]&lt;br /&gt;
*[http://tclspice.sourceforge.net/ tclspice: ngspice and Tcl scripting]&lt;br /&gt;
&lt;br /&gt;
=== Applications ===&lt;br /&gt;
*[http://www.sccs.swarthmore.edu/users/06/adem/engin/e77vlsi/lab2/ Sample Spice code and output for various circuits]&lt;br /&gt;
* [http://www.nanodottek.com/NDT14_08_2007.pdf  NanoDotTek Report NDT14-08-2007, 12 August 2007 ]&lt;/div&gt;</summary>
		<author><name>Jmo34</name></author>	</entry>

	</feed>