lucrarea de laborator nr - gheorghe asachi technical ...€¦ · laborator proiectare asistată de...

13
Laborator Proiectare asistată de calculator 2 Lucrarea nr. 5 Lucrarea de laborator nr. 5 Modelarea şi simularea circuitelor digitale şi mixte cu PSpice A/D Scopul lucrării: însuşirea cunoştinţelor privind: modelarea, descrierea şi simularea componentelor şi circuitelor digitale cu programul Pspice A/D; editarea schemelor în modulul Schematic, stabilirea parametrilor simbolurilor componentelor şi surselor din schemă, stabilirea parametrilor de simulare; simularea circuitelor mixte analog-digitale. I. Introducere Programul Pspice A/D poate simula atât circuite descrise la nivel de componente analogice (rezistoare, condensatoare, tranzistoare, etc) în care variabilele circuitului sunt tensiuni şi curenţi, cât şi circuite digitale descrise la nivel de componente sau blocuri logice în care variabilele circuitului sunt semnale logice. De asemenea, programul poate simula şi circuite mixte analog- digitale, trecerea de la partea analogică de circuit la cea digitală, şi viceversa, realizându-se prin inserarea automată a unor subcircuite de interfaţare A/D, respectiv D/A. Pe lângă dispozitivele analogice, PSpice are implementate şi suportă câteva tipuri de dispozitive digitale şi mixte prezentate în Tabelul 1. Tabelul 1. Dispozitive digitale şi mixte suportate de programul PSpice Clasa dispozitivelor Tip (litera asociată) Semnificaţie Primitive U Dispozitive digitale elementare (porţi logice, bistabile, etc) Stimuli U Generatoare de semnale digitale (stimulus) Interfaţa N O Intrare digitală Ieşire digitală Primitivele sunt utilizate în principal în subcircuite pentru modelarea completă a dispozitivelor logice. Dispozitivele stimuli sunt folosite pentru a genera semnale sau forme de undă digitale pentru intrările diverselor dispozitive digitale în vederea simulării. Dispozitivele interfaţă sunt utilizate în principal în subcircuitele care modelează interfeţele analog/digital şi digital/analog. II. Modelarea PSpice a dispozitivelor digitale Pachetul OrCAD PSpice conţine mai multe biblioteci de simboluri standard pentru un larg set de componente digitale din diverse tehnologii (TTL, CMOS, ECL). Fiecare componentă digitală este descrisă din punct de vedere electric printr-un model de dispozitiv digital sub forma unui subcircuit stocat într-un fişier bibliotecă de modele. Dacă într-un proiect sunt necesare componente digitale care nu se regăsesc în bibliotecile standard atunci utilizatorul poate defini noi modele digitale şi simboluri pentru componentele respective. Un model complet al unui dispozitiv digital are trei caracteristici principale: Comportarea funcţională (functional behavior) – descrisă de una sau mai multe primitive digitale comportamentale cuprinse într-un subcircuit. Comportarea în timp (timing behavior) – descrisă de unul sau mai multe modele temporale (Timing Models), primitive de întârziere pin-to-pin sau primitive de verificare a constrângerilor. Comportarea intrare/ieşire (I/O behavior) – descrisă de modelul I/O, interfaţa subcircuitului şi tensiunile de alimentare corespunzătoare familiei logice. 1

Upload: others

Post on 21-Sep-2020

17 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lucrarea de laborator nr - Gheorghe Asachi Technical ...€¦ · Laborator Proiectare asistată de calculator 2 Lucrarea nr. 5 Lucrarea de laborator nr. 5 Modelarea şi simularea

Laborator Proiectare asistată de calculator 2 Lucrarea nr. 5

Lucrarea de laborator nr. 5

Modelarea şi simularea circuitelor digitale şi mixte cu PSpice A/D

Scopul lucrării: însuşirea cunoştinţelor privind: modelarea, descrierea şi simularea

componentelor şi circuitelor digitale cu programul Pspice A/D; editarea schemelor în modulul Schematic, stabilirea parametrilor simbolurilor componentelor şi surselor din schemă, stabilirea parametrilor de simulare; simularea circuitelor mixte analog-digitale.

I. Introducere Programul Pspice A/D poate simula atât circuite descrise la nivel de componente analogice

(rezistoare, condensatoare, tranzistoare, etc) în care variabilele circuitului sunt tensiuni şi curenţi, cât şi circuite digitale descrise la nivel de componente sau blocuri logice în care variabilele circuitului sunt semnale logice. De asemenea, programul poate simula şi circuite mixte analog-digitale, trecerea de la partea analogică de circuit la cea digitală, şi viceversa, realizându-se prin inserarea automată a unor subcircuite de interfaţare A/D, respectiv D/A.

Pe lângă dispozitivele analogice, PSpice are implementate şi suportă câteva tipuri de dispozitive digitale şi mixte prezentate în Tabelul 1.

Tabelul 1. Dispozitive digitale şi mixte suportate de programul PSpice Clasa dispozitivelor Tip (litera asociată) Semnificaţie

