SPICE ( Simulační program s důrazem na integrovaný obvod ) je univerzální simulátor elektronických obvodů s otevřeným zdrojovým kódem . Jedná se o výkonný program používaný při návrhu integrovaných obvodů a desek plošných spojů pro kontrolu integrity obvodu a analýzu jeho chování.
Integrované obvody, na rozdíl od desek plošných spojů, prakticky nejsou přístupné prototypování před výrobou. Navíc vysoké náklady na vytvoření fotolitografických masek a dalších kroků při výrobě polovodičů vedou k nutnosti velmi pečlivého návrhu a ověření. Simulace obvodu pomocí SPICE je běžná metoda v polovodičovém průmyslu k ověření činnosti obvodu na úrovni tranzistoru (před implementací v křemíku).
Pro desky plošných spojů, zejména s nízkou složitostí, je možné provádět prototypování. Ale na prkénku na krájení nemusí být některé vlastnosti obvodu ve srovnání s finální deskou přesné. Například na prkénku na krájení budou mít vytištěné stopy různé parazitní odpory a kapacity. Takové falešné prvky lze často vyhodnotit pomocí simulace SPICE.
SPICE byl vyvinut v Electronics Research Laboratory na University of California v Berkeley Laurencem Nagelem a jeho vedoucím, profesorem Donaldem Pedersonem . SPICE1 byl z velké části založen na dřívějším programu CANCER [1] , který napsal Lawrence s dalším vedoucím, profesorem Ronaldem Rohrerem. Název programu byl zkratkou „Počítačová analýza nelineárních obvodů, vyjma záření“ (Počítačová analýza nelineárních obvodů, s vyloučením záření), což byl odkaz na relativní svobodu na univerzitě v Berkeley v 60. letech [2] . V té době byla většina simulátorů elektronických obvodů vyvinuta v rámci grantů a smluv Ministerstva obrany USA , jejichž jedním z požadavků byla schopnost posoudit vliv záření na činnost obvodů (viz Radiační zpevnění ). Po změně supervizorů musel Nagel přepsat proprietární CANCER tak, aby mohl být nový program uvolněn do veřejné sféry, a tedy převeden do veřejné sféry. [3]
SPICE1 byl poprvé představen na konferenci v roce 1973. [4] Program byl napsán v jazyce FORTRAN a ke konstrukci obvodových rovnic používal obvodovou analýzu metodou uzlového potenciálu . Metoda uzlových potenciálů měla omezení při práci s indukčnostmi, zdroji střídavého napětí a s různými možnostmi řízených generátorů proudu a napětí. V SPICE1 byl k dispozici malý počet prvků, program používal analýzu přechodových jevů s pevným časovým krokem. Popularita přišla k druhé verzi programu, SPICE2 [5] , v roce 1975. Byla také napsána ve FORTRAN, ale měla více prvků, umožňovala měnit časový krok při analýze přechodových procesů, obvodové rovnice byly formulovány pomocí metody modifikovaného uzlového potenciálu ( modified nodal analysis ) [6] , čímž byla odstraněna omezení metoda uzlového potenciálu. Nejnovější verze SPICE napsaná ve FORTRAN je 2G.6 (1983). Další verze, SPICE3 [7] , byla vyvinuta Thomasem Quarlesem v roce 1989. Je napsána v C , používá stejný formát netlist a podporuje vizualizaci v X Window System .
Od raných verzí byl SPICE software s otevřeným zdrojovým kódem, což přispělo k jeho širokému přijetí a používání. SPICE se stal průmyslovým standardem pro simulaci elektrických obvodů [8] . Zdrojové kódy SPICE byly distribuovány univerzitou za nominální hodnotu (cena pásky). Licence původně obsahovala podmínky omezující přenos kódu do určitých zemí, které nejsou přátelské k USA, ale program je v současné době distribuován za podmínek licence BSD .
SPICE sloužil jako základ pro vývoj mnoha dalších programů pro simulaci obvodů, a to jak v akademickém, tak průmyslovém prostředí. První komerční verze je ISPICE, [9] ( National CSS ). Nejprominentnější komerční verze SPICE jsou HSPICE (původně Meta Software, nyní Synopsys ) a PSPICE (nyní Cadence Design Systems ). Akademické verze programu: XSPICE ( Georgia Tech , s podporou smíšených A/D modelů) a Cider (dříve CODECS, UC Berkeley a Oregon State Univ.; s podporou polovodičových zařízení). Odvětví návrhu integrovaných obvodů bylo prvním osvojitelem SPICE a před vývojem komerčních implementací mělo mnoho společností zabývajících se návrhem čipů své vlastní proprietární verze SPICE. [10] V současné době velcí výrobci čipů vyvíjejí vlastní simulační programy založené na SPICE. Například ADICE od Analog Devices , LTspice od Linear Technology , Mica od Freescale Semiconductor , TISPICE od Texas Instruments .
V roce 2011 byl vznik SPICE připsán milníku IEEE [11] , přičemž se uvádí, že SPICE a jeho deriváty se staly nedílnou součástí návrhu téměř jakéhokoli integrovaného obvodu.
SPICE se stal populárním, protože podporoval analýzu a obsahoval modely potřebné pro návrh tehdejších integrovaných obvodů, přičemž byl dostatečně rychlý pro praktické použití. [12] Předchůdci SPICE měli často jen jeden účel, například BIAS [13] umožňoval vypočítat módy bipolárních tranzistorů; SLIC [14] provedl analýzu malého signálu. SPICE kombinoval několik režimů analýzy a poměrně rozsáhlou knihovnu modelů zařízení.
SPICE2 obsahuje:
SPICE2 přijímá netlist v textové podobě jako vstup a jako výsledek své práce vytváří výpisy na řádkové tiskárně. Takový program byl typický pro rok 1975. Výpisy jsou buď sloupce s čísly odpovídajícími vypočteným výstupním parametrům (nejčastěji proudy a napětí), nebo byly obrázkem znaků ( ASCII art ). SPICE3 zachoval formát netlist pro popisy obvodů, ale umožnil řídit analýzu pomocí příkazového rozhraní ( CLI ). SPICE3 také představil základní možnosti kreslení schémat v grafickém prostředí X Window , protože Unix a pracovní stanice se staly populárnějšími.