UTILIZAREA UNUI SIMULATOR SPICE PENTRU STUDIUL UNOR STRUCTURI DE CIRCUITE INTEGRATE DIGITALE (NUMERICE)
I. Prezentarea simulatorului Spice
I.1. Introducere
SPICE (Simulation Program with Integrated Circuit Emphasis) este un program de simulare a circuitelor electronice orientat pe simularea structurilor de circuite integrate (la origine) . El a fost dezvoltat la nceputul anilor '70 la University of California, Berkeley i de atunci continu s fie simulatorul analogic cel mai raspndit pentru circuite electronice, n virtual orice tip de aplicaie . Dei SPICE a fost supus unor dezvoltri succesive, nucleul algoritmilor de baz a rmas acelai, fiind validat astfel de proba timpului. Numeroi productori de software au realizat transportul lui pe un mare numr de platforme de lucru avnd suficient putere de calcul ( sisteme mari, minisisteme, staii de lucru, PC-uri ) , adugndu-i diverse tipuri de analiz i faciliti orientate utilizator.
I.2. Descrierea simulatorului Spice Descrierea sumar care urmeaz este prezentat ca o referin (este util mai ales pentru variante de implementare a simulatorului cum ar fi IsSPICE al firmei Intusoft sau pentru PSPICE al firmei Orcad/Cadence). Un circuit este descris n vederea analizei printr-o secven de instruciuni care formeaz sursa Spice. Sunt necesare 7 elemente care trebuie s fie prezente n sursa Spice pentru a putea realiza o simulare complet :
a) Linie titlu b) Instruciuni de control a analizei c) Instruciuni de control a afirii rezultatelor d) Descrierea topologiei circuitului e) Descrierea surselor de stimularei a surselor de alimentare f) Descrierea modelelor i/sau a subcircuitelor utilizate (eventual) g) Instruciune . END
Poziiile a)i g) sunt obligatorii. Descrierea topologiei circuitului i a surselor se face cu ajutorul unor instruciuni dedicate numite primitive SPICE , deoarece nu exist componente mai simple care pot fi utilizate la construirea unui circuit . Exist primitive pentru elemente pasive , semiconductori , surse independente sau comandate. Primitivele (componentele) SPICE sunt identificate obligatoriu printr-o liter cheie cu care, n mod obligatoriu, ncepe numele acesteia:
R - rezistor V - surs de tensiune independent C - condensator I - surs de curent independent Circuite Integrate Numerice 0. Introducere SPICE si PSPICE 2 L - inductor E - surs de tensiune controlat n tensiune K - cuplaj inductiv F - surs de curent controlat n curent T - linie de transmisie H - surs de tensiune controlat n curent D - diod G - surs de curent controlat in tensiune Q - tranzistor bipolar M - tranzistor MOSFET J - tranzistor JFET
Un nume de pn la 7 caractere poate fi adugat literei cheie (avem maxim 8 caractere luate n considerare). Urmeaz numerele de nod care descriu conectivitatea i o serie de parametrii care pot fi obligatorii sau opionali. De exemplu pentru rezistene parametrul obligatoriu este valoarea acesteia. Numerele utilizate la descrierea de valori pot fi introduse ca numere n virgul mobil, n formatul tiinific (exponenial, "E") sau scalate de urmtoarele litere (prefixele SPICE pentru uniti de masur):
T =1E12 K=1E3 N=1E-9 G =1E9 M=1E-3 P=1E-12 MEG=1E6 U=1E-6 F=1E-15
Atenie la introducerea unitailor de msur deoarece n absena scalrii valorile implicite sunt cele SI (V, A, sec, Hz, , F, H, etc.) ! Se pot utiliza litere mari sau mici dar pentru compatibilitatea cu alte simulatoare este de dorit sa se utilizeze LITERE MARI (upper case) ca de altfel peste tot n sursa Spice. Exemple: R1 1 2 100K .... un rezistor de 100kOhmi CSARCINA 7 9 1UF .... un condensator de 1uF VALIM 7 0 10V ...... o sursa de tensiune de 10V cc Q2 5 6 7 QN2368 ...... un tranzistor bipolar (model corespunzator tipului 2N2368)
Fiecare element de circuit este astfel definit printr-o instruciune coninnd numele elementului, nodurile circuitului la care acesta este conectat i valorile parametrilor. Prima liter a numelui identific tipul elementului. Toate conexiunile dintre dispozitive sunt determinate de numerele de nod respective. Sunt valabile urmatoarele restricii: - nodurile sunt identificate prin ntregi pozitivi; - nodul 0 este rezervat pentru mas i nu poate fi folosit ca argument la un subcircuit; - fiecare nod trebuie s aib cel puin 2 conexiuni din care una s includ o cale de curent de cc la mas; - buclele de surse de tensiune sunt ilegale; - buclele de inductori sunt ilegale; Numerele de noduri nu trebuie sa fie neaprat n secven.
O alt categorie de instruciuni sunt cele de control al simulrii: ele informeaz simulatorul despre tipul de analiz ce trebuie efectuat. Ele au un punct "." ca prim caracter urmat de identificatorul tipului de analiz. SPICE poate s realizeze trei tipuri de baza de analiz, fiecare cu un set de subanalize i opiuni: i) Analiz de curent alternativ: Circuite Integrate Numerice 0. Introducere SPICE si PSPICE 3 .AC - Analiz in domeniul frecven, semnal mic; utilizat de obicei pentru determinarea caracteristicilor de frecven (amplitudinei faz); .NOISE - Analiz de zgomot dependent de frecven i utilizat numai n conjuncie cu analiza de alternativ. .DISTO - Analiz de distorsiuni mici care nu sunt puse n evidena de analiza de tranzitoriu. OBS. Acest tip de analiza practic nu este utilizat in analiza structurilor de circuite integrate numerice.
ii) Analiz de curent continuu: .OP - Determinarea punctului static de funcionare; este implicit deobicei, chiar dac nu se cere alt tip de analiz . .SENS - Analiza sensibilitii n cc; Spice nu realizeaz acest tip de analiz n alternativ! .TF - Determinarea funciei de transfer de semnal mic ( n cc! ). .DC - Se baleiaz (ntre 0 i valoarea nominal) valoarea a una sau dou surse de cc (tensiune sau curent) i se nregistreaz tensiunile nodurilor menionate n instruciunea .PRINT. .NODESET -Se stabilesc (se foreaz ) poteniale iniiale pentru noduri.
iii) Analiz de regim tranzitoriu: .TRAN - Analiz complet (tranzitoriu) n domeniul timp. .FOUR - Analiz Fourier care determin componenta de cc plus primele 9 componente spectrale de frecvenai faz. .IC - Se iau n considerare condiiile iniiale (descrise printr-un cmp de tip UIC) pentru capacitori i inductori. Exemple: .TRAN .1US 10US -analiz tranzitoriu pe intervalul 0-10sec i pasul de timp 0.1sec. . AC DEC 10 1HZ 1MEGHZ -analiz alternativ pe 10 decade. La analiza n domeniul timp (.TRAN) se utilizeaz pentru excitaia circuitului diverse tipuri de stimuli asociai unor generatoare de semnal (surse de tensiune sau curent), de regul plasate la intrarea circuitului: PULSE ... impuls sau tren periodic de impulsuri SIN .... sinusoidal sau sinusoidal amortizat EXP ..... exponenial PWL ..... o form de und descris prin aproximaie liniar SSFM .... o form de und modulat n frecven Doar o singur astfel de opiune pentru generatorul asociat regimului tranzitoriu poate fi selectat pentru fiecare surs. Exemple :
V1 5 0 SIN 0 5V 10MEGHZ frecventa amplitudine valoare de cc (medie) VIN 10 0 PULSE 0 2V .1US .1US .1US 10US durata impuls timpi de front (crestere, cadere) timp intarziere initial nivel ridicat (high) nivel jos (low)
Circuite Integrate Numerice 0. Introducere SPICE si PSPICE 4 Analiza de curent continuu (DC) are ca rezultat o colecie de puncte statice de funcionare (cu inductorii scurtcircuitai i condensatoarele considerate ntrerupte). O analiz de cc este efectuat nainte de orice analiz de tranzitoriu sau alternativ n vederea liniarizrii modelelor dispozitivelor i gsirii condiiilor iniiale (determinarea iniial a punctului static de funcionare). Mrimile rezultate n urma simulrii: potentialele de cc ale nodurilor, curenii prin toate sursele de alimentare i eventual puterea total disipat sunt memorate ntr-un fiier de ieire (*.OUT). Instruciunile referitoare la controlul afirii rezultatelor sunt .PRINT sau .PLOT. Instruciunea .PRINT face ca valorile tensiunilor de nod asociate sau curenilor asociai unor surse s fie listate ntr-un fiier de ieire (output file , extensie *. OUT) n form tabelar. Forma tabelar este forma nativ n care simulatorul SPICE prezint rezultatele, acestea fiind destul de dificil de interpretat i utilizat. n urma prelucrrii sursei Spice, n afar de fiierul de ieire (*.OUT) care va conine sursa Spice i rezultatele analizei, se mai genereaz i un fiier care conine mesajele de eroare (cu extensia *. ERR) . Atenie! Spice este notoriu pentru dificultatea cu care se descoper n sursa SPICE cauza i natura erorilor, n ciuda sistemului de mesaje de eroare.
Instruciunile pentru descrierea modelelor i a subcircuitelor sunt: . X ... Apelare subcircuit . SUBCKT ... Descriere subcircuit . MODEL ... Descriere model . ENDS ... Sfrit descriere subcircuit Numele modelului este utilizat pentru a lega apelul de dispozitiv (primitiva) cu instruciunea ". MODEL .." corespunzatoare. Exemplu: pentru un tranzistor de tip 2N2368 avem : Q1 1 2 3 QN2368 i . MODEL QN2368 NPN ....... Modelele pentru dispozitivele semiconductoare utilizate au diverse origini : pentru TBJ se utilizeaz modelul Gummel-Poon (o dezvoltare a modelului Ebers-Moll), pentru tranzistoare MOS exist 6 nivele diferite de modelare (de la modelul Shichman-Hodges la un model semiempiric), etc. Pentru fiecare din aceste modele exist valori implicite ale parametrilor. Modelele (valorile asociate de parametrii) sunt organizate n biblioteci i inserate automat n sursa Spice prin mecanisme corespunzatoare, sau sunt construite ad hoc. Atentie!: o simulare Spice este precis doar n msura n care i modelele utilizate sunt! Subcircuitele reprezint seturi de elemente de circuit, de orice complexitate, care n mod obinuit sunt grupate astfel ncit s reprezinte o singur funcie electronic. Ele pot fi apelate analog unor subrutine. Exist reguli legate de ierarhii, domeniu de aciune (vizibilitate), pasare de parametrii; de exemplu ele pot fi imbricate dar nu i apelate recursiv, etc. Din fericire pentru utilizatori, toate simulatoarele SPICE actuale reduc la minim interaciunea utilizatorului cu sursa SPICE propriu-zis. Acesta are acces la resursele simulatorului printr-o interfa utilizator mult mai prietenoas. Interfaa utilizator (de tip GUI) este realizat prin intermediul unui pre-procesor (un editor de scheme) care va genera automat sursa Spice pe baza schemei electrice a circuitului si a unui post-procesor care va permite vizualizarea sub form grafic a rezultatelor simulrii (i cu eventuale prelucrri ale rezultatelor).
Circuite Integrate Numerice 0. Introducere SPICE si PSPICE 5
II. SIMULATORUL PSPICE Mediul PSPICE, care va fi utilizat in cadrul laboratorului. este disponibil, ncepnd de la versiunea 7, ca un modul al pachetului de programe OrCAD (Cadence Inc.), care ofer soluii complete pentru: editare scheme circuite electrice - Capture OrCAD; simulare circuite analogice, digitale i mixte - PSpice OrCAD; proiectare cablaje imprimate (PCB) - Layout OrCAD; proiectare VHDL i sintez circuite CPLD i FPGA - Express OrCAD; Actualmente(2004) mediul Orcad PSPICE se afl la versiunea 10.0. Exist implementri ale PSPICE si ale altor firme: Microsym si Microcap. Mediul PSPICE realizeaz o implementare complet a unui simulator SPICE i este unul din cele mai utilizate simulatoare SPICE att n mediul academic ct i n industrie. Denumirea complet a simulatorului propriu-zis este PSPICE A/D (Analog/Digital) el permitand si o simulare a circuitelor de mod mixt, care includ componente zise analogice (tranzistoare, diode, amplificatoare operationale, etc.), componente numerice (circuite MSI, SSI, LSI din diverse familii logice) cat si componente de mod mixt (convertoare analog- numerice, numeric analogice, etc.). Principalele tipuri posibile de analize (simulri) care se pot realiza cu acest program sunt: Analize DC Sweep(curent continuu), AC (curent alternativ) i de regim tranzitoriu (in domeniul timp) - prin care se testeaz rspunsul circuitului la diferii stimuli de intrare; Analize parametrice, Monte Carlo i de sensibilitate - care evideniaz funcionarea circuitului n urma modificrii valorilor componentelor si a factorilor de influenta. Analize digitale de timp critic - care au rolul de a descoperi problemele de timing ce apar n urma utilizrii unei combinaii de semnale transmise lente i rapide. Pentru a realiza o analiz complet a circuitelor electronice, PSPICE (sau orice simulator SPICE) trebuie s aib informaii despre: - componentele circuitului i modul lor de interconectare (topologia circuitului); - modelele de simulare corespunztoare componentelor circuitului - semnalul de intrare (de tip surs de tensiune/curent) utilizat pentru testare - tipul de analiz ce trebuie realizat - modalittile de prezentare a rezultatelor simulrii Astfel, el (simulatorul) afl n strns legtur cu o serie de programe utilitare, care realizeaz configurarea (setarea) parametrilor circuitului i analizei. Modul de interaciune ntre PSPICE i celelalte programe este prezentat n figura urmtoare:
OrCAD Model Editor OrCAD Stimulus Editor OrCAD PSpice fiier semnal intrare (stimulus file) fisier de comenzi (include file) biblioteci globale de modele biblioteci locale de modele OrCAD Capture Circuite Integrate Numerice 0. Introducere SPICE si PSPICE 6
OrCAD Capture OrCAD Capture este practic un editor complex de scheme electrice utilizat pentru descrierea si pregtirea circuitului n vederea simulrii. El reprezint principala interfat cu utilizatorul, prin intermediul lui realizndu-se gestionarea unui proiect (Project): - plasarea i conectarea simbolurilor grafice ale componentelor; - definirea semnalelor de intrare; - activarea unei sau mai multor analize; - determinarea (marcarea) punctelor din circuit (a nodurilor), pentru care se dorete afiarea rezultatelor; Astfel, dup pregtirea complet a proiectului pentru simulare, CAPTURE genereaz dou tipuri de fiiere: - un fiier lista de legturi (netlist) - *.NET, care conine numele dispozitivelor, valorile i modalitatea de conectare cu alte dispozitive - un fiier circuit - *.CIR, care conine comenzi ce descriu modul de rulare a simulrii; PSPICE citete aceste fiiere i afieaz ntr-un mod grafic rezultatele simulrii.
OrCAD Stimulus Editor Simulus editor este un editor grafic pentru semnalul de intrare, ce permite definirea formei semnalului de intrare, n domeniul timp, utilizat la testarea rspunsului circuitului pe durata simulrii. Utiliznd Stimulus Editor, se pot defini: - stimuli analogici: ce pot conine semnale sinusoidele, semnale tip impuls, semnale tip impuls exponenial, semnale modulate n frecven; - stimuli digitali: ce pot varia de la simple semnale de ceas pn la forme complexe de impulsuri; Fiierul generat de Stimulus Editor - *.STL , conine informaii despre formele de und ale semnalelor de intrare; Observaie: O alt modalitate de creare a fiierului semnalului de intrare (stimulus file), este definirea lui manual, utiliznd opiunea Model Text View din OrCAD Model Editor - (extensia tipic a fiierului este - *.STM)
OrCAD Model Editor Orcad Model Editor realizeaz o definire de model (modificarea valorilor implicite ale parametrilor acestuia) pentru componentele utilizate de PSPICE n timpul simulrii. Deasemenea, el realizeaz i o afiare grafic a caracteristicilor dispozitivelor, putndu-se astfel verifica/modifica funcionarea dispozitivelor pe baza modelului lor. Dup terminarea editrii modelului, n mod automat el ataaz componentei modelul editat, astfel nct componenta modelat poate fi utilizat imediat n simulare. OrCAD Model Editor folosete pentru modelarea dispozitivelor o bibliotec de modele -fisiere *.LIB . Aceast bibliotec de modele este un fiier care conine caracteristicile electrice coresepunztoare uneia sau mai multor componente. PSPICE va utiliza aceste caracteristici pentrua determina modul de rspuns al dispozitivului la diferii stimuli electrici de intrare.
Fiierul de comenzi (Include file) Este un fiier definit de utilizator, care conine: - comenzi PSPICE; Circuite Integrate Numerice 0. Introducere SPICE si PSPICE 7 - comentarii text suplimentare, pe care utilizatorul dorete s le adauge n fiierul de ieire al simulrii; Tipic acest fiier are extensia *.INC.
Fiiere generate de PSPICE. Dup citirea fiierului circuit (*.CIR), a fiierului list de legturi (*.NET), a bibliotecilor de modele (*.LIB) i altor posibile fiiere de intrare (stimulus file - *.STL i include file - *.INC), PSPICE poate ncepe simularea. Rezultatele simulrii sunt memorate n dou fiiere: - un fiier de date, care conine rezultatele simulrii, ce pot fi afiate grafic. PSPICE citete acest fiier n mod automat i afieaz grafic formele de und ce reflect funcionarea circuitului; - un fiier de ieire cu extensia *.OUT ce conine: lista de legturi (netlist) a circuitului, sintaxa comenzilor utilizate pentru simulare, rezultatele simulrii precum i mesajelede eroare sau avertizare ce apar n timpul simulrii.
Pentru un utilizator obinuit existena acestor fiiere este mai puin important, interaciunea cu mediul de programare putnd fi limitat la nivelul interfeei grafice utilizator (GUI).
Mediul PSPICE care va fi utilizat n cadrul laboratorului este o variant demonstrativ (o ediie special a versiunii 9.1-Student version, pentru utilizare in mediul academic, mai este inca disponibil la http://www.electronics-lab.com/downloads/schematic/013/ sau http://www.web-ee.com/Downloads/Simulator/simulation.htm) cu limitri din punct de vedere al numrului maxim de componente ale circuitului, numrului de maxim noduri, al numrului de biblioteci disponibile, etc. dar avnd altfel toate caracteristicile funcionale ale unui simulator complet.
OBSERVATIE FINALA Un simulator SPICE este doar un mijloc auxiliar pentru analiza sistemelor care utilizeaza circuite integrate numerice, deoarece prin natura lui de simulator la nivel de circuit, este un mijloc de analiz LENT, mai ales la analize in domeniul timpului (de tranzitoriu). Timpul de calcul este proportional cu numrul de componente, cu complexitatea modelelor utilizate de acestea si, nu in ultimul rand, cu numrul de noduri ale circuitului. Un circuit integrat numeric este de regul o structur mai mult sau mai putin complex (depinzand de gradul de integrare), alctuit dintr-un numr relativ mare de componente si avand un numr corespunztor de noduri. Astfel, un sistem care contine mai multe ciruite integrate numerice va avea o complexitate care va face nepractic simularea lui (datorit timpului exagerat de calcul). In astfel de situatii un simulator SPICE este util numai dac se vor utiliza modele simplificate ale circuitelor numerice. Modelele respective contin atat o dimensiune temporal (prin intermediul vitezelor de variatie ale semnalelor si a unor componente capacitive) cat si una electric, referitoare la caracteristicile curenttensiune(I/V) ale intrrilor si iesirilor. Un exemplu de astfel de descriere este descrierea IBIS (I/O Buffer Information Specification) care poate fi utilizat cu o gam larg de mijloace de simulare, inclusiv simulatoarele SPICE. O descriere IBIS nu este un model propriu-zis, dar pe baza ei se poate obtine simplu un model SPICE.