Primitive U Dispozitive digitale elementare (porţi logice, bistabile, etc)

Stimuli U Generatoare de semnale digitale (stimulus)

Interfaţa N O

Intrare digitală Ieşire digitală

Primitivele sunt utilizate în principal în subcircuite pentru modelarea completă a dispozitivelor logice. Dispozitivele stimuli sunt folosite pentru a genera semnale sau forme de undă digitale pentru intrările diverselor dispozitive digitale în vederea simulării. Dispozitivele interfaţă sunt utilizate în principal în subcircuitele care modelează interfeţele analog/digital şi digital/analog.

II. Modelarea PSpice a dispozitivelor digitale Pachetul OrCAD PSpice conţine mai multe biblioteci de simboluri standard pentru un larg set

de componente digitale din diverse tehnologii (TTL, CMOS, ECL). Fiecare componentă digitală este descrisă din punct de vedere electric printr-un model de dispozitiv digital sub forma unui subcircuit stocat într-un fişier bibliotecă de modele. Dacă într-un proiect sunt necesare componente digitale care nu se regăsesc în bibliotecile standard atunci utilizatorul poate defini noi modele digitale şi simboluri pentru componentele respective.

Un model complet al unui dispozitiv digital are trei caracteristici principale: • Comportarea funcţională (functional behavior) – descrisă de una sau mai multe

primitive digitale comportamentale cuprinse într-un subcircuit. • Comportarea în timp (timing behavior) – descrisă de unul sau mai multe modele

temporale (Timing Models), primitive de întârziere pin-to-pin sau primitive de verificare a constrângerilor.

• Comportarea intrare/ieşire (I/O behavior) – descrisă de modelul I/O, interfaţa subcircuitului şi tensiunile de alimentare corespunzătoare familiei logice.

1

Page 2: Lucrarea de laborator nr - Gheorghe Asachi Technical ...€¦ · Laborator Proiectare asistată de calculator 2 Lucrarea nr. 5 Lucrarea de laborator nr. 5 Modelarea şi simularea

Laborator Proiectare asistată de calculator 2 Lucrarea nr. 5

Figura 1. Exemplu privind elementele modelului unui dispozitiv digital

În figura 1 se prezintă un exemplu în care se pot observa elementele care compun modelul

unui dispozitiv digital (o poartă NAND cu 2 intrări). Astfel, modelul este definit de un subcircuit în care este instanţiată o primitivă corespunzătoare porţii logice. Primitiva are associate un model de timing şi un model de intrare/ieşire. Modelul I/O, la rândul său, are ca parametri două subcircuite de interfaţare AtoD şi DtoA în care sunt instanţiate dispozitive de ieşire digitală, respectiv intrare digitală.

În continuare sunt prezentate detaliat cele trei caracteristici care compun modelul unui dispozitiv digital.

2.1. Comportarea funcţională Comportarea funcţională a modelului unui dispozitiv digital este definită de una sau mai

multe primitive digitale interconectate. Tipic, o diagramă logică a unei componente sau a unui bloc logic poate fi implementată direct cu primitivele furnizate de programul PspiceA/D. În Tabelul 2 sunt prezentate câteva din tipurile de primitive digitale din programul Pspice A/D.

2

Page 3: Lucrarea de laborator nr - Gheorghe Asachi Technical ...€¦ · Laborator Proiectare asistată de calculator 2 Lucrarea nr. 5 Lucrarea de laborator nr. 5 Modelarea şi simularea

Laborator Proiectare asistată de calculator 2 Lucrarea nr. 5

Tabelul 2. Tipuri de primitive digitale din programul Pspice A/D. Tip Descriere Tip Descriere

Porţi logice standard Porţi logice cu 3 stări (tri-state) BUF Buffer BUF3 Buffer tri-state INV Inversor INV3 Inversor tri-state AND Poartă AND AND3 Poartă AND tri-state NAND Poartă NAND NAND3 Poartă NAND tri-state OR Poartă OR OR3 Poartă OR tri-state NOR Poartă NOR NOR3 Poartă NOR tri-state XOR Poartă SAU-exclusiv XOR3 Poartă SAU-exclusiv tri-state NXOR Poartă SAU-NU exclusiv NXOR3 Poartă SAU-NU exclusiv tri-state INVA Arie de inversoare INV3A Arie de inversoare tri-state ANDA Arie de porţi AND AND3A Arie de porţi AND tri-state etc etc. Bistabile şi Latch-uri Alte primitive JKFF Bistabil JK activ front negativ DLYLINE Linie de întârziere DFF Bistabil tip D activ front pozitiv ROM Memorie read-only SRFF Latch tip SR RAM Memorie cu random access DLTCH Latch tip D ADC Convertor A/D multibit DAC Convertor D/A multibit

Formatul pentru descrierea SPICE a primitivelor digitale este similar cu cel al dispozitivelor

analogice cu deosebirea că sunt două modele în loc de unul, şi anume: - modelul temporal (Timing Model), care specifică întârzierile de propagare şi

