SPICE ( Program de simulare cu accent pe circuite integrate ) este un simulator de circuit electronic de uz general open source . Este un program puternic folosit atât în proiectarea circuitelor integrate, cât și a plăcilor de circuite imprimate pentru a verifica integritatea circuitului și pentru a analiza comportamentul acestuia.
Circuitele integrate, spre deosebire de plăcile de circuite imprimate, practic nu sunt susceptibile de prototipare înainte de producție. În plus, costul ridicat al creării măștilor fotolitografice și al altor etape în fabricarea semiconductorilor duce la necesitatea unei proiectări și verificări foarte atente. Simularea circuitelor cu SPICE este o metodă comună în industria semiconductoarelor pentru a verifica funcționarea unui circuit la nivel de tranzistor (înainte de a fi implementat în siliciu).
Pentru plăcile de circuite imprimate, în special de complexitate redusă, este posibilă realizarea de prototipuri. Dar pe o placă, unele proprietăți ale circuitului pot să nu fie precise în comparație cu placa finală. De exemplu, pe o placă, pistele imprimate vor avea diferite rezistențe și capacități parazitare. Astfel de elemente false pot fi adesea evaluate folosind simularea SPICE.
SPICE a fost dezvoltat la Electronics Research Laboratory de la Universitatea din California din Berkeley de Laurence Nagel și supervizorul său, profesorul Donald Pederson . SPICE1 sa bazat în mare parte pe programul anterior CANCER [1] scris de Lawrence împreună cu un alt supervizor, Prof. Ronald Rohrer. Numele programului era „Computer Analysis of Nonlinear Circuits, Excluding Radiation” (Analiza computerizată a circuitelor neliniare, excluzând radiația), care era o referire la libertatea relativă de la Universitatea din Berkeley în anii 1960 [2] . La acea vreme, majoritatea simulatoarelor de circuite electronice au fost dezvoltate în baza granturilor și contractelor de la Departamentul de Apărare al SUA , una dintre cerințele cărora era capacitatea de a evalua efectul radiațiilor asupra funcționării circuitelor (vezi Întărirea radiațiilor ). După schimbarea supraveghetorilor, Nagel a trebuit să rescrie CANCER-ul proprietar pentru ca noul program să poată fi eliberat în domeniul public, transferându-l astfel în domeniul public. [3]
SPICE1 a fost prezentat pentru prima dată la o conferință în 1973. [4] Programul a fost scris în limbajul FORTRAN și a folosit analiza circuitelor prin metoda potențialului nodal pentru a construi ecuații de circuit. Metoda potențialelor nodale a avut limitări în lucrul cu inductanțe, surse de tensiune alternativă și cu diferite opțiuni pentru generatoare de curent și tensiune controlate. În SPICE1, un număr mic de elemente era disponibil, programul a folosit analiza tranzitorie cu un pas de timp fix. Popularitatea a ajuns la cea de-a doua versiune a programului, SPICE2 [5] , în 1975. De asemenea, a fost scris în FORTRAN, dar a avut mai multe elemente, a permis modificarea pasului de timp în analiza proceselor tranzitorii, ecuațiile de circuit au fost formulate folosind metoda potențialului nodal modificat (analiza nodal modificat ) [6] , eliminând astfel limitările metoda potențialului nodal. Cea mai recentă versiune de SPICE scrisă în FORTRAN este 2G.6 (1983). Următoarea versiune, SPICE3 [7] , a fost dezvoltată de Thomas Quarles în 1989. Este scrisă în C , folosește același format netlist și acceptă vizualizarea în X Window System .
Din primele versiuni, SPICE a fost un software open source, care a contribuit la adoptarea și utilizarea pe scară largă. SPICE a devenit standardul industrial pentru simularea circuitelor electrice [8] . Codurile sursă SPICE au fost distribuite de universitate la valoarea nominală (prețul unei casete). Licența includea inițial termeni care restricționau transferul codului în anumite țări care nu sunt prietenoase cu SUA, dar programul este distribuit în prezent conform condițiilor licenței BSD .
SPICE a servit drept bază pentru dezvoltarea multor alte programe de simulare a circuitelor, atât în mediul academic, cât și în cel industrial. Prima versiune comercială este ISPICE, [9] ( Național CSS ). Cele mai proeminente versiuni comerciale ale SPICE sunt HSPICE (inițial Meta Software, acum Synopsys ) și PSPICE (acum Cadence Design Systems ). Versiuni academice ale programului: XSPICE ( Georgia Tech , cu suport pentru modele mixte A/D) și Cider (fostă CODECS, UC Berkeley și Oregon State Univ.; cu suport pentru dispozitive semiconductoare). Industria de proiectare a circuitelor integrate a fost primii adoptatori ai SPICE și, înainte de dezvoltarea implementărilor comerciale, multe companii de design de cipuri aveau propriile versiuni proprietare ale SPICE. [10] În prezent, marii producători de cipuri își dezvoltă propriile programe de simulare bazate pe SPICE. De exemplu, ADICE de la Analog Devices , LTspice de la Linear Technology , Mica de la Freescale Semiconductor , TISPICE de la Texas Instruments .
În 2011, apariția SPICE a fost atribuită IEEE Milestone , [11] menționând că SPICE și derivatele sale au devenit o parte integrantă a designului aproape oricărui circuit integrat.
SPICE a devenit popular deoarece susținea analiza și conținea modelele necesare pentru proiectarea circuitelor integrate ale vremii, fiind în același timp suficient de rapid pentru utilizare practică. [12] Predecesorii SPICE aveau adesea un singur scop, de exemplu BIAS [13] permitea calcularea modurilor tranzistoarelor bipolare; SLIC [14] a efectuat analize de semnal mic. SPICE a combinat mai multe moduri de analiză și o bibliotecă destul de extinsă de modele de dispozitive.
SPICE2 include:
SPICE2 acceptă netlist sub formă de text ca intrare și produce liste de imprimante de linie ca rezultat al activității sale. Un astfel de program a fost tipic pentru 1975. Listările sunt fie coloane cu numere corespunzătoare parametrilor de ieșire calculați (cel mai adesea, curenți și tensiuni), fie au fost o imagine a caracterelor ( art ASCII ). SPICE3 a păstrat formatul netlist pentru descrierile circuitelor, dar a permis ca analiza să fie controlată printr-o interfață de comandă ( CLI ). SPICE3 a introdus și opțiuni de bază de desen schematic în mediul grafic X Window , pe măsură ce Unix și stațiile de lucru au devenit mai populare.