Sunteți pe pagina 1din 8

Electronica digitală – 0.

Introducere SPICE si PSPICE (Orcad, Cadence)

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 răspândit pentru circuite electronice, în
virtual orice tip de aplicaţie .
Deşi SPICE a fost supus unor dezvoltări succesive, nucleul algoritmilor de bază a
rămas acelaşi, fiind validat astfel de proba timpului.
Numeroşi producători de software au realizat transportul lui pe un mare număr de
platforme de lucru având suficientă putere de calcul (sisteme mari, mini sisteme, staţii de
lucru, PC-uri ), adăugându-i diverse tipuri de analiză şi facilităţi orientate utilizator.

I.2. Descrierea simulatorului Spice


Descrierea sumară care urmează este prezentată ca o referinţă, ea este utilă mai ales
pentru variante de implementare a simulatorului cum ar fi PSPICE al firmei Cadence (Orcad).
Nu fac obiectul acestei discuții interfețele grafice utilizator, specifice unui anumit
produs!
Un circuit este descris în vederea analizei printr-o secvenţă de instrucţiuni 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) Instrucţiuni de control a analizei
c) Instrucţiuni de control a afişării rezultatelor
d) Descrierea topologiei circuitului
e) Descrierea surselor de stimulare şi a surselor de alimentare
f) Descrierea modelelor şi/sau a sub circuitelor utilizate (eventual)
g) Instrucţiune . END

Poziţiile a)şi g) sunt obligatorii.


Descrierea topologiei circuitului şi a surselor se face cu ajutorul unor instrucţiuni
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ă

1
Electronica digitală – 0. Introducere SPICE si PSPICE (Orcad, Cadence)

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

OBSERVATIE
De exemplu, încercarea de a utiliza o sursa de tensiune al cărui nume nu începe cu litera
V va genera o eroare, mai mult sa mai puțin ușor de depistat!
Un nume de până la 7 caractere poate fi adăugat 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 opţionali. De exemplu pentru rezistenţe parametrul obligatoriu este valoarea
acesteia.
Numerele utilizate la descrierea de valori pot fi introduse ca numere în virgulă mobilă,
în formatul ştiinţific (exponenţial, "E") sau scalate de următoarele litere (prefixele SPICE
pentru unităţi de măsură):

T =1E12 K=1E3 N=1E-9


G =1E9 M=1E-3 P=1E-12
MEG=1E6 U=1E-6 F=1E-15

Atenţie la introducerea unităţilor de măsură deoarece în absenţa scalării 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)
OBSERVATIE
De exemplu, un capacitor a cărui valoare a fost dată ca 1, fără nici o unitate de măsură,
va avea capacitatea de 1 Farad! Si de aici pot rezulta erori sau comportări aberante ale
circuitului, mai mult sa mai puțin ușor de depistat!

Fiecare element de circuit este astfel definit printr-o instrucţiune conţinând 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 următoarele restricţii:
- 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 puţin 2 conexiuni din care una să includă o cale de curent de
cc la masă;
- buclele de surse de tensiune sunt ilegale;

2
Electronica digitală – 0. Introducere SPICE si PSPICE (Orcad, Cadence)

- buclele de inductori sunt ilegale;


Numerele de noduri nu trebuie sa fie neapărat în secvenţă.

O altă categorie de instrucţiuni sunt cele de control al simulării: 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 opţiuni:

i) Analiză de curent alternativ:


.AC - Analiză in domeniul frecvenţă, semnal mic; utilizată de obicei pentru
determinarea caracteristicilor de frecvenţă (amplitudine şi fază);
.NOISE - Analiză de zgomot dependentă de frecvenţă şi utilizată numai în
conjuncţie cu analiza de alternativ.
.DISTO - Analiză de distorsiuni mici care nu sunt puse în evidenţa 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 funcţionare; este implicită de obicei, chiar
dacă nu se cere alt tip de analiză .
.SENS - Analiza sensibilităţii în cc; Spice nu realizează acest tip de analiză în curent
alternativ!
.TF - Determinarea funcţiei 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 menţionate în instrucţiunea
.PRINT.
.NODESET - Se stabilesc (se forţează ) potenţiale iniţiale 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 frecvenţă şi fază.
.IC - Se iau în considerare condiţiile iniţiale (descrise printr-un câmp de tip UIC)
pentru capacitori (tensiune la borne) şi inductori (curent iniţial).
Exemple:
.TRAN .1US 10US - analiză de tranzitoriu, pe intervalul 0-10µsec şi pasul de timp
0.1µsec.
. AC DEC 10 1HZ 1MEGHZ - analiză de alternativ, pe 10 decade.
La analiza în domeniul timp (.TRAN) se utilizează pentru excitaţia circuitului diverse
tipuri de stimuli asociaţi 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 ..... exponenţială
PWL ..... o formă de undă descrisă prin aproximaţie liniară
SSFM .... o formă de undă modulată în frecvenţă