constrângerile temporale cum sunt timpii de setup şi hold. - modelul I/O, care specifică informaţiile despre caracteristicile de intrare/ieşire

ale dispozitivului. Existenţa a două modele este justificată de faptul că, în timp ce informaţiile de timing sunt

specifice unui anumit dispozitiv logic, caracteristicile intrare/ieşire sunt specifice unei întregi familii logice. Astfel, toate dispozitivele logice din aceeaşi familie (de ex., 7400) au specificat acelaşi model I/O în timp ce fiecare dispozitiv are propriul model de timing.

Sintaxa pentru descrierea primitivelor digitale: U<nume> <tip_primitiva>[(valori_parametri)] + <nod_digital_power> <nod_digital_ground> +<nod1 [nod2 nod3 …]> +<nume_model_timing> <nume_model_I/O> +[MNTYMXDLY=<valoare_selectie_intarziere>] +[IO_LEVEL=<valoare_selectie_subcircuit_interfatare>]

unde: <tip_primitiva>[(valori_parametri)] – specifică tipul primitivei dispozitivului digital, de

exemplu AND, NOR, DFF etc. urmat de valoarea unuia sau mai mulţi parametri, în funcţie de tipul primitivei. Exemplu: NAND(4) – primitivă pentru o poartă NAND cu 4 intrări.

<nod_digital_power> <nod_digital_ground> – sunt nume pentru nodurile de power/ground

utilizate de subcircuitele de interfaţare care conectează nodurile analogice la nodurile digitale şi viceversa.

3

Page 4: Lucrarea de laborator nr - Gheorghe Asachi Technical ...€¦ · Laborator Proiectare asistată de calculator 2 Lucrarea nr. 5 Lucrarea de laborator nr. 5 Modelarea şi simularea

Laborator Proiectare asistată de calculator 2 Lucrarea nr. 5

În general aceste noduri sunt noduri globale şi au nume specifice pentru fiecare tehnologie. De exemplu, numele impicite ale nodurilor globale de power/ground pentru tehnologiile TTL şi CD4000 (CMOS seria 4000) sunt:

TTL: $G_DPWR - 5 volţi CD4000: $G_CD4000_VDD – 5 volţi $G_DGND – 0 volţi $G_CD4000_VSS – 0 volţi <nod1 [nod2 nod3 …]> – sunt nume pentru nodurile la care se conectează intrările şi ieşirile

primitivei. La un nod pot fi conectate terminale ale dispozitivelor analogice, digitale sau ale ambelor tipuri. Dacă la un nod sunt conectate simultan dispozitive digitale şi analogice atunci PSpice inserează automat un subcircuit de interfaţare pentru a efectua translarea dintre stările ieşirii digitale şi tensiuni.

<nume_model_timing> – este numele pentru modelul de timing care descrie caracteristicile

temporale ale dispozitivului digital, cum ar fi întârzierea de propagare sau timpii de setup şi hold. Fiecare parametru din modelul de timing are o valoare minimă (MN), tipică (TY) şi maximă (MX) care poate fi selectată la momentul efectuării setărilor analizei (Analysis Setup) pentru circuit.

<nume_model_I/O> – numele pentru modelul I/O care descrie caracteristicile de loading şi

driving ale dispozitivului şi care conţine, de asemenea, numele a cel mult 4 subcircuite de interfaţare DtoA şi AtoD pe care PSpice le inserează automat în cazul nodurilor de interfaţare analog-digitală.

MNTYMXDLY=<valoare_selectie_intarziere> – parametru opţional care determină

selectarea din modelul de timing al dispozitivului a uneia din valorile minim, tipic sau maxim ale întârzierii. Implicit MNTYMXDLY=0.

<valoare_selectie_intarziere> poate fi: 0 → MNTYMXDLY ia valoarea curentă a opţiunii DIGMNTYMX (implicit = 2) 1 → minim 2 → tipic 3 → maxim 4 → worst-case timing (min-max).

IO_LEVEL=<valoare_selectie_subcircuit_interfatare> – parametru opţional care selectează

din modelul I/O al dispozitivului digital unul din cele 4 subcircuite de interfaţare AtoD sau DtoA. Subcircuitul de interfaţare selectat este apelat automat de PSpice cînd la un nod al dispozitivului digital este conectat şi un dispozitiv analogic. Implicit IO_LEVEL=0.

Semnificaţia valorilor pe care le poate lua parametrul IO_LEVEL este următoarea: 0 → IO_LEVEL ia valoarea curentă a opţiunii DIGIOLVL (implicit = 1)

1 → apelează subcircuitele de interfaţare AtoD1/ DtoA1 2 → apelează subcircuitele de interfaţare AtoD2/ DtoA2 3 → apelează subcircuitele de interfaţare AtoD3/ DtoA3 4 → apelează subcircuitele de interfaţare AtoD4/ DtoA4 Exemple: U1 NAND(2) $G_DPWR $G_DGND 1 2 10 D0_GATE IO_DFT U2 JKFF(1) $G_DPWR $G_DGND 3 5 200 3 3 10 2 D_293ASTD IO_STD U3 INV $G_DPWR $G_DGND IN OUT D_INV IO_INV + MNTYMXDLY=3 IO_LEVEL=2

