SPICE ( Simuleringsprogram med Integrated Circuit Emphasis ) er en open source elektronisk kredsløbssimulator til generel formål . Det er et kraftfuldt program, der bruges til at designe både integrerede kredsløb og printkort til at kontrollere kredsløbets integritet og analysere dets adfærd.
Integrerede kredsløb, i modsætning til trykte kredsløb, er praktisk talt ikke modtagelige for prototyper før produktion. Derudover fører de høje omkostninger ved at skabe fotolitografiske masker og andre trin i halvlederfremstilling til behovet for meget omhyggelig design og verifikation. Kredsløbssimulering med SPICE er en almindelig metode i halvlederindustrien til at verificere driften af et kredsløb på transistorniveau (før det implementeres i silicium).
For printplader, især af lav kompleksitet, er det muligt at udføre prototyping. Men på et breadboard er nogle kredsløbsegenskaber muligvis ikke nøjagtige sammenlignet med det endelige bord. For eksempel på et brødbræt vil de trykte spor have forskellige parasitmodstande og kapacitanser. Sådanne falske elementer kan ofte evalueres ved hjælp af SPICE-simulering.
SPICE blev udviklet ved Electronics Research Laboratory ved University of California i Berkeley af Laurence Nagel og hans vejleder, professor Donald Pederson . SPICE1 var stort set baseret på det tidligere CANCER-program [1] skrevet af Lawrence med en anden vejleder, Prof. Ronald Rohrer. Navnet på programmet stod for "Computer Analysis of Nonlinear Circuits, Excluding Radiation" (Computeranalyse af ikke-lineære kredsløb, ekskl. stråling), som var en reference til den relative frihed ved University of Berkeley i 1960'erne [2] . På det tidspunkt blev de fleste elektroniske kredsløbssimulatorer udviklet under bevillinger og kontrakter fra det amerikanske forsvarsministerium , hvor et af kravene var evnen til at vurdere strålingens effekt på kredsløbsdriften (Se Strålingshærdning ). Efter at have skiftet tilsynsførende måtte Nagel omskrive den proprietære CANCER, så det nye program kunne frigives til det offentlige domæne og dermed overføre det til det offentlige domæne. [3]
SPICE1 blev første gang præsenteret på en konference i 1973. [4] Programmet blev skrevet på FORTRAN-sproget og brugte kredsløbsanalyse ved nodalpotentialmetoden til at konstruere kredsløbsligninger. Metoden med knudepotentialer havde begrænsninger i arbejdet med induktanser, AC spændingskilder og med forskellige muligheder for kontrollerede strøm- og spændingsgeneratorer. I SPICE1 var et lille antal elementer tilgængelige, programmet brugte transient analyse med et fast tidstrin. Populariteten kom til den anden version af programmet, SPICE2 [5] , i 1975. Det blev også skrevet i FORTRAN, men havde flere elementer, der fik lov til at ændre tidstrinnet i analysen af transiente processer, kredsløbsligninger blev formuleret ved hjælp af den modificerede nodalpotentialemetode ( modificeret nodalanalyse ) [6] , hvorved begrænsningerne af nodalpotentiale metode. Den seneste version af SPICE skrevet i FORTRAN er 2G.6 (1983). Den næste version, SPICE3 [7] , blev udviklet af Thomas Quarles i 1989. Den er skrevet i C , bruger det samme netlist-format og understøtter visualisering i X Window System .
Fra tidlige versioner har SPICE været open source-software, hvilket har bidraget til dens udbredte adoption og brug. SPICE er blevet industristandarden for simulering af elektriske kredsløb [8] . SPICE-kildekoderne blev distribueret af universitetet til pålydende værdi (prisen på et bånd). Licensen indeholdt oprindeligt vilkår, der begrænsede overførslen af koden til visse ikke-US-venlige lande, men programmet distribueres i øjeblikket under betingelserne i BSD-licensen .
SPICE har fungeret som grundlag for udviklingen af mange andre kredsløbssimuleringsprogrammer, både i det akademiske og industrielle miljø. Den første kommercielle version er ISPICE, [9] ( National CSS ). De mest fremtrædende kommercielle versioner af SPICE er HSPICE (oprindeligt Meta Software, nu Synopsys ) og PSPICE (nu Cadence Design Systems ). Akademiske versioner af programmet: XSPICE ( Georgia Tech , med understøttelse af blandede A/D-modeller) og Cider (tidligere CODECS, UC Berkeley og Oregon State Univ.; med understøttelse af halvlederenheder). Den integrerede kredsløbsdesignindustri var tidlige brugere af SPICE, og forud for udviklingen af kommercielle implementeringer havde mange chipdesignvirksomheder deres egne proprietære versioner af SPICE. [10] I øjeblikket er store chipproducenter ved at udvikle deres egne simuleringsprogrammer baseret på SPICE. For eksempel ADICE fra Analog Devices , LTspice fra Linear Technology , Mica fra Freescale Semiconductor , TISPICE fra Texas Instruments .
I 2011 blev fremkomsten af SPICE tilskrevet IEEE Milestone [ 11] og bemærkede, at SPICE og dets derivater er blevet en integreret del af designet af næsten ethvert integreret kredsløb.
SPICE blev populær, fordi den understøttede analyse og indeholdt de modeller, der var nødvendige til design af datidens integrerede kredsløb, samtidig med at den var hurtig nok til praktisk brug. [12] Forgængerne til SPICE havde ofte kun ét formål, for eksempel BIAS [13] tillod at beregne modes for bipolære transistorer; SLIC [14] udførte lille signalanalyse. SPICE kombinerede flere analysetilstande og et ret omfattende bibliotek af enhedsmodeller.
SPICE2 inkluderer:
SPICE2 accepterer netlist i tekstform som input og producerer line-printer lister som et resultat af sit arbejde. Et sådant program var typisk for 1975. Listerne er enten kolonner med tal svarende til de beregnede udgangsparametre (oftest strømme og spændinger), eller var et billede af tegn ( ASCII art ). SPICE3 beholdt netlisteformatet til kredsløbsbeskrivelser, men tillod analyse at blive kontrolleret via en kommandogrænseflade ( CLI ). SPICE3 introducerede også grundlæggende skematiske tegningsmuligheder i det grafiske X Window -miljø, efterhånden som Unix og arbejdsstationer blev mere populære.