3
Electronica digitală – 0. Introducere SPICE si PSPICE (Orcad, Cadence)

Doar o singură astfel de opţiune 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

nivel jos (low) timpi de front (crestere, cadere)


timp intarziere initial
nivel ridicat (high)

Analiza de curent continuu (DC) are ca rezultat o colecţie de puncte statice de


funcţionare (cu inductorii scurtcircuitaţi şi condensatoarele considerate întrerupte). O
analiză de cc este oricum efectuată înainte de orice analiză de tranzitoriu sau alternativ
în vederea liniarizării modelelor dispozitivelor şi găsirii condiţiilor iniţiale
(determinarea iniţială a punctului static de funcţionare). Mărimile rezultate în urma
simulării: potenţialele de cc ale nodurilor, curenţii prin toate sursele de alimentare şi eventual
puterea totală disipată sunt memorate într-un fişier de ieşire (*.OUT).
Instrucţiunile referitoare la controlul afişării rezultatelor sunt .PRINT sau .PLOT.
Instrucţiunea .PRINT face ca valorile tensiunilor de nod asociate sau curenţilor asociaţi unor
surse să fie listate într-un fişier de ieşire (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 prelucrării sursei Spice, în afară de fişierul de ieşire (*.OUT) care va conţine
sursa Spice şi rezultatele analizei, se mai generează şi un fişier care conţine mesajele de
eroare (cu extensia *. ERR) .
Atenţie! Spice este notoriu pentru dificultatea cu care, in anumite situații, se
descoperă în sursa SPICE (si chiar in schema!) cauza şi natura erorilor, în ciuda
sistemului de mesaje de eroare.

Instrucţiunile pentru descrierea modelelor şi a sub circuitelor sunt:


.X ... Apelare sub circuit
. SUBCKT ... Descriere sub circuit
. MODEL ... Descriere model
. ENDS ... Sfârşit descriere sub circuit
Numele modelului este utilizat pentru a lega apelul de dispozitiv (primitiva) cu
instrucţiunea ". MODEL .." corespunzătoare.
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 corespunzătoare, sau sunt construite ad hoc.

4
Electronica digitală – 0. Introducere SPICE si PSPICE (Orcad, Cadence)

Atenție!: o simulare Spice este precisă doar în măsura în care şi modelele


utilizate sunt!
Sub circuitele reprezintă seturi de elemente de circuit, de orice complexitate, care în
mod obişnuit sunt grupate astfel încât să reprezinte o singură funcţie electronică. Ele pot fi
apelate analog unor subrutine. Există reguli legate de ierarhii, domeniu de acţiune
(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
interacţiunea utilizatorului cu codul sursă SPICE propriu-zis. Utilizatorul are acces la
resursele simulatorului printr-o interfaţă utilizator mult mai prietenoasă.
Interfaţa grafică utilizator (GUI) este realizată si prin intermediul unui pre-
procesor (un editor de scheme, Schematics) 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 simulării (şi cu eventuale prelucrări ale rezultatelor).

II. SIMULATORUL PSPICE


Mediul PSPICE, care va fi utilizat in cadrul laboratorului. este disponibil, începând
de la versiunea 7, ca un modul al pachetului de programe OrCAD (Cadence Inc.), care oferă
soluţii 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(2013) mediul Orcad PSPICE se află la versiunea 16.6. Există implementări ale
PSPICE si ale altor firme: Multisim (National Instruments), Microsym, Microcap, etc..
Mediul PSPICE realizează o implementare completă a unui simulator SPICE şi este
unul din cele mai utilizate simulatoare SPICE atât în mediul academic cât şi în industrie.
Denumirea completă a simulatorului propriu-zis este PSPICE A/D (Analog/Digital) el
permiţând si o simulare a circuitelor de mod mixt, care includ componente zise analogice
(tranzistoare, diode, amplificatoare operaţionale, 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 (simulări) care se pot realiza cu acest program sunt:
• Analize DC Sweep (de curent continuu), AC (curent alternativ) şi de regim
tranzitoriu (in domeniul timp) - prin care se testează răspunsul circuitului la diferiţi
stimuli de intrare;
• Analize parametrice, Monte Carlo şi de sensibilitate - care evidenţiază
funcţionarea circuitului în urma modificării 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 utilizării unei combinaţii de semnale transmise lente şi rapide.
Pentru a realiza o analiză completă a circuitelor electronice, PSPICE (sau orice
simulator SPICE) trebuie să aibă informaţii despre:
- componentele circuitului şi modul lor de interconectare (topologia
circuitului);
- modelele de simulare corespunzătoare componentelor circuitului
- semnalul de intrare (de tip sursă de tensiune/curent) utilizat pentru testare

5
Electronica digitală – 0. Introducere SPICE si PSPICE (Orcad, Cadence)

- tipul de analiză ce trebuie realizat


- modalităţile de prezentare a rezultatelor simulării
Astfel, el (simulatorul) află în strânsă legătură cu o serie de programe utilitare,
care realizează configurarea (setarea) parametrilor circuitului şi analizei. Modul de
interacţiune între PSPICE şi celelalte programe este prezentat în figura următoare:
OrCAD OrCAD
Capture Stimulus Editor
biblioteci
globale
de modele
OrCAD
Model Editor

fişier semnal intrare


(stimulus file)

biblioteci
locale fisier de comenzi
de modele OrCAD (include file)
PSpice

OrCAD Capture
OrCAD Capture este practic un editor complex de scheme electrice utilizat pentru
descrierea si pregătirea circuitului în vederea simulării. El reprezintă principala interfaţă
cu utilizatorul, prin intermediul lui realizându-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 doreşte
afişarea rezultatelor;
Astfel, după pregătirea completă a proiectului pentru simulare, CAPTURE generează
două tipuri de fişiere:
- un fişier lista de legături (netlist) - *.NET, care conţine numele dispozitivelor,
valorile şi modalitatea de conectare cu alte dispozitive
- un fişier circuit - *.CIR, care conţine comenzi ce descriu modul de rulare a
simulării;
PSPICE citeşte aceste fişiere şi afişează într-un mod grafic rezultatele simulării.

OrCAD Stimulus Editor


Stimulus editor este un editor grafic pentru semnalul de intrare, ce permite definirea
formei semnalului de intrare, în domeniul timp, utilizat la testarea răspunsului circuitului pe
durata simulării.
Utilizând Stimulus Editor, se pot defini:
- stimuli analogici: ce pot conţine semnale sinusoidele, semnale tip impuls, semnale
tip impuls exponenţial, semnale modulate în frecvenţă;
- stimuli digitali: ce pot varia de la simple semnale de ceas până la forme complexe
de impulsuri;

6
Electronica digitală – 0. Introducere SPICE si PSPICE (Orcad, Cadence)

Fişierul generat de Stimulus Editor - *.STL , conţine informaţii despre formele de


undă ale semnalelor de intrare;
Observaţie: O altă modalitate de creare a fişierului semnalului de intrare (stimulus
file), este definirea lui manuală, utilizând opţiunea Model Text View din OrCAD Model
Editor - (extensia tipică a fişierului 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 simulării. De
asemenea, el realizează şi o afişare grafică a caracteristicilor dispozitivelor, putându-se astfel
verifica/modifica funcţionarea dispozitivelor pe baza modelului lor. După terminarea editării
modelului, în mod automat el ataşează componentei modelul editat, astfel încât componenta
modelată poate fi utilizată imediat în simulare.
OrCAD Model Editor foloseşte pentru modelarea dispozitivelor o bibliotecă de
modele - fişiere *.LIB . Această bibliotecă de modele este un fişier care conţine
caracteristicile electrice corespunzătoare uneia sau mai multor componente. PSPICE va
utiliza aceste caracteristici pentru a determina modul de răspuns al dispozitivului la diferiţi
stimuli electrici de intrare.

Fişierul de comenzi (Include file)


Este un fişier definit de utilizator, care conţine:
- comenzi PSPICE;
- comentarii text suplimentare, pe care utilizatorul doreşte să le adauge în fişierul de
ieşire al simulării;
Tipic acest fişier are extensia *.INC.

Fişiere generate de PSPICE.


După citirea fişierului circuit (*.CIR), a fişierului listă de legături (*.NET), a
bibliotecilor de modele (*.LIB) şi altor posibile fişiere de intrare (stimulus file - *.STL şi
include file - *.INC), PSPICE poate începe simularea. Rezultatele simulării sunt memorate în
două fişiere:
- un fişier de date, care conţine rezultatele simulării, ce pot fi afişate grafic. PSPICE
citeşte acest fişier în mod automat şi afişează grafic formele de undă ce reflectă funcţionarea
circuitului;
- un fişier de ieşire – cu extensia *.OUT ce conţine: lista de legături (netlist) a
circuitului, sintaxa comenzilor utilizate pentru simulare, rezultatele simulării precum şi
mesajelede eroare sau avertizare ce apar în timpul simulării.

Pentru un utilizator obişnuit existenţa acestor fişiere este mai puţin importantă,
interacţiunea cu mediul de programare putând fi limitată la nivelul interfeţei grafice
utilizator (GUI).
Mediul PSPICE care va fi utilizat în cadrul laboratorului sunt variante demonstrative
denumite Demo Version, Student Version sau Student Edition (o ediție specială a
versiunilor 9.1, 16.3 sau 16.6 pentru utilizare in mediul academic).
Toate aceste versiuni au ca limitări:
- complexitatea circuitului care poate fi analizat, prin limitarea numărului maxim
de componente ale circuitului (de exemplu maxim 10 tranzistoare, maxim 65 de
primitive digitale/numerice) si a numărului maxim de noduri (maxim 75 de
noduri)

7
Electronica digitală – 0. Introducere SPICE si PSPICE (Orcad, Cadence)

- numărul de biblioteci este minimal, oferindu-se de fapt o singura biblioteca


numita generic EVAL dar care conține un număr destul de mare de componente,
arhisuficiente de altfel pentru contextul didactic al utilizării.
- Diverse alte limitări, vezi documentul Cadence OrCAD Lite Products Reference

In rest exista toate caracteristicile funcționale ale unui simulator complet.

Ultima versiune (2013) demo Orcad 16.6 (cu limitări similare vechii versiuni 9.1)
pentru toate produsele Orcad/Cadence o găsiţi aici:
http://www.cadence.com/products/orcad/pages/downloads.aspx.
Înainte de descărcare trebuie să vă înregistrați completând formularul on-line.
Pachetele de instalare, pentru utilizarea simulatoarelor pe calculatoarele personale, vi
se vor pune la dispoziție la laborator.

OBSERVATIE FINALA
Un simulator SPICE este doar un mijloc auxiliar pentru analiza sistemelor care
utilizează 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) si
evident daca e vorba de circuite complexe.
Timpul de calcul este proporţional cu numărul de componente, cu complexitatea modelelor
utilizate de acestea si, nu in ultimul rând, cu numărul de noduri ale circuitului.

Un circuit integrat numeric este de regulă o structură mai mult sau mai puţin
complexă (depinzând de gradul de integrare), alcătuită dintr-un număr relativ mare de
componente si având un număr corespunzător de noduri. Astfel, un sistem care conţine mai
multe circuite integrate numerice va avea o complexitate care va face nepractică simularea lui
(datorită timpului exagerat de calcul).
In astfel de situaţii un simulator SPICE este util numai dacă se vor utiliza modele
simplificate ale circuitelor numerice. Modelele respective conţin atât o dimensiune
temporală (prin intermediul vitezelor de variaţie ale semnalelor si a unor componente
capacitive) cat si una electrică, referitoare la caracteristicile curent–tensiune(I/V) ale intrărilor
si ieşirilor.
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, oferita tipic de un fabricant de componente, nu este
un model propriu-zis, dar pe baza ei se poate obţine relativ simplu un model SPICE.

S-ar putea să vă placă și