4

Page 5: Lucrarea de laborator nr - Gheorghe Asachi Technical ...€¦ · Laborator Proiectare asistată de calculator 2 Lucrarea nr. 5 Lucrarea de laborator nr. 5 Modelarea şi simularea

Laborator Proiectare asistată de calculator 2 Lucrarea nr. 5

2.2 Caracteristicile de timing Comportarea în timp a modelului unui dispozitiv digital poate fi definită în unul din

următoarele două moduri: • Cu modelul de timing asociat unei primitive în care sunt specificaţi timpii de

întârziere şi parametrii de constrângere (timpi de setup, timpi de hold, etc) • Prin utilizarea primitivelor PINDLY şi CONSTRAINT care pot modela direct

întârzierile pin-to-pin şi constrângerile de timp pentru întregul model de dispozitiv. În cadrul acestui referat de laborator este prezentat numai modelul de timing deoarece acest

mod este folosit pentru specificarea parametrilor de timing a dispozitivelor din bibliotecile programului. Informaţii despre primitivele PINDLY şi CONSTRAINT pot fi aflate din manualele programului.

a) Modelul de timing

Toate primitivele digitale au asociat un model de timing prin care se specifică parametrii de

timp ai primitivei. Sintaxa pentru definirea modelului de timing este următoarea: .MODEL <nume_model_timing> <tip_model> (<nume_parametru> = <valoare> …) <tip_model> – reprezintă un cuvânt cheie prin care se specifică tipul de model de timing:

UIO – pentru modelul I/O digital UGATE – pentru porţi logice standard (AND, OR, NAND, etc.) UTGATE – pentru porţi tri-state (AND3, INV3, NAND3, etc.) UEFF – pentru bistabile - comutare pe front (JKFF şi DFF) UGFF – pentru latch-uri - comutare pe nivel (SRFF şi DLTCH) UDLY – pentru linia de întârziere digitală (DLYLINE) UADC – pentru convertorul analog-digital multibit (ADC) UDAC – pentru convertorul digital-analog multibit (DAC) UBTG – pentru porţi de transfer bidirecţionale (NBTG şi PBTG) UROM – pentru memorii read-only (ROM) URAM – pentru memorii cu random access (RAM) UPLD – pentru dispozitive logice programabile (PLAND, PLNAND, etc)

Parametrii de timp <nume_parametru> care pot fi specificaţi într-un model de timing depind de tipul primitivei şi sunt:

– Întârzierile de propagare (TP) – Timpii de setup (TSU) – Timpii de hold (TH) – Lăţimile pulsurilor (TW) – Timpii de comutare (TSW) Fiecare parametru de timp este, în plus, împărţit în trei valori: minim (MN), tipic (TY) şi

maxim (MX). De exemplu, întârzierea de propagare low-to-high (LH) tipică pentru o poartă logică se specifică cu parametrul TPLHTY. În cazul unui bistabil timpul minim de setup data-to-clock este specificat de parametrul TSUDCLKMN.

Exemple: 1) Model de timing pentru poarta NAND2 definită de primitiva U1 de mai sus:

.model DO_GATE ugate ( + tplhty=5.9ns tplhmx=10ns + tphlty=6.3ns tphlmx=10ns )

5

Page 6: Lucrarea de laborator nr - Gheorghe Asachi Technical ...€¦ · Laborator Proiectare asistată de calculator 2 Lucrarea nr. 5 Lucrarea de laborator nr. 5 Modelarea şi simularea

Laborator Proiectare asistată de calculator 2 Lucrarea nr. 5

2) Modelul de timing pentru bistabilul tip D (7474) din familia 74 TTL standard (7400.lib)

.model D_74 ueff ( + twpclmn=30ns twclklmn=37ns + twclkhmn=30ns tsudclkmn=20ns + thdclkmn=5ns tppcqlhmx=25ns + tppcqhlmx=40ns tpclkqlhty=14ns + tpclkqlhmx=25ns tpclkqhlty=20ns + tpclkqhlmx=40ns )

Observaţii: O1. Adesea, în cataloage şi în modelul de timing sunt specificate numai valorile

minime şi maxime ale timpilor de propagare. În acest caz, simulatorul evaluează valoarea minimă a timpului de propagare prin extrapolare pe baza valorii tipice.

De ex: TPxxMN =DIGMNTYSCALE*TPxxTY, unde uzual DIGMNTYSCALE=0.4. O2. Pentru detalii complete privind descrierea dispozitivelor digitale şi parametrii de

timing corespunzători fiecărui tip de primitivă logică se poate consulta manualul programului PSpice (PSpice Reference Guide) disponibil şi în format electronic în directorul unde este instalat pachetul OrCad PSpice.

