SPICE ( Simulation Program with Integrated Circuit Emphasis ) on avoimen lähdekoodin yleiskäyttöinen elektroniikkapiirisimulaattori . Se on tehokas ohjelma, jota käytetään sekä integroitujen piirien että painettujen piirilevyjen suunnittelussa piirin eheyden tarkistamiseksi ja sen käyttäytymisen analysoimiseksi.
Integroidut piirit, toisin kuin painetut piirilevyt, eivät käytännössä sovellu prototyyppien tekemiseen ennen tuotantoa. Lisäksi valolitografisten maskien ja muiden puolijohteiden valmistuksen vaiheiden luomisen korkeat kustannukset johtavat erittäin huolellisen suunnittelun ja tarkastuksen tarpeeseen. Piirin simulointi SPICE:llä on puolijohdeteollisuudessa yleinen menetelmä piirin toiminnan tarkistamiseksi transistoritasolla (ennen kuin se toteutetaan piissä).
Painetuille piirilevyille, erityisesti pienikokoisille piirilevyille, on mahdollista suorittaa prototyyppien valmistus. Mutta leipälevyllä jotkin piirin ominaisuudet eivät ehkä ole tarkkoja verrattuna lopulliseen levyyn. Esimerkiksi leipälaudalla painetuilla raidoilla on erilaiset loisresistanssit ja kapasitanssit. Tällaisia vääriä elementtejä voidaan usein arvioida käyttämällä SPICE-simulaatiota.
SPICEn kehittivät Kalifornian yliopiston elektroniikkatutkimuslaboratoriossa Berkeleyssä Laurence Nagel ja hänen ohjaajansa, professori Donald Pederson . SPICE1 perustui suurelta osin aiempaan CANCER-ohjelmaan [1] , jonka Lawrence kirjoitti toisen ohjaajan, professori Ronald Rohrerin kanssa. Ohjelman nimi tarkoitti "Computer Analysis of Nonlinear Circuits, Excluding Radiation" (Computer Analysis of Nonlinear Circuits, Excluding Radiation) (Computer Analysis of non-linear circuits, excluding radiation), joka oli viittaus suhteelliseen vapauteen Berkeleyn yliopistossa 1960-luvulla [2] . Tuolloin useimmat elektroniset piirisimulaattorit kehitettiin Yhdysvaltain puolustusministeriön apurahoilla ja sopimuksilla , joiden yhtenä edellytyksenä oli kyky arvioida säteilyn vaikutusta piirien toimintaan (katso Säteilykarkaisu ). Ohjaajien vaihdon jälkeen Nagel joutui kirjoittelemaan patentoitua CANCERia uudelleen, jotta uusi ohjelma voitiin julkaista julkisesti ja siten siirtää se julkisuuteen. [3]
SPICE1 esiteltiin ensimmäisen kerran konferenssissa vuonna 1973. [4] Ohjelma kirjoitettiin FORTRAN-kielellä ja siinä käytettiin piirianalyysiä solmupotentiaalimenetelmällä piiriyhtälöiden rakentamiseen. Solmupotentiaalien menetelmällä oli rajoituksia työskentelyssä induktanssien, AC-jännitelähteiden ja ohjattujen virta- ja jännitegeneraattoreiden eri vaihtoehtojen kanssa. SPICE1:ssä oli saatavilla pieni määrä elementtejä, ohjelma käytti transienttianalyysiä kiinteällä aika-askelilla. Ohjelman toinen versio, SPICE2 [5] , nousi suosioon vuonna 1975. Se oli myös kirjoitettu FORTRANilla, mutta siinä oli enemmän elementtejä, jotka saivat muuttaa aikaaskeleita transienttiprosessien analyysissä, piiriyhtälöt muotoiltiin käyttämällä modifioitua solmupotentiaalimenetelmää ( modifioitu solmuanalyysi ) [6] , mikä eliminoi prosessin rajoitukset. solmupotentiaalimenetelmä. SPICE:n uusin versio FORTRANissa on 2G.6 (1983). Seuraavan version, SPICE3 [7] , kehitti Thomas Quarles vuonna 1989. Se on kirjoitettu C -kielellä , käyttää samaa netlist-muotoa ja tukee visualisointia X Window Systemissä .
Varhaisista versioista lähtien SPICE on ollut avoimen lähdekoodin ohjelmisto, joka on osaltaan edistänyt sen laajaa käyttöönottoa ja käyttöä. SPICE:stä on tullut alan standardi sähköpiirien simuloinnissa [8] . Yliopisto jakoi SPICE-lähdekoodit nimellisarvoon (nauhan hintaan). Lisenssi sisälsi alun perin ehtoja, jotka rajoittivat koodin siirtoa tiettyihin USA:n ulkopuolisiin maihin, mutta ohjelmaa jaetaan tällä hetkellä BSD-lisenssin ehdoilla .
SPICE on toiminut perustana monien muiden piirisimulaatio-ohjelmien kehittämiselle sekä akateemisissa että teollisissa ympäristöissä. Ensimmäinen kaupallinen versio on ISPICE, [9] ( National CSS ). SPICE:n näkyvimmät kaupalliset versiot ovat HSPICE (alun perin Meta Software, nyt Synopsys ) ja PSPICE (nykyisin Cadence Design Systems ). Ohjelman akateemiset versiot: XSPICE ( Georgia Tech , tuella sekoitettuja A/D-malleja) ja Cider (aiemmin CODECS, UC Berkeley ja Oregon State Univ.; tukee puolijohdelaitteita). Integroitujen piirien suunnitteluteollisuus oli SPICE:n varhainen omaksuja, ja ennen kaupallisten toteutusten kehittämistä monilla sirusuunnitteluyrityksillä oli omat SPICE-versionsa. [10] Tällä hetkellä suuret siruvalmistajat kehittävät omia SPICEen perustuvia simulaatioohjelmiaan. Esimerkiksi ADICE Analog Devicesilta , LTspice Linear Technologylta , Mica Freescale Semiconductorilta , TISPICE Texas Instrumentsilta .
Vuonna 2011 SPICE:n syntyminen johtui IEEE Milestonesta [11] , jossa todettiin, että SPICE:stä ja sen johdannaisista on tullut olennainen osa melkein minkä tahansa integroidun piirin suunnittelua.
SPICE tuli suosituksi, koska se tuki analysointia ja sisälsi aikansa integroitujen piirien suunnittelussa tarvittavat mallit, mutta oli riittävän nopea käytännön käyttöön. [12] SPICE:n edeltäjillä oli usein vain yksi tarkoitus, esimerkiksi BIAS [13] antoi mahdollisuuden laskea bipolaaristen transistorien moodit; SLIC [14] suoritti pienen signaalianalyysin. SPICE yhdisti useita analyysitiloja ja melko laajan laitemallikirjaston.
SPICE2 sisältää:
SPICE2 hyväksyy netlistin tekstimuodossa syötteeksi ja tuottaa työnsä tuloksena rivitulostinlistauksia. Tällainen ohjelma oli tyypillinen vuodelle 1975. Luettelot ovat joko sarakkeita, joiden numerot vastaavat laskettuja lähtöparametreja (useimmiten virrat ja jännitteet), tai ne ovat merkkikuvia ( ASCII art ). SPICE3 säilytti verkkoluettelomuodon piirikuvauksille, mutta salli analyysin ohjauksen komentorajapinnan ( CLI ) kautta. SPICE3 esitteli myös peruskaavion piirustusvaihtoehdot X Window -graafisessa ympäristössä Unixin ja työasemien yleistyessä.