2.3 Caracteristicile de intrare/ieşire (modelul I/O) Caracteristicile de intrare/ieşire ale unui dispozitiv digital sunt definite de un model I/O

asociat. O parte din caracteristici, cum sunt rezistenţa de ieşire şi capacitatea de sarcină sunt considerate pentru simularea digitală. Alte caracteristici, cum sunt subcircuitele de interfaţare şi sursele de alimentare sunt considerate la simularea mixtă analog/digitală.

a) Modelul I/O În comparaţie cu modelele de timing, unice pentru fiecare dispozitiv digital, modelele I/O sunt

comune unei întregi familii logice. De exemplu, în bibliotecile de modele, pentru familia 74LS sunt numai patru modele I/O: IO_LS – pentru intrări şi ieşiri standard, IO_LS_OC – pentru intrări standard şi ieşiri cu colector în gol (open-collector), IO_LS_ST – pentru intrări trigger Schmitt şi ieşiri standard şi, respectiv, IO_LS_OC_ST – pentru intrări trigger Schmitt şi ieşiri cu colector în gol.

Sintaxa pentru definirea unui model I/O este următoarea: .MODEL <nume_model_I/O> UIO [(<parametru>=<valoare> …)] Parametrii modelului I/O şi semnificaţia lor sunt prezentaţi în Tabelul 3. Toate modelele I/O

corespunzătoare dispozitivelor logice din bibliotecile de modele ale programului Pspice sunt definite în fişierul dig_io.lib.

Exemplu: Modelul I/O pentru intrări şi ieşiri standard, IO_LS, al familiei 74LS

.model IO_LS uio ( + drvh=108. drvl=157. + AtoD1="AtoD_LS" AtoD2="AtoD_LS_NX" + AtoD3="AtoD_LS" AtoD4="AtoD_LS_NX" + DtoA1="DtoA_LS" DtoA2="DtoA_LS" + DtoA3="DtoA_LS" DtoA4="DtoA_LS" + tswhl1=2.724ns tswlh1=2.104ns + tswhl2=2.724ns tswlh2=2.104ns + tswhl3=2.724ns tswlh3=2.104ns + tswhl4=2.724ns tswlh4=2.104ns + DIGPOWER="DIGIFPWR" )

6

Page 7: Lucrarea de laborator nr - Gheorghe Asachi Technical ...€¦ · Laborator Proiectare asistată de calculator 2 Lucrarea nr. 5 Lucrarea de laborator nr. 5 Modelarea şi simularea

Laborator Proiectare asistată de calculator 2 Lucrarea nr. 5

Tabelul 3. Parametrii modelului I/O Parametru model I/O Semnificaţie U.M. Valoare

implicită Utilizare

INLD Capacitatea la intrare F 0 OUTLD Capacitatea la ieşire F 0

La calculul capacităţii de sarcină pentru evaluarea timpului de propagare

DRVH Rezistenţa de ieşire la nivel high ohm 50 DRVL Rezistenţa de ieşire la nivel low ohm 50

La determinarea “tăriei” ieşirii.

DRVZ Rezistenţa de ieşire în starea Z ohm 250KΩ INR Rezistenţa de la intrare ohm 30 KΩ TSTOREMN Timp minim de stocare pentru un

net pentrua fi simulat ca o sarcină sec 1ms

La determinarea net-urilor care trebuie să fie simulate ca net-uri de stocare a sarcinii (înaltă impedanţă)

AtoDn Nume subcircuit interfaţă AtoD level n (n=1…4) AtoD

implicit

DtoAn Nume subcircuit interfaţă DtoA level n (n=1…4) DtoA

implicit

Specifică numele subcircuitelor de interfaţare A/D respectiv D/A.

TSWLHn Timp comutare LH pentru interfaţa DtoAn (n=1 … 4) sec 0

TSWHLn Timp comutare HL pentru interfaţa DtoAn (n=1 … 4) sec 0

Se scad din timpul de propagare a dispozitivului la ieşirile care se conectează la nodurile interfeţei.

TPWRT Prag de rejecţie lăţime puls sec t. propag

DIGPOWER Nume subcircuit sursă alimentare DIGIFPWR Nume subcircuit apelat de simulator la crearea interfeţelor AtoD şi DtoA

2.4 Calculul întârzierii de propagare Din cele prezentate mai sus caracteristicile de timing ale primitivelor digitale sunt

determinate atât de modelele de timing cât şi de modelele I/O. Modelele de timp specifică timpii de propagare şi constrângerile (timp de setup, hold) în timp ce modelele I/O specifică încărcarea la intrare şi ieşire, rezistenţele precum şi timpii de comutare.

Când ieşirea unui dispozitiv digital se conectează la un alt dispozitiv digital, întârzierea totală de propagare a dispozitivului este dată de suma dintre timpii de întârziere specificaţi în modelul de timing al dispozitivului şi întârzierea datorată încărcării la ieşire (loading delay).

Astfel, întârzierea de încărcare tpLOAD este calculată pe baza capacităţii totale CTOTAL din nodul de la ieşire şi a rezistenţelor de ieşire RDRIVE a dispozitivului driver:

tpLOAD = RDRIVE·CTOTAL·ln(2) Capacitatea totală CTOTAL din nodul de la ieşire este calculată ca suma tuturor capacităţilor de

intrare sau ieşire (parametrii OUTLD şi INLD din modelul I/O) a tuturor dispozitivelor conectate la acel nod. Rezistenţa RDRIVE este dată de parametrii DRVL şi DRVH din modelul I/O al dispozitivului driver.

Înainte de efectuarea unei simulări programul calculează întârzierile de încărcare pentru toate ieşirile tuturor dispozitivelor din circuit astfel că întârzierile totale de propagare sunt calculate în timpul simulării prin însumarea întârzierilor de încărcare precalculate şi întârzierile din modelele de timing.

Observaţii: - întârzierea de încărcare pentru un dipozitiv nu este utilizată atunci când timpii

de propagare (de ex, TPLH...) din modelul de timing sunt 0. - când ieşirea unui dispozitiv logic se conectează la un dispozitiv analogic

întârzierea de propagare este calculată ca diferenţa dintre timpul de propagare din modelul de timing şi timpul de tranziţie din modelul I/O.

7

Page 8: Lucrarea de laborator nr - Gheorghe Asachi Technical ...€¦ · Laborator Proiectare asistată de calculator 2 Lucrarea nr. 5 Lucrarea de laborator nr. 5 Modelarea şi simularea

Laborator Proiectare asistată de calculator 2 Lucrarea nr. 5

III. Simularea digitală În general, datorită caracterului mai complex de definire a modelelor componentelor logice,

cu Pspice este relativ uşor să se efectueze simulări ale circuitelor digitale şi/sau mixte analog-digitale construite cu dispozitive existente în bibliotecile programului.

3.1 Nivele logice şi forţa ieşirii unui driver În PSpice, când un circuit este simulat, semnalele digitale pot lua valori dintr-un set predefinit

de stări digitale. Stările digitale sunt o combinaţie între nivelele logice ale unui nod şi “tăria” sau forţa (strength) ieşirii dispozitivului digital. Stările digitale predefinite în PSpice sunt următoarele:

0 – low, fals, nu, oprit 1 – high, adevărat, da, pornit R – rising (creştere – semnalul va trece din 0 în 1 cândva în timpul nivelului R) F – falling (cădere – semnalul va trece din 1 în 0 cândva în timpul nivelului F) X – necunoscut – poate fi high, low, intermediar sau instabil Z – înaltă impedanţă – poate fi high, low, intermediar sau instabil.

Dacă un nod digital aparţine ieşirilor mai multor dispozitive digitale atunci nivelul logic al

nodului respective este determinat de driverul având forţa cea mai mare. Dacă două drivere conectate la acelaşi nod au aceeaşi forţă dar nivele logice diferite, atunci nivelul nodului devine X (necunoscut).

PSpice acceptă 64 de nivele de forţă. Cel mai slab nivel de forţă este Z iar cel mai puternic este denumit forcing strength. Nivelul de forţă Z (înaltă impedanţă) corespunde, uzual, ieşirilor porţilor logice tri-state dexactivate.

3.2 Etapele simulării circuitelor digitale În cele ce urmează se prezintă etapele simulării circuitelor digitale plecând din modulul

Schematic din cadrul pachetului OrCad PSpice. Modulul Schematic se lansează în execuţie plecând din Start→Programs→OrCad ... →Schematic.

Simularea unui circuit digital cuprinde şase etape: 1. Desenarea circuitului 2. Definirea stimulilor 3. Verificarea şi generarea netlistului circuitului. 4. Stabilirea şi ajustarea parametrilor de simulare 5. Startarea simulării 6. Vizualizarea şi analiza rezultatelor

3.2.1. Desenarea schemei circuitului

a) Selectarea şi plasarea componenetelor în pagină se realizează cu combinaţia de taste CTRL-G sau din meniu Draw->Get New Part. Apare fereastra de dialog din figura de mai jos. La rubrica Part Name se introduce numele simbolului componentei (de ex. R – pentru rezistor, C – pentru condensator, AGND – pentru masă, etc.). Pentru componentele digitale trebuie introdus codul de catalog al acestora. Deoarece toate componentele digitale aferente unei tehnologii sunt grupate în fişiere bibliotecă este recomandat să se vizualizeze lista de componente dintr-o bibliotecă selectând butonul Libraries. De exemplu, dacă dorim să desenăm un circuit cu componente din familia 74 TTL standard, atunci selectăm biblioteca de simboluri 7400.slb.

8

Page 9: Lucrarea de laborator nr - Gheorghe Asachi Technical ...€¦ · Laborator Proiectare asistată de calculator 2 Lucrarea nr. 5 Lucrarea de laborator nr. 5 Modelarea şi simularea

Laborator Proiectare asistată de calculator 2 Lucrarea nr. 5

b) Trasarea conexiunilor dintre componente – se realizează tastând combinaţia CTRL-W

sau din meniu Draw->Wire. Dupa desenarea traseelor dorite se apasă tasta Esc. c) Etichetarea conexiunilor – se realizează executând dublu-click pe conexiunea ce se

doreşte a fi etichetată. Se preferă etichetarea cu nume sau cifre sugestive, pentru uşurinţa urmăririi şi vizualizării semnalelor de interes în urma simularii (ex: in, out, N1, 1, etc.).

3.2.2. Definirea stimulilor Stimulii digitali definesc forma semnalelor digitale care se aplică la intrările componentelor

digitale şi joacă rolul similar al surselor independente de tensiune sau curent pentru circuitele analogice. Simbolurile pentru stimulii digitali se găsesc în biblioteca source.slb şi sunt în număr de 5 cu următoarele nume:

DigClock – generează semnal de clock periodic STIM1 – generează semnal pe 1 bit STIM4 – generează semnal pe 4 biţi STIM8 – generează semnal pe 8 biţi STIM16 – generează semnal pe 16 biţi

Odată ce un stimul digital au fost plasat în schemă se pot stabili parametrii semnalului pe care trebuie să îl genereze prin executarea unui dublu-click pe simbolul acestuia. Parametrii stimulului DigClock (fereastra de mai jos):

9

Page 10: Lucrarea de laborator nr - Gheorghe Asachi Technical ...€¦ · Laborator Proiectare asistată de calculator 2 Lucrarea nr. 5 Lucrarea de laborator nr. 5 Modelarea şi simularea

Laborator Proiectare asistată de calculator 2 Lucrarea nr. 5

DELAY – întârzierea după care începe prima tranziţie ONTIME – durata (în sec) în starea “1” logic OFFTIME – durata (în sec) în starea “0” logic STARTVAL – valoarea la momentul de timp 0.

Parametrii stimulului STIM1 (figura de mai jos):

TIMESTEP – numărul de secunde pe ciclu de clock sau pasul. Dacă în liniile COMMAND timpii la care au loc tranziţii sunt exprimaţi în număr de cicli (cu sufixul c) atunci momentele de timp corespunzătoare (exprimate în secunde) sunt calculate ca produs între TIMESTEP şi numărul de cicli. Implicit TIMESTEP are valoarea 0 şi nu are efect dacă timpii din liniile COMMAND sunt exprimaţi în secunde (sufixul s) COMMAND1 …16 – specifică, sub diverse variante, câte o comandă pentru specificarea formei de undă a semnalului ce va fi generat de stimul. Forma cea mai simplă a unei comenzi corespunde programării unei tranziţii la un anumit moment de timp: <timp> <valoare_logica> De exemplu, în figura de mai sus, sunt specificate 3 comenzi pentru 3 tranziţii:

- la t = 0s semnalul ia valoarea “1” logic; - la t = 100ns semnalul va lua valoarea “0” logic; - la t = 200ns semnalul va lua valoarea “1” logic după care rămâne în acestă stare.

Lista completă a comenzilor pentru generarea formelor de undă digitale este următoarea:

<timp> <valoare> LABEL=<nume_eticheta> <timp> GOTO <nume_eticheta> <n> TIMES <timp> GOTO <nume_eticheta> UNTIL GT <valoare> <timp> GOTO <nume_eticheta> UNTIL GE <valoare> <timp> GOTO <nume_eticheta> UNTIL LT <valoare> <timp> GOTO <nume_eticheta> UNTIL LE <valoare> <timp> INCR BY <valoare> <timp> DECR BY <valoare> REPEAT FOREVER REPEAT <n> TIMES ENDREPEAT

Valorile timpilor pot fi exprimate în secunde (de exemplu, 80ns) sau în cicli de clock, folosind

sufixul c (de exemplu, 8c), aşa cum s-a menţionat mai sus la opţiunea TIMESTEP. De asemenea valorile timpilor pot fi absolute sau relative faţă de valoarea anterioară. Timpii relativi se specifică folosind prefixul +, de exemplu +50ns sau +3c.

10

Page 11: Lucrarea de laborator nr - Gheorghe Asachi Technical ...€¦ · Laborator Proiectare asistată de calculator 2 Lucrarea nr. 5 Lucrarea de laborator nr. 5 Modelarea şi simularea

Laborator Proiectare asistată de calculator 2 Lucrarea nr. 5

Exemple: 1) Şir de comenzi pentru generarea unei forme de undă periodice

COMMAND1: 0s 0 ;La t=0 initializeaza semnalul cu valoarea 0. COMMAND1: REPEAT FOREVER ;repeta bucla la infinit COMMAND1: +5ns 1 ;dupa 5ns semnalul va lua valoarea 1 COMMAND1: +5ns 0 ;dupa 5ns semnalul va lua valoarea 0 COMMAND1: ENDREPEAT

2) Şir de comenzi pentru un stimul care generează două semnale. Timpii sunt specificaţi

prin unităţi de cicli, valoarea unui ciclu fiind stabilită la 1ns. COMMAND1: TIMESTEP=1ns ; durata unui ciclu este setata la 1ns. COMMAND1: 0c 00 ; la t=0ns ambele semnale sunt setate cu valoarea 0. COMMAND1: REPEAT 4 TIMES ; ce este în buclă se va repeta de 4 ori COMMAND1: +1c 01 ; după 1ns semnalul 1 ia valoarea 0 şi semnalul 2 ia valoarea 1. COMMAND1: +2c 11 ; după 2ns ambele semnale iau valoarea 1. COMMAND1: ENDREPEAT

3.2.3. Verificarea schemei (ERC) şi generarea netlistului circuitului. Începând cu acest punct toate etapele care urmează

se efectuează cu ajutorul comenzilor din submeniul Analysis (figura alăturată).

Verificarea schemei din punct de vedere electric (ERC – Electrical Rule Check) se realizează selectând Analysis->Electrical Rule Check. În cadrul acestei verificări programul verifică schema astfel încât aceasta să poată fi simulată. În caz că sunt componente cu terminale neconectate (lăsate “în aer”) sau parametrii nu sunt definiţi corespunzător programul va genera un mesaj de eroare. Daca circuitul este corect, va apare mesajul ERC Complete.

Generarea netlistului schemei(fişierul .NET). Orice

simulator de tip SPICE citeşte datele de intrare despre circuitul ce urmează a fi simulat din descrierea în modul text a acestuia. Ca urmare, reprezentarea schematică a circuitului trebuie tranformată în descriere text conform sintaxei SPICE. Descrierea în mod text a unui circuit poartă numele de netlist.

Generarea netlistului circuitului din schemă se face cu comanda Analysis->Create Netlist. În urma acesteia netlistul circuitului va fi creat în cadrul uni fişier cu extensia .net.

Fişierul netlist (.NET) poate fi vizualizat cu comanda Analysis->Examine Netlist.

3.2.4. Stabilirea şi ajustarea parametrilor de simulare

Se specifică tipurile de analiză ce se doresc a fi efectuate si parametrii corespunzatori acestora (Analysis->Setup). Din fereastra aparută se bifează tipul de analiza dorit. Pentru a specifica parametrii analizei dorite se da click pe butonul corespunzator analizei selectate. Pentru

11

Page 12: Lucrarea de laborator nr - Gheorghe Asachi Technical ...€¦ · Laborator Proiectare asistată de calculator 2 Lucrarea nr. 5 Lucrarea de laborator nr. 5 Modelarea şi simularea

Laborator Proiectare asistată de calculator 2 Lucrarea nr. 5

simularea digitală se selectează Transient (simulare în domeniul timp) şi apoi Digital Setup pentru a specifica condiţiile şi parametrii simulării digitale.

Prin selectarea butonului Digital Setup se deschide fereastra de mai jos în care se pot selecta

trei categorii de opţiuni: - care valori ale parametrilor din modelul de timing să fie considerate (min, typ,

max sau worst-case) - tipul de interfaţă analog-digitală (level=1 …4) - modul de iniţializare al bistabilelor

3.2.4. Startarea simulării

Startarea simulării se efectuează cu selectând din meniu Analysis->Simulate sau, direct, apasând tasta functionala F11.

3.2.5 Vizualizarea şi analiza rezultatelor În urma simulării formele de undă ale semnalelor pot fi vizualizate grafic în modulul Probe.

Uzual acesta se lansează în mod automat. Deschiderea manuală a modulului Probe se face selectând Analysis -> Run Probe sau, direct, cu tasta funcţională F12. Î

Fişierul de ieşire (.out) poate fi vizualizat selectând Analysis -> Examine Output

12

Page 13: Lucrarea de laborator nr - Gheorghe Asachi Technical ...€¦ · Laborator Proiectare asistată de calculator 2 Lucrarea nr. 5 Lucrarea de laborator nr. 5 Modelarea şi simularea

Laborator Proiectare asistată de calculator 2 Lucrarea nr. 5

Aplicaţii:

1. a) Să se deseneze circuitul bistabilului din figura de mai jos în care porţile NAND3 sunt considerate din familia logică 74 TTL standard (biblioteca de modele 7400.slb). Se va căuta codul care corespunde acestei componente. b) Să se vizualizeze în biblioteca 7400.lib modelul porţii logice NAND3 şi să se noteze modelul de timing şi modelul IO aferent acesteia. Notaţi din modelul de timing valorile întârzierilor.

c) Să se efectueze simularea logică a circuitului considerând ca la intrări se aplică formele de undă digitale prezentate mai jos. Simularea se va efectua la început considerând valorile tipice pentru parametrii din modelul de timing, apoi pentru valorile maxime şi, respectiv worst-case. Vizualizaţi rezultatele pentru fiecare caz în parte şi apreciaţi dacă formele de undă sunt în concordanţă cu modul de funcţionare a unui bistabil D.

13