104
Cuprins Prefaţă 3 1 Familii logice 7 1.1 Consideraţii teoretice 7 1.1.1 Poarta TTL standard 7 1.1.2 Poarta logică CMOS 11 1.1.3 Zgomote şi reflexii 14 1.2 Demonstraţii practice 19 1.3 Probleme rezolvate 24 2 Sisteme combinaţionale 31 2.1 Consideraţii teoretice 31 2.1.1 Implementarea cu porţi logice 31 2.1.2 Implementarea cu multiplexoare/demultiplexoare 33 2.2 Demonstraţii practice 35 2.3 Probleme rezolvate 40 3 Circuite de impuls 45 3.1 Consideraţii teoretice 45 3.1.1 Circuite astabile 45 3.1.2 Circuite monostabile 48

Electronica Digitala Aplicatii

Embed Size (px)

Citation preview

Page 1: Electronica Digitala Aplicatii

Cuprins

Prefaţă 3

1 Familii logice 71.1 Consideraţii teoretice 7

1.1.1 Poarta TTL standard 71.1.2 Poarta logică CMOS 111.1.3 Zgomote şi reflexii 14

1.2 Demonstraţii practice 191.3 Probleme rezolvate 24

2 Sisteme combinaţionale 312.1 Consideraţii teoretice 31

2.1.1 Implementarea cu porţi logice 312.1.2 Implementarea cu multiplexoare/demultiplexoare 33

2.2 Demonstraţii practice 352.3 Probleme rezolvate 40

3 Circuite de impuls 453.1 Consideraţii teoretice 45

3.1.1 Circuite astabile 453.1.2 Circuite monostabile 48

Page 2: Electronica Digitala Aplicatii

3.1.3 Circuite bistabile 493.2 Demonstraţii practice 503.3 Probleme rezolvate 54

4 Sisteme secvenţiale 594.1 Consideraţii teoretice 59

4.1.1 Sisteme secvenţiale asincrone 594.1.2 Sisteme secvenţiale sincrone 624.1.3 Hazard 63

4.2 Demonstraţii practice 644.3 Probleme rezolvate 69

5 Structuri programabile 795.1 Consideraţii teoretice 79

5.1.1 Memoria ROM 795.1.2 Memoria RAM 805.1.3 Structuri PLD 815.1.4 Structuri FPGA 83

5.2 Demonstraţii practice 845.3 Probleme rezolvate 88

6 Analiza şi sinteza automată 916.1 Consideraţii teoretice 91

6.1.1 Analiza circuitelor prin simulare PSPICE 916.1.2 Sinteza circuitelor folosind limbajul VHDL 97

6.2 Demonstraţii practice 1016.3 Probleme rezolvate 106

Bibliografie 109

Page 3: Electronica Digitala Aplicatii

1 FAMILII LOGICE

Aplicaţiile din acest capitol îşi propun să prezinte familiile de porţi logice TTL şiCMOS, să facă un studiu comparativ al parametrilor şi caracteristicilor unor porţi logicerealizate în cele două tehnologii fundamentale şi să analizeze sursele posibile de zgomote însistemele reale cu circuite integrate numerice.

1.1 Consideraţii teoretice

1.1.1 Poarta TTL standard

Structura porţii ŞI-NU (NAND) în tehnologie TTL standard este dată în figura1.1. Dacă tensiunea pe cel puţin una dintre intrări este nulă, tranzistorul T1 are cel puţino joncţiune polarizată direct şi potenţialul bazei lui T1 este de circa 0,6V. În acestecondiţii, tranzistorii T2 şi T3 sunt blocaţi, iar tranzistorul T4 conduce, rezultând laieşire starea 1 logic. Tensiunea la ieşire este VOH (Voltage Output High):

V V V VOH CC BE T F D= − −( ) ( )4 1

V

AB Vout

cc

DA DB

D1T1

T2

T3

T4

R1 R2

R3

R44K 1K6 130

1K

A

BA. B

Fig. 1.1 Structura porţii ŞI-NU în tehnologie TTL standard

Page 4: Electronica Digitala Aplicatii

8 1 FAMILII LOGICE

Fig. 1.2 Caracteristica de transfer a inversorului TTL standard

Fig. 1.3 Consumul de curent de la sursa de alimentare

Dacă tensiunile pe intrări sunt în 1 logic, joncţiunea BC a tranzistorului T1 conduce,polarizând baza tranzistorului T2. Intrarea în conducţie a lui T2 determină şi conducţia luiT3, rezultând la ieşire 0 logic. Tensiunea la ieşire este VOL (Voltage Output Low):

V VOL CEsat T= ( )3

Caracteristica ( )V f Vout in= se numeşte caracteristica de transfer de tensiune a porţiişi are forma din figura 1.2, pentru o anumită tensiune de alimentare şi temperatură.Tensiunea de intrare se aplică simultan pe cele 2 intrări A şi B ale porţii, care devine astfelun simplu inversor. Variaţia consumului de curent de la sursa de alimentare se poate vedeape caracteristica din figura 1.3.

Standardul TTL garantează anumite valori de tensiune pentru cele patru nivele logicede ieşire şi intrare în poarta logică. Pentru o încărcare a ieşirii cu 10 intrări TTL standard(fan-out = 10), aceste nivele garantate sunt:

Page 5: Electronica Digitala Aplicatii

1.1 Consideraţii teoretice 9- VIL , nivelul de tensiune necesar pentru a avea 0 logic la intrare: V 8,0max =≤ ILIL VV- VIH , nivelul de tensiune necesar pentru a avea 1 logic la intrare: V 2min =≥ IHIH VV- VOL , nivelul de tensiune de la ieşire în starea 0 logic: V 4,0max =≤ OLOL VV- VOH , nivelul de tensiune de la ieşire în starea 1 logic: V 4,2min =≥ OHOH VV .

Caracteristica ( )I f Vin in= se numeşte caracteristică de intrare şi este reprezentată înfigura 1.4, pentru o anumită tensiune de alimentare şi temperatură. Caracteristica

( )V f Iout out= se numeşte caracteristică de ieşire. Există două caracteristici de ieşire, câteuna pentru fiecare din cele două stări logice (figurile 1.5 şi 1.6). Figura 1.7 prezintă ocomparaţie între caracteristicile de transfer pentru diverse grupe ale familiei logice TTL. Seobservă asemănarea lor, deci putem spune că toate grupele TTL se pot interconecta direct,cu observaţia că frecvenţa de lucru trebuie să fie mai mică decât frecvenţa maximă a celormai lente circuite din structură.

Structura porţii ŞI-NU cu colector în gol (open colector) este reprezentată în figura1.8. În circuitul de ieşire a tranzistorului cu colector în gol se conectează rezistenţa RC .Această modificare permite deplasarea nivelului semnalului logic de la ieşire din TTL(circa 0 - 4V) în 0 - Vcc , unde Vcc poate fi o tensiune mai mare de 5V. Configuraţia cucolector în gol permite şi realizarea funcţiei logice ŞI, prin conectarea directă a ieşirilor,fără a mai utiliza alte porţi logice în acest scop. Circuitul astfel obţinut se numeşte ŞICABLAT, deoarece funcţia ŞI a fost obţinută numai prin cablarea împreună a ieşirilor.

Fig. 1.4 Caracteristica de intrare Fig. 1.5 Caracteristica de ieşire în 1 logic

Fig. 1.6 Caracteristica de ieşire în 0 logic Fig. 1.7 Diverse grupe TTL

Page 6: Electronica Digitala Aplicatii

10 1 FAMILII LOGICE

V

AB Vout

cc

DA DB

T1T2

T3

R1 R2

R3

4K 1K6

1K

A

B A . B

RCRC

+

*

Fig. 1.8 Structura porţii ŞI-NU cu colector în gol

.

.

.

.

.

VCC

RC

n NIOH

IOH

IOH

IIH

IIH

.

.

.

.

.

VCC

RC

n N

IOL

I IL

I IL

curenţii în circuit pentru 1 logic curenţii în circuit pentru 0 logic

Fig. 1.9 Calculul rezistenţei RC

Dezavantajul acestei structuri este dat de faptul că rezistenţa de ieşire este dată devaloarea rezistenţei RC , valoare mai mare decât rezistenţa de ieşire a etajului în contratimpde la poarta standard.

Valoarea rezistenţei RC depinde de numărul n al porţilor cu colector în gol conectateîn paralel şi de numărul N al sarcinilor comandate. Din condiţia de respectare a nivelelorstandard de tensiune pentru fiecare dintre cele două nivele logice rezultă două valoripentru RC , iar valoarea rezistenţei se alege în acest interval.

pentru 1 logic:

( )V V n I N I R VOH CC OH IH C OH= − ⋅ + ⋅ ⋅ ≥ min , deci maxmax

minmax

IHOH

OHCCC INIn

VVR⋅+⋅

−=

pentru 0 logic:

( ) maxOLCILOLCCOL VRINIVV ≤⋅⋅−−= , deci maxmax

maxmin

ILOL

OLCCC INI

VVR⋅−

−=

Page 7: Electronica Digitala Aplicatii

1.1 Consideraţii teoretice 111.1.2 Poarta logică CMOS

Configuraţia logică fundamentală la circuitele CMOS (Complementary-symmetryMOS) este cea de inversor, configuraţie prezentată în figura 1.10. Dacă la intrare seaplică nivelul logic 1 (tensiunea V+), tranzistorul T1 intră în conducţie şi tranzistorulT2 se blochează, iar la ieşire nivelul logic este 0 (o tensiune practic nulă). La aplicareaunei tensiuni nule pe intrare se blochează T1 şi intră în conducţie T2, ieşirea fiind înacest caz la nivelul logic 1 (tensiunea de alimentare V+).

Caracteristica ( )V f Vout in= se numeşte caracteristica de transfer de tensiune a porţii,

iar caracteristica ( ) ( )I V f Vin+ = este caracteristica de curent (în figura 1.10, ( )+VI este notatcu ( )VDDI ; valoarea negativă a curentului indică faptul că acesta este absorbit de la sursă).

Sunt puse în evidenţă 5 regiuni pe parcursul variaţiei tensiunii de intrare în domeniul0..V+ : - în regiunea I, pentru V Vin TN≤ , unde VTN este tensiunea prag pentru tranzistorul T1(nMOS), T1 blocat şi T2 este în conducţie liniară, iar V Vout = + . Consumul de curent de lasursa de alimentare este practic nul, unul dintre tranzistoare fiind blocat; - în regiunea II,definită pentru intervalul V V V VTN in out TP< ≤ − , T1 este saturat şi T2 rămâne în conducţieliniară. VTP este tensiunea prag pentru tranzistorul T2 (pMOS) şi are o valoare negativă; - înregiunea III, definită pentru intervalul V V V V Vout TP in out TN− < ≤ + , ambele tranzistoare suntsaturate, iar consumul de curent de la sursă este maxim. Regiunea IV oferă o comportareidentică cu regiunea II, dar de data aceasta stările tranzistoarelor sunt inversate, adică T1este în conducţie liniară, iar T2 este în saturaţie, iar în regiunea V, tranzistorul T1 rămâne înconducţie liniară, iar T2 intră în blocare.

V+= 15V

VoutVin

T1

T2

Fig. 1.10 Structura de inversor CMOS şi caracteristicile de transfer

Page 8: Electronica Digitala Aplicatii

12 1 FAMILII LOGICE

Datorită faptului că cele două tranzistoare din structură au caracteristici aproapeidentice, pragul de basculare a stării logice este situat la jumătatea excursiei semnaluluilogic de intrare şi la jumătatea tensiunii de alimentare, frontul crescător al semnalului deieşire este aproximativ egal cu cel descrescător, iar consumul static de curent este practic nul(familie logică ideală).

Configuraţia unei porţi logice în tehnologie CMOS este direct legată de funcţialogică cerută. Structura din figura 1.11 este o poartă ŞI-NU cu 2 intrări, dar ieşirea din nodul4 este trecută prin alte două structuri inversoare ca cele din figura 1.10 pentru a obţine ocaracteristică cât mai apropiată de una ideală şi pentru a asigura simetria ieşirii faţă de V+

şi faţă de masă. Ieşirea din nodul 7 al structurii este ieşirea porţii logice, ieşire care estedisponibilă la unul dintre pinii circuitului integrat.

Simulările s-au făcut pentru o tensiune de alimentare de +15V, dar, la circuiteleCMOS din seria 4000, de care ne ocupăm la laborator, tensiunile de alimentare pot fi aleseîntre +3V (tensiune impusă de existenţa obligatorie a zonelor I şi V din figura 1.10, ştiind că

VVV TPTN 5,1≈≈ ) şi +18V, sau chiar +20V, în funcţie de structura circuitului respectiv.

Nivelele logice de ieşire şi intrare garantate prin standard sunt:- VIL , nivelul de tensiune necesar pentru a avea 0 logic la intrare: +⋅=≤ VVV ILIL %30max

- VIH , nivelul de tensiune necesar pentru a avea 1 logic la intrare:V V VIH IH≥ = ⋅ +min 70%- VOL , nivelul de tensiune de la ieşire în starea 0 logic: V 05,0max =≤ OLOL VV- VOH , nivelul de tensiune de la ieşire în starea 1 logic: V V VOH OH≥ = −+min ,0 05 V

V+1

2

3

4

5

0

6 7

Fig. 1.11 Structura porţii ŞI-NU cu 2 intrări şi caracteristici de transfer

Page 9: Electronica Digitala Aplicatii

1.1 Consideraţii teoretice 13Imunitatea la zgomot se defineşte ca fiind tensiunea maximă de zgomot prezentă la

intrare, care nu comută parazit poarta. Se observă că marginile de zgomot garantate sunt de30% din valoarea tensiunii de alimentare, dar practic ele pot atinge 45% din valoareatensiunii de alimentare ([Ardelean, 1986]).

Impedanţa de intrare de curent continuu este de circa 1012 Ω , deoarece intrareainversorului este complet izolată de substrat prin dielectricul capacitorului poartă-substrat,care are o grosime de circa 1000 Å. Orice sursă de tensiuni electrostatice poate astfel generao tensiune mare pe poartă, care să producă distrugerea ireversibilă a stratului izolator, prinstrăpungere. Această impedanţă mare este atenuată în mare măsură de dispozitiveleamplasate pentru protecţia intrării (vezi figura 1.12) şi de elementele parazite propriicircuitului integrat şi montajului în care acesta se găseşte. Cu toate acestea, valoareaimpedanţei de intrare depăşeşte 10 MΩ, fapt ce influenţează favorabil posibilitateacomandării în curent continuu a unui număr mare de intrări CMOS. Aici, practic nu suntlimite teoretice ale "fan-out"-ului, el fiind limitat de fapt numai de sarcina capacitivă decirca 5pF pentru fiecare intrare CMOS.

De remarcat un parametru de catalog care surprinde la prima vedere, deoarececurentul de intrare la un circuit CMOS este considerat de obicei nul:

I mAI − ±DC input current = 10

Este vorba de curentul maxim ce poate trece prin diodele din reţeaua de protecţie, în oricesens, deoarece aceste diode se pot deschide fie în conducţie directă, fie în conducţie inversă,prin efect Zener. Avem de-a face şi aici cu o valoare maximă absolută, ca şi tensiunea dealimentare de +18V! Depăşirea acestor valori are ca efect distrugerea cu mare probabilitatea structurii!

Comportamentul ieşirii este preponderent rezistiv, un tranzistor MOS având orezistenţă drenă-sursă mai mică de 1KΩ în conducţie şi mai mare de 10MΩ în blocare.Acest lucru determină o sensibilitate crescută la sarcini capacitive de ieşire, sarcini ceinfluenţează viteza de comutare şi puterea consumată de circuit. Pe de altă parte, limitareacurentului de saturaţie la tranzistoarele MOS asigură protecţia ieşirilor la scurtcircuiteaccidentale la masă sau la V+ , cu condiţia ca valoarea tensiunii de alimentare, duratascurtcircuitului şi numărul de ieşiri aflate în scurtcircuit să nu provoace distrugereacircuitului integrat prin ambalare termică.

V+

VoutVin

T1

T2D1 D1 D1

D2

D2D2

R

Fig. 1.12 Circuitul de protecţie a intrării la seria CMOS 4000

Page 10: Electronica Digitala Aplicatii

14 1 FAMILII LOGICE

1.1.3 Zgomote şi reflexii

Zgomotele sunt semnale perturbatoare, nedorite, care pot afecta funcţionareastructurilor numerice. La aplicarea unui algoritm de sinteză a unei structuri numericeproiectantul foloseşte modele teoretice în care ecuaţiile boolene exprimă perfectfuncţiile dorite. La implementarea acestor ecuaţii cu circuite integrate reale se constatăcă porţile logice au anumite limitări, iar firele de conexiune pot distorsiona formasemnalului transmis. Ne putem aştepta în anumite condiţii la o funcţionare incorectă astructurilor numerice, iar dacă aceasta este aleatoare, evenimentul este cu atât mai grav.

Structurile numerice implementate în tehnologia CMOS - 4000 se apropie demodelul ideal. Fiind circuite lente, ele sunt în mică măsură afectate de zgomote şireflexii. Familiile logice rapide pot produce însă mari neplăceri, chiar şi în cazul unorconexiuni relativ scurte (de ordinul centimetrilor).

Zgomotul generat de reflexii pe liniile de transmisiune

Reflexiile se produc la capetele firelor sau traseelor de circuit imprimat în cazulneadaptării dintre impedanţa de ieşire şi impedanţa liniei. Unui semnal care parcurgelinia de transmisiune aceasta i se înfăţişează ca o impedanţă constantă numită impedanţăcaracteristică. Dacă se neglijează valorile rezistenţelor distribuite şi se notează cu Linductanţa liniei pe unitatea de lungime şi cu C capacitatea ei pe unitatea de lungime,atunci impedanţa caracteristică a liniei este ([Nicula, 1994]):

ZLC0 =

iar viteza de propagare a semnalului pe linia de transmisiune este:

vL C

=⋅1

Considerăm acum circuitul din figura 1.13, care generează la momentul de timpt = 0 o tranziţie de la 0 la Vd , tranziţie care se propagă pe linie până la destinaţia cuimpedanţa terminală Zt .

La propagarea pe linie ZVI

d

d0 = , unde I d este curentul care circulă pe linie

datorită tensiunii Vd . Tensiunea şi curentul parcurg linia ca o funcţie treaptă, aşa cumse vede în figura 1.13. Când tranziţia atinge destinaţia, aceasta se prezintă ca oimpedanţă Zt . Dacă Z Zt = 0 atunci legea lui Ohm este în continuare satisfăcută şi nuapar reflexii. Dacă însă Z Zt ≠ 0 , tensiunea şi curentul trebuie să se modifice pentru aasigura verificarea legii lui Ohm şi la bornele rezistenţei terminale. Schimbarea are caefect apariţia unui semnal tranzitoriu numit reflexie care va străbate linia în sens invers,de la destinaţie la sursă. Dacă Z Zt > 0 acest semnal se va aduna la cel original, iar dacăZ Zt < 0 se va scădea din acesta.

Page 11: Electronica Digitala Aplicatii

1.1 Consideraţii teoretice 15

Vs

Z s

Z0 Z t

sursa destinaţiaCircuitul

v

Semnalul înainte de atingerea receptorului

Vd distanţa

Vd distanţa

Vd distanţa

Semnalul după reflexie (cazul Z > Z )

Semnalul după reflexie (cazul Z < Z )

t 0

t 0

Vt

Vt

Fig. 1.13 Reflexiile pe liniile de transmisiune

Dacă folosim indicii d pentru semnalele directe, i pentru cele inverse şi t pentrucele tranzitorii, atunci putem scrie legile lui Kirchoff considerând rezistenţa terminalăca un sistem închis:

I I It d i= + şi V V Vt d i= +

Conform legii lui Ohm: ZVIt

t

t= pe sarcină, Z

VI

d

d0 = înainte de sarcină, şi Z

VIi

i0 =

−după sarcină. Prin rezolvarea sistemului format din ecuaţiile de mai sus se deducevaloarea saltului de tensiune în funcţie de impedanţa caracteristică şi cea de terminaţie:

V VZ ZZ Zi d

t

t= ⋅

−+

0

0

Raportul KZ ZZ Z

t

t=

−+

0

0 se numeşte coeficientul de reflexie a tensiunii şi măsoară

raportul dintre tensiunea undei reflectate şi tensiunea undei directe.Unda se va propaga în continuare de la sarcină spre sursă, în sens invers. Când

unda reflectată atinge sursa se poate produce o nouă reflexie dacă Z0 este diferită deZS . Reflexiile vor continua între sursă şi destinaţie însă amplitudinea lor este atenuatădatorită pierderilor prin rezistenţele ohmice ale liniei, care au fost neglijate până acum.

Efectul reflexiilor se materializează prin apariţia unor oscilaţii care însoţesctranziţiile între cele două nivele logice. Aceste oscilaţii pot fi cauza funcţionăriinecorespunzătoare a unui sistem numeric.

Există o metodă grafică care permite analiza reflexiilor pe linii, cunoscută cametoda diagramelor lui Bergeron. Ea foloseşte caracteristicile de intrare şi ieşire ale.

Page 12: Electronica Digitala Aplicatii

16 1 FAMILII LOGICE

A B

Z = 1000 Ω

Fig. 1.14 Interconexiunea dintre 2 porţi TTL standard

porţilor studiate şi presupune cunoscută impedanţa caracteristică a liniei. Vomexemplifica metoda pentru două porţi TTL standard conectate printr-o linie cuimpedanţa caracteristică de 100Ω (pentru circuite imprimate Z0 are valori cuprinseîntre 80Ω şi 200Ω).

Figura 1.15 prezintă caracteristicile de intrare şi cele de ieşire pentru cele 2 stărilogice ale unui circuit tipic din seria TTL standard.

Prima diagramă este utilizată pentru evaluarea tranziţiei logice din 0 în 1.Dreapta de pantă Z0 ce reprezintă linia de transmisie va intersecta caracteristica deieşire în starea logică 1, punct care va determina la momentul de timp t0 tensiunea deieşire a porţii emiţătoare, tensiune de circa 1,75 V. Din acest moment panta liniei detransmisie devine − Z0 şi de această dată va intersecta caracteristica de intrare.

Pentru evaluarea tranziţiei logice din 1 în 0 se foloseşte a doua diagramă. Dreaptade pantă Z0 va intersecta caracteristica de ieşire în starea logică 0 la circa 0,25V. Dinacest punct, dreapta cu panta modificată intersectează caracteristica de intrare la circa-1,5V, valoarea tensiunii în punctul B, şi aşa mai departe până la amortizarea reflexiilor.

Formele de undă rezultate în urma tranziţiilor sunt reprezentate în figura 1.16, iarfigura 1.17 arată câteva forme de undă vizualizate pe osciloscop pentru porţile TTLstandard. S observă că poarta de ieşire comută normal, în ciuda reflexiilor existente pelinia de intrare, dar aceste reflexii pun în pericol funcţionarea corectă a circuitului. Laora actuală, pachetele CAD care permit analiza prin simulare a sistemelor numerice,cum ar fi, de exemplu, Protel 99 SE, permit şi simularea reflexiilor care apar pe linii.

Fig. 1.15 Diagramele Bergeron pentru cele două tranziţii posibile

Page 13: Electronica Digitala Aplicatii

1.1 Consideraţii teoretice 17

t1

0

2

3

4

τ 2 τ

t1

0

2

3

4

τ 2 τ

t1

0

2

3

4

τ 2 τ

t1

0

2

3

4

τ 2 τ

tranziţia din 0 în 1 tranziţia din 1 în 0

A [V]

[V]B

A [V]

[V]B

Fig. 1.16 Formele de undă teoretice în punctele A şi B pentru cele 2 tranziţii

Fig. 1.17 Forme de undă reale vizualizate pe osciloscop

Pentru reducerea efectului reflexiilor se recomandă utilizarea unor conexiuni câtmai scurte (reflexiile se produc pe durata frontului, iar palierele îşi păstrează valorilelogice), adaptarea liniei lungi pe rezistenţa caracteristică prin plasarea unui divizorrezistiv în punctul B, sau prin folosirea unor porţi cu histerezis pentru mărirea marginiide zgomot în curent continuu. Valorile rezistenţelor de adaptare ar putea fi cu până laun ordin de mărime mai mari, sau, una dintre ele, ar putea lipsi complet. Se mai poatemări şi impedanţa de ieşire a porţii, prin amplasarea unei rezistenţe de zeci de ohmiîntre punctele A şi B ([Nicula, 1994]).

A B

Z = 1000 Ω

+5V150 Ω

470Ω

Fig. 1.18 Adaptarea liniei pe impedanţa caracteristică şi formele de undă reale

Page 14: Electronica Digitala Aplicatii

18 1 FAMILII LOGICE

Zgomotul generat de diafonia dintre liniile de transmisiune

Datorită apropierii dintre două linii din circuit, semnalul existent pe una din elepoate influenţa nedorit semnalul de pe cealaltă linie. Acest cuplaj se face prinintermediul unor capacităţi şi inductanţe mutuale. Dacă notăm cu Z M impedanţamutuală dintre două linii şi pe una din ele avem o tranziţie de tensiune VOUT , atunci încealaltă apare o tranziţie de tensiune:

VZ

Z ZV Z

Z

VINM

OUTM

OUT=+

⋅ =+

⋅0

0

0

1

1

Pentru micşorarea efectelor diafoniei trebuie mărită impedanţa mutuală Z M şimicşorată impedanţa caracteristică Z0 . Prima condiţie se realizează prin folosirea unormedii izolatoare cât mai bune şi evitarea menţinerii în paralel a unor trasee apropiate pelungime mare. A doua condiţie presupune alăturarea unor trasee de masă (plan de masă,fire de masă între fire de semnale utile etc.).

Zgomotul generat de injecţia de curent

Acest tip de zgomot se manifestă la porţile cu mai multe intrări. Variaţiacurentului printr-un emitor al tranzistorului multiemitor de intrare într-o poartă TTLpoate fi zgomot pentru celelalte intrări. Se produce de fapt un salt de curent, careproduce un salt de tensiune pe intrările conectate la impedanţa caracteristică. Dacăintrarea A a porţii ŞI-NU din figura 1.1 este conectată la masă printr-o linie cuimpedanţa caracteristică de 200Ω, iar intrarea B comută din 0 în 1 logic, atunci în Aapare un salt de curent de la 0,8mA la 1,6mA, care va genera la intrarea A un salt detensiune de 0,16V. Acest zgomot este cu atât mai mic cu cât curenţii de intrare sunt maimici şi amplitudinea lui este prea mică pentru a produce modificarea parazită a niveluluilogic la intrare. El ar putea însă interveni împreună cu alte zgomote într-o conjuncturănefavorabilă care să perturbe funcţionarea corectă a circuitului ([Nicula, 1994]).

Reducerea efectelor acestui zgomot se face prin folosirea unei legături scurte, cuimpedanţă caracteristică mică şi prin evitarea folosirii porţilor cu mai multe intrări peanumite linii de sistem.

Zgomotul generat de variaţia curentului de alimentare

Sursa acestui zgomot o constituie inegalitatea dintre curenţii absorbiţi de circuitîn cele două stări logice 0 şi 1. La comutarea rapidă a porţilor din circuit apare ovariaţie a tensiunii de alimentare a circuitelor integrate, datorită inductanţei parazite aliniei de alimentare. Pe de altă parte, la comutare apar pulsuri tranzitorii de curentdatorită capacităţilor parazite de la ieşirile porţilor din circuit.

Metodele de reducere a zgomotului constau în reducerea inductanţei liniei dealimentare prin utilizarea unor plane de alimentare (trasee cât mai groase) şi în plasareacondensatoarelor ceramice de decuplare care filtrează pulsaţiile tranzitorii de înaltăfrecvenţă ce nu pot fi eliminate de condensatoarele electrolitice.

Page 15: Electronica Digitala Aplicatii

1.2 Demonstraţii practice 19Zgomotul generat de traseele de masă

Cauzele acestui zgomot sunt discontinuităţile de impedanţă a traseelor de masă şiînchiderea curenţilor spre masă pe trasee incorecte. Aceste fluxuri de curent determinăcăderi de tensiune parazite care se suprapun peste semnalul util.

Reducerea acestui zgomot se face printr-o maximă separare a traseelor dealimentare pentru fiecare circuit de pe placă şi existenţa unui plan de masă.

Zgomotul generat de interferenţe electromagnetice

Sursele acestui zgomot pot fi: reţeaua de alimentare cu tensiune alternativă,motoare, relee, întrerupătoare sau alte dispozitive generatoare de câmp electromagnetic.Reducerea zgomotului se face prin ecranare sau filtre de reţea.

1.2 Demonstraţii practice

Se alimentează panoul logic cu o tensiune de 5V de la o sursă de tensiune reglabilă.ATENŢIE LA RESPECTAREA POLARITĂŢII ŞI LA VALOAREA INIŢIALĂ ATENSIUNII! Datorită diodei de protecţie la alimentare inversă, se măsoară cu unvoltmetru tensiunea între pinii de alimentare indicaţi de catalog (la circuitele de pe panou,între pinii 14 şi 7, aşa cum se arată în figura 1.19). Se porneşte de la 0V şi se măreştetensiunea de la sursă, până ce valoarea măsurată ajunge la +5V. Această tensiune estetensiunea nominală de alimentare pentru circuitele TTL. Valoarea limită absolută decatalog este de +7V la circuitele TTL şi de +18V la circuitele CMOS – seria 4000.Depăşirea valorii limită absolute va distruge cu o mare probabilitate circuitul integrat!

Circuitele CMOS din seria 4000 nu au o tensiune nominală precizată. Tensiunea dealimentare trebuie să fie sub valoarea limită absolută de circa +18V şi mai mare de circa+3V, pentru a asigura o comutare stabilă. Tensiunile de alimentare folosite în lucrare pentruaceste circuite sunt de +5V, +10V şi + 15V.

Observaţiile de mai sus sunt valabile pentru toate panourile logice folosite şi în altecapitole, aşa că nu vom mai reveni cu aceste indicaţii. Dacă un panou logic are cordon dealimentare la reţea, atunci există o sursă de alimentare cu tensiune continuă încorporată, iarpanoul NU MAI TREBUIE ALIMENTAT la o sursă de tensiune de laborator!

1 2 3 4 5 6 7

891011121314

+ _

V+

_5 Vcc

Fig. 1.19 Stabilirea tensiunii corecte de alimentare a panoului logic

Page 16: Electronica Digitala Aplicatii

20 1 FAMILII LOGICE

1.2.1 Se realizează montajul din figura 1.20. La intrarea porţii ŞI-NU, în tehnologieTTL standard (circuitul integrat CDB400, echivalent cu SN7400), cu intrările conectateîmpreună, se aplică o tensiune continuă, variabilă între 0 şi 5V, iar valorile măsurate aletensiunii de ieşire se trec într-un tabel. Se reprezintă punct cu punct caracteristica statică detransfer ( )V f Vout in= . Să se compare cu caracteristica de transfer din figura 1.2, obţinutăprin simulare analogică PSPICE. Se repetă măsurătorile pentru o poartă ŞI-NU cu 2 intrărirealizată în tehnologie CMOS 4000 (circuitul integrat MMC4011, echivalent cu CD4011),având grijă ca tensiunea de intrare să nu depăşească tensiunea de alimentare. Se folosescurmătoarele tensiuni de alimentare: VVCC 5+= , V VCC = +10 şi V VCC = +15 . Se măsoarănivelele logice şi se compară cu valorile garantate prin standard. Caracteristica de transferpentru V VCC = +15 se compară cu caracteristica de transfer din figura 1.11, obţinută prinsimulare analogică PSPICE. Sarcina porţii este considerată rezistenţa de intrare avoltmetrului folosit pentru măsurare.

Vcc= +5V

sarcină+

_V Vout+_Vin = 0..5V

Fig. 1.20 Montajul pentru trasarea punct cu punct a caracteristicii de transfer

1.2.2 Se realizează montajul din figura 1.21 pentru poarta TTL standard. La intrareaporţii ŞI-NU cu intrările conectate împreună se aplică un semnal sinusoidal cu amplitudineade circa 4V şi frecvenţa de circa 100Hz. Se scoate baza de timp a osciloscopului şi peecranul tubului catodic apare caracteristica de transfer. Măsuraţi nivelele logice de ieşire şiintrare garantate prin standard. Modificaţi sarcina porţii prin adăugarea circuitului caresimulează 10 intrări TTL standard (vezi figura 1.24) şi refaceţi măsurătorile. Comentaţimodificarea caracteristicii cu frecvenţa semnalului de intrare şi explicaţi ce se întâmplă dacăuna dintre intrările porţii este lăsată în aer. Se repetă montajul pentru poarta CMOS 4000.Analizaţi modificarea caracteristicii cu modificarea tensiunii de alimentare şi stabiliţitensiunea minimă de alimentare. Scurtcircuitaţi pe rând ieşirea porţii la masă şi apoi la CCVşi observaţi ce se întâmplă.

Vcc= +5V

sarcină

Vout

Rint

Vin

generator

Y X

Fig. 1.21 Montajul pentru vizualizarea caracteristicii de transfer

Page 17: Electronica Digitala Aplicatii

1.2 Demonstraţii practice 211.2.3 Se măsoară în cazurile cele mai defavorabile curenţii de intrare pentru cele

două nivele logice la poarta TTL standard, folosind montajele din figura 1.22. Testarea încazul cel mai defavorabil este realizată pentru toate circuitele, pentru a garanta funcţionareaîn toate condiţiile posibile. VCC are valoarea maximă admisă (+5,25V la seria 74SN) pentrua maximiza curentul I IL . Cu excepţia intrării supuse testării, celelalte intrări nefolosite suntconectate la 1 logic pentru a maximiza orice contribuţie a acestor intrări asupra curentuluide intrare I IL . Acest 1 logic este de 4,5V, valoare în general superioară lui VOH . Comparaţirezultatele obţinute prin măsurare cu cele din figura 1.4, obţinute prin simulare PSPICE.Valorile obţinute trebuie să fie în concordanţă cu datele de catalog:

I I mAIL ILMAX≤ = −1 6, I I AIH IHMAX≤ = 40µ

DACĂ AMPERMETRUL ESTE ANALOGIC (TIP MAVO-35), ATENŢIE LAPOLARITATE ŞI LA DOMENIUL DE MĂSURĂ !

Vcc= +5,25V

+_VIL= 0,4V mA+4,5V

I IL

Vcc= +5,25V

+ _VIH= 2,4V mA

IIH

Fig. 1.22 Montajele pentru măsurarea curentului de intrare la poarta TTL

1.2.4 Folosind montajul din figura 1.23 se trasează caracteristicile de ieşire ale porţiiTTL standard. Dacă ampermetrul este analogic (tip MAVO-35), atenţie la polaritate şi ladomeniul de măsură! Comparaţi rezultatele cu cele din figurile 1.5 şi 1.6, obţinute prinsimulare analogică PSPICE.

Vcc= +5V

+

_V Vout

mA +_

5K 100

Iout

(+) (-)

Fig. 1.23 Montajul pentru trasarea caracteristicilor de ieşire la poarta TTL

1.2.5 Se măsoară timpii de propagare prin poarta TTL cu ajutorul montajului dinfigura 1.24. Generatorul furnizează la intrare impulsuri TTL cu frecvenţa de câţiva MHz.Circuitul de ieşire ( C pFL = 15 ) simulează încărcarea porţii cu o sarcină echivalentă cu 10intrări TTL standard. Se măsoară timpii de propagare şi pentru C pFL = 220 şi se comparărezultatele. Dacă performanţele osciloscopului nu sunt satisfăcătoare pentru efectuareamăsurătorii, se poate încerca înserierea mai multor porţi identice şi medierea rezultatelorastfel obţinute. Se repetă măsurătoarea pentru poarta CMOS, folosind la intrare impulsuri deamplitudine 5V. Sarcina porţii este dată acum numai de condensatorul LC , iar intrările sunt.

Page 18: Electronica Digitala Aplicatii

22 1 FAMILII LOGICE

in

out

tpHL

tpLH

50% 50%

50% 50%

in

out

Vcc= +5V

+2,4V

CL

400ΩRint

generatorTTL

Fig. 1.24 Definirea timpilor de propagare şi montajul pentru măsurarea lor la poarta TTL

conectate împreună. Pe un osciloscop cu 2 canale se vizualizează atât semnalul de intrare câtşi semnalul de la ieşirea porţii logice. Prin suprapunerea celor două semnale se măsoară ceidoi timpi de propagare t PHL şi t PLH . Se verifică egalitatea aproximativă a celor doi timpi depropagare la poarta CMOS. Studiaţi variaţia timpilor de propagare cu modificarea tensiuniide alimentare şi cu modificarea sarcinii de la ieşirea porţii CMOS şi comparaţi valorilemăsurate cu datele de catalog. .

1.2.6 Se realizează montajul din figura 1.25, folosind al doilea circuit integrat de pepanoul logic TTL. Se calculează limitele de variaţie admise pentru valoarea rezistenţei decolector şi se verifică dacă rezistenţa de pe panou se încadrează între aceste limite. Severifică conexiunea "ŞI cablat" folosind tabelul de adevăr al funcţiei binare Y, precum şiexcursia tensiunii la ieşire.

Vcc= +5V

YA

B

C

RC

Y = A B C. .

Fig. 1.25 Montajul pentru verificarea conexiunii "ŞI cablat"

1.2.7 Se realizează montajul din figura 1.26. Se vizualizează formele de undă laieşirea porţii CMOS (tensiunea de ieşire) şi pe rezistenţa înseriată în circuitul de alimentare(curentul consumat de circuitul integrat). Intrările celorlalte porţi logice din circuitul integratse conectează la nivele logice stabile, 0 sau 1. Astfel consumul de curent al circuituluiintegrat este dat în exclusivitate de poarta care comută. Comentaţi imaginea de pe ecranultubului catodic. Ce se întâmplă dacă se măreşte tensiunea de alimentare? Dar dacă semăreşte frecvenţa impulsurilor aplicate la intrare? Acest comportament se întâlneşte la oricestructură CMOS, nu neapărat numai la seria 4000. Şi procesoarele Pentium au uncomportament similar. Acest consum de curent pe poartă la comutare, determină o creştereaccentuată a disipaţiei termice odată cu creşterea frecvenţelor de lucru. Care este soluţiaadoptată în ultimul timp pentru rezolvarea acestei probleme? (vezi problema 1.3.5)

Page 19: Electronica Digitala Aplicatii

1.2 Demonstraţii practice 23VDD= +5V

sarcinăRint

Vin

generatorimpulsuri

Y1 Y2R

Fig. 1.26 Montaj pentru estimarea consumului circuitului integrat care conţine poarta CMOS din seria 4000

1.2.8 Se realizează circuitul din figura 1.14 folosind două porţi TTL standard şi uncablu de conexiune lung (de circa 2 m). Se introduce pe intrarea primei porţi un semnal TTLcu o frecvenţă de circa 5 MHz. Se vizualizează semnalele în punctele A şi B cândconductorul AB este scurt şi atunci când are o lungime de circa 1m. Desenaţi semnalelevizualizate şi explicaţi forma lor. Măsuraţi întârzierea semnalului pe linia lungă AB. .

1.2.9 Se dublează circuitul din figura 1.14 şi cele două linii lungi se apropie pe olungime cât mai mare una de alta. Se aplică un semnal TTL pe intrarea unui circuit şi sevizualizează pe linia celuilalt circuit semnalul indus datorită diafoniei. .

1.2.10 Se realizează montajul din figura 1.27 pentru vizualizarea zgomotului datoratinjecţiei de curent. Se aplică semnal TTL pe linia A, iar linia B se conectează la masă prinintermediul unui conductor lung. Urmăriţi apariţia pulsurilor de tensiune în punctul Bsincron cu semnalul din punctul A şi măsuraţi durata şi amplitudinea lor.

AB

Fig. 1.27 Circuit pentru evidenţierea zgomotului datorat injecţiei de curent la TTL

1.2.11 Se conectează toate porţile circuitului integrat TTL la sursa de semnal TTL,pentru o comutare sincronă a lor. Se conectează în serie cu sursa de alimentare un fir cuinductanţă mare (se bobinează nişte spire pe un tor de ferită). Linia de alimentare poate fiastfel asimilată unei linii lungi de transport al tensiunii. Se vizualizează variaţia tensiunii dealimentare pe pinul Vcc al circuitului integrat. Măsuraţi durata şi amplitudinea variaţiilor şidesenaţi formele de undă. Repetaţi măsurătorile după cuplarea unui condensator dedecuplare între Vcc şi GND. .

1.2.12 Să se imagineze şi să se experimenteze un montaj pentru vizualizareazgomotelor datorate formei traseelor de masă. .

Page 20: Electronica Digitala Aplicatii
Page 21: Electronica Digitala Aplicatii

1.3 Probleme rezolvate 25

RV V

I IV V

mA mAKL

CC OLMAX

OLMAX ILMAXmin

,,

,=−− ⋅

=−− ⋅

=8

5 0 416 8 1 6

1 437 Ω

Se alege pentru rezistenţa R o valoare standardizată cuprinsă în intervalul [1,437KΩ..3,846KΩ]. Nu am luat aici în considerare variaţiile admisibile ale tensiunii de alimentare. Inaceastă situaţie, ar trebui să luăm în calcul valoarea care minimizează RMAXH , adică VCC min ,respectiv valoarea care maximizează R Lmin , adică VCCMAX .

c) M V V V V VL OLMAX ILMAX= − = − =0 4 0 8 0 4, , , .

1.3.3 Se înlocuiesc cele 8 inversoare ale circuitului din figura 1.29 cu un numărnecunoscut N de porţi ŞI-NU cu câte 2 intrări conectate împreună, în tehnologie TTLstandard. Să se calculeze N, dacă se ştie că R = 1KΩ şi marginea de zgomot în 1 logictrebuie să fie mai mare de 1V.

Rezolvare:- pentru starea logică 1:

( )R I N I V V MOHMAX H IHMAX CC IH H⋅ ⋅ + ⋅ ⋅ ≤ − −2 2 min , adică

NV V M R I

R IV V V K mA

K mAHCC IH H OHMAX

IHMAX≤

− − − ⋅ ⋅⋅ ⋅

=− − − ⋅ ⋅

⋅ ⋅=min ,

,,

22

5 2 1 2 1 0 12 1 0 04

22 5Ω

ΩCurentul de intrare în poartă pentru starea logică 1 este suma curenţilor de pe fiecare intrare.

Dacă variază şi VCC , atunci se ia în calcul VCC min .- pentru starea logică 0:

( )R I N I V VOLMAX L ILMAX CC OLMAX⋅ − ⋅ ≥ −

NV V R I

R IV V K mA

K mALCC OLMAX OLMAX

ILMAX≤

− + + ⋅⋅

=− + + ⋅

⋅=

5 0 4 1 161 1 6

7 12,

,,

ΩΩ

Curentul de intrare în poartă pentru starea logică 0 este acelaşi, indiferent de numărul deintrări ale porţii. Dacă variază şi VCC , atunci se ia în calcul VCCMAX .

Deci răspunsul este N = 7. .

1.3.4 Care este marginea de zgomot asigurată de conexiunea din figură? Porţile suntTTL standard, dar poarta comandată este un inversor cu histerezis.

Vout

V in

VOLmax

VOHmin

V T- V T+

Fig. 1.30 Circuitul şi caracteristica de transfera inversorului cu histerezis

Rezolvare:

Inversorul cu histerezis are pragul −TV cuprins între 0,6V şi 1,1V, iar pragul +TV estecuprins între 1,5V şi 2V, conform datelor de catalog.

- pentru starea logică 1: VVVVVM THH 3,11,14,2maxmin =−=−≥ − ,- pentru starea logică 0: VVVVVM OLTL 1,14,05,1maxmin =−=−≥ + .Marginile de zgomot la o conexiune între două porţi TTL standard sunt de numai 0,4V! .

Page 22: Electronica Digitala Aplicatii

26 1 FAMILII LOGICE

1.3.5 Se consideră inversorul CMOS din figura 1.10 alimentat la tensiuneaV V+ = +5 . Tranzistorul T1 suportă un curent de drenă I mAD1 1= , iar T2 un curentI mAD2 15= , . Tensiunea de prag a circuitului este V VT = 2 5, , iar capacitatea de ieşire esteC pFout = 20 .

a) Să se calculeze timpii de propagare pentru ambele tranziţii ştiind că sarcinainversorului este formată din 10 intrări CMOS, fiecare de 5 pF, iar capacitatea traseelorexterioare circuitului integrat este de 30 pF.

b) Calculaţi consumul de putere dinamic şi static şi arătaţi care sunt modalităţile dereducere a consumului de putere din sursă, ştiind că frecvenţa de comutaţie a porţii este de1MHz, iar fronturile semnalului de ieşire sunt egale cu 100ns.

Rezolvare:a) Capacitatea totală de sarcină este:

C C N C C pF pF pF pFout in trasee= + ⋅ + = + ⋅ + =20 10 5 30 100

Pentru tranziţia ieşirii LOW-HIGH se deschide T2 şi se blochează T1, iar timpul depropagare este:

tC VI

pF VmA

nsPLHT

D=

⋅=

⋅=

2

100 2 515

167,

.

Pentru tranziţia ieşirii HIGH-LOW se deschide T1 şi se blochează T2, iar timpul depropagare este:

( ) ( )t

C V VI

pF V VmA

nsPHLT

D

=⋅ −

=⋅ −

=+

1

100 5 2 51

250,

b) Puterea disipată în regim dinamic este puterea necesară pentru încărcarea şi descărcareaperiodică a capacităţii de sarcină de la ieşire:

P VC V

TC V f pF V MHz mWd = ⋅

⋅= ⋅ ⋅ = ⋅ ⋅ =+

++2 2 2100 5 1 2 5,

0V

V+

0AI M

t r t fT

Fig. 1.31 Aproximarea formelor de undă la comutare

Puterea disipată în regim static este puterea disipată în timpul comutării. Figura 1.31 indicăo reprezentare simplificată a tensiunii de ieşire şi a curentului consumat pe durata unei perioade.

( ) ( )P

u t i t dt

TV I t t

TV mA ns ns

nsWs

T

M r f=⋅ ⋅

≈⋅

⋅+

≈⋅

⋅+

=

+0

45 0 5

4100 1001000

125,

µ

Valoarea exactă a lui I M este mai greu de apreciat. Având însă în vedere datele problemei, valoareade 0,5mA este pe deplin acoperitoare.

Page 23: Electronica Digitala Aplicatii

1.3 Probleme rezolvate 27Ambele componente ale puterii disipate se reduc odată cu micşorarea tensiunii de alimentare

şi a frecvenţei de comutaţie. Capacitatea de sarcină contribuie şi ea la expresia puterii în regimdinamic. .

1.3.6 Dacă pe o intrare CMOS apar tensiuni mai mari decât V+ (notat de obicei cuVDD ) sau mai mici decât potenţialul masei (notat de obicei cu VSS ) există pericoluldistrugerii diodelor din circuitul de protecţie al intrării prin depăşirea valorii maxime admisea curentului prin diode. Să se realizeze un circuit extern de protecţie şi să se dimensionezeelementele de circuit.

Rezolvare:Se introduce o rezistenţă serie Rext la intrare care limitează curentul la valoarea maximă

I mAMAX = 10 . Se stabilesc valorile maxime ale tensiunilor la intrare:V VMAX DD

+ > şi V VMAX SS− <

Dimensionarea rezistenţei se face urmărind schema de protecţie a intrării din figura 1.12:

RV V V

IextMAX DD F

MAX≥

− −+

, RV V

IRext

MAX F

MAX≥

−−

VF este căderea de tensiune în conducţie directă pe diode. Se alege pentru Rext o valoare careacoperă ambele inegalităţi.

O intrare CMOS nu se lasă niciodată "în aer". Pentru eliminarea eventualelor sarcini staticeinduse, se recomandă conectarea unei rezistenţe de circa 100KΩ la masă sau la V+ , după caz. .

1.3.7 Să se arate cum se poate face cuplajul CMOS - TTL.

Rezolvare:Verificăm pentru început dacă o ieşire CMOS poate comanda o intrare TTL standard, din

punctul de vedere al tensiunilor şi al curenţilor:V VOLMAX CMOS ILMAX TTL( ) ( )< , adică 0 05 0 8, ,V V<V VOH CMOS IH TTLmin( ) min( )> , adică 4 95 2, V V>

Din punctul de vedere al tensiunilor inegalităţile sunt satisfăcute fără probleme, iar la curenţi:I IOLMAX CMOS ILMAX TTL( ) ( )> , adică 2 1 6mA mA> ,I IOHMAX CMOS IHMAX TTL( ) ( )> , adică 2 40mA A> µ

Relaţia subliniată indică faptul că o ieşire CMOS poate comanda o intrare TTL standard, dar nudouă sau mai multe, deoarece nu ar mai putea asigura curentul de intrare pe 0 logic.

Verificăm în continuare dacă o ieşire TTL poate comanda o intrare CMOS:V VOLMAX TTL ILMAX CMOS( ) ( )< , adică 0 4 30% 5 15, ,V V V< ⋅ =V VOH TTL IH CMOSmin( ) min( )> , adică 2 4 70% 5 3 5, ,V V V> ⋅ =

I IOLMAX TTL ILMAX CMOS( ) ( )> , adică 16 100mA nA>I IOHMAX TTL IHMAX CMOS( ) ( )> , adică 400 100µA nA>

Relaţia subliniată nu este respectată, deci conexiunea directă TTL-CMOS nu este corectă! Pentrua ridica tensiunea la ieşirea porţii TTL aflate în 1 logic se conectează o rezistenţă între ieşirea porţiiTTL şi tensiunea de alimentare.

Page 24: Electronica Digitala Aplicatii

28 1 FAMILII LOGICE

Pentru dimensionarea rezistenţei:

RV V

IV V

mAKL

CC OLMAX TTL

OLMAXmin

( ) ,,=

−=

−=

5 0 416

0 287 Ω

Se alege o valoare mai mare, dar apropiată de R Lmin , pentru că RMAXH este mai greu de calculat.Dacă consideram şi variaţia tensiunii de alimentare, foloseam VCCMAX în calculul lui R Lmin , înscopul maximizării lui R Lmin . .

1.3.8 Datorită lipsei circuitelor integrate TTL standard care trebuiau să echipeze unprodus de serie, acesta este realizat cu circuite integrate LSTTL. Garantaţi o funcţionarecorectă a circuitului? Dar dacă lucrurile ar fi stat exact invers?

Rezolvare:Nu se poate garanta o funcţionare corectă a circuitului pentru că circuitele LSTTL sunt mai

rapide şi deci sunt mai sensibile la zgomotele care se propagă pe traseul de masă. Este posibilă decio funcţionare defectuoasă a circuitului.

Dacă în loc de LSTTL se montează TTL standard nu mai avem probleme de zgomot, darprobabil că sistemul nu va funcţiona din cauza frecvenţei prea mari, la care circuitele TTL standardnu fac faţă. .

1.3.9 Un BUS cu impedanţa caracteristică Z0 75= Ω este adaptat ca în figura 1.32.Ştiind că pe acest BUS pot fi cuplate cel mult 16 intrări TTL standard şi că se impune în 1logic o margine de zgomot de cel puţin 0,6V, să se calculeze:

a) valorile rezistenţelor R1 şi R2.b) curentul IOLMAX al circuitului ce comandă BUS-ul.

*

+Vcc

R1

R2

+Vcc

R1

R2....

N

IR 1

IR 2IOH

Fig. 1.32 Circuitul de adaptare a liniei de magistrală

Rezolvare:a) Din condiţia de 1 logic pe linie:

R R Z1 2 02=V R I V MCC R IH H= ⋅ + +1 1 min

2 21 2I I N I IR OH IH R= + ⋅ +

IV M

RRIH H

22

=+min

Necunoscutele sunt I I RR R1 2 1, , şi R2 . Se rezolvă sistemul şi se obţine:R1 226≈ Ω şi R2 446≈ Ω

Page 25: Electronica Digitala Aplicatii

1.3 Probleme rezolvate 29Făcând anumite simplificări prin neglijarea lui I IH şi IOH obţinem rezultate apropiate cu un efort decalcul mult mai mic.

b) I I N I IOLMAX R L ILMAX R L≥ + ⋅ −2 21 2 , indicele L indică starea logică 0 în nodul studiat.Rezultă I mAOLMAX ≥ 64 5, , o valoare prea mare pentru un circuit integrat. Soluţii însă există: sepoate accepta o margine de zgomot mai mică, de cel puţin 0,4V, ca la TTL, sau se pot alege circuitede cuplare la BUS care au curenţi de intrare mai mici. Şi aici se poate neglija I R L2 . Marginea dezgomot în 0 logic este de 0,4V şi nu poate fi mărită de proiectant. .

1.3.10 Un BUS cu impedanţa caracteristică Z0 150= Ω este adaptat ca în figură. PeBUS sunt cuplaţi receptori care au caracteristică de transfer cu histerezis (vezi figura 1.33)şi curenţi de intrare neglijabili. Ştiind că circuitul care comandă BUS-ul are I mAOLMAX = 24 ,V VOLMAX = 0 4, şi IOH ≈ 0 , se cere:

a) să se dimensioneze rezistenţele R1 şi R2.b) să se calculeze marginea de zgomot garantată în ambele stări logice.

*

+Vcc

R1

R2.... Vi

Vo

VT- VT+

VT- = 0,9V

VT+ = 1,7V

Fig. 1.33 Circuitul de adaptare şi caracteristica de transfer a porţilor cu histerezis

Rezolvare:

a) R R Z1 2 0= . Neglijând curentul prin R2 în starea 0 logic, obţinem:

RV V

IV V

mACC OLMAX

OLMAX1

5 0 424

200≥−

=−

≈,

Ω . Alegem o valoare standard R1 220= Ω . Din prima

ecuaţie rezultă R2 470= Ω .

b) - în starea 1 logic: VR

R RV V VH CC=

+⋅ =

+⋅ =2

1 2

470220 470

5 3 4Ω

Ω Ω,

Receptorii vor comuta când Vi scade sub valoarea lui V VT − = 0 9, , deci:

M V V V V VH H T≥ − = − =− 3 4 0 9 2 5, , ,

- în starea 0 logic: V V VL OLMAX= = 0 4, . Comutarea se face pentru V VT + = 1 7, :

M V V V V VL T L≥ − = − =+ 1 7 0 4 1 3, , ,

1.3.11 Explicaţi în ce situaţie un circuit integrat CMOS din seria 4000 poate săfuncţioneze în lipsa tensiunii de alimentare. Care sunt riscurile unei astfel de situaţii şi cemăsuri de prevenire recomandaţi ?Rezolvare:

Deşi este greu de crezut, un circuit integrat CMOS din seria 4000 poate funcţiona în lipsatensiunii de alimentare, cu condiţia ca cel puţin una din intrările lui să fie pe 1 logic. Este clar că 1

Page 26: Electronica Digitala Aplicatii

30 1 FAMILII LOGICE

logic înseamnă tensiunea de alimentare, dioda respectivă din reţeaua de protecţie a intrării intră înconducţie, iar pe linia de alimentare din circuit apare o tensiune FVV −+ , adică cu circa 0,6V maimică decât tensiunea de alimentare a sistemului. Dacă curentul consumat de partea nealimentatădepăşeşte însă valoarea de 10mA şi nu există o limitare a acestui curent pe intrarea de 1 logic(ieşirea unei porţi CMOS poate asigura această limitare), atunci structura este periclitată. Prevenirease face numai prin asigurarea unei alimentări corecte a circuitelor integrate din sistem. .

1.3.12 Tensiunea de prag a inversoarelor din figura 1.34 este de 2,5V. Să se calcu-leze tensiunea de basculare a circuitului echivalent trigger Schmitt şi să se reprezintetensiunea la ieşire dacă pe intrare se aplică semnalul din figură.

R 1

R 22K

10K t0

+4VinV outV inV

Fig. 1.34 Trigger Schmitt neinversor realizat cu porţi CMOS şi semnalul de intrare

Rezolvare:

Comutarea ieşirii din 0 se va face la o valoare a tensiunii de intrare 1V :

121

2 VRR

RVT ⋅+

= , deci VVVRRV T 35,2

10211

2

11 =⋅

+=⋅

+=

Comutarea ieşirii din 1 se va face la o valoare a tensiunii de intrare 2V :

DDT VRR

RVRR

RV ⋅+

+⋅+

=21

12

21

2 , DDV fiind tensiunea de alimentare de 5V.

Rezultă: VVVVRRV

RRV DDT 25

1025,2

10211

2

1

2

12 =⋅−⋅

+=⋅−⋅

+= .

Funcţionarea circuitului în condiţiile cerute de problemă este reprezentată în figura 1.35.

t0

+4VinV

0

+5VoutV

t

V1V2

Fig. 1.35 Funcţionarea circuitului în condiţiile cerute de problemă

Page 27: Electronica Digitala Aplicatii

2 SISTEME COMBINAŢIONALE

Aplicaţiile din acest capitol îşi propun să prezinte metodele de analiză şi sinteză folositela implementarea funcţiilor binare cu porţi logice, dar şi cu unele circuite integrate pe scarămedie (MSI), cum ar fi multiplexoarele şi demultiplexoarele.

2.1 Consideraţii teoretice

2.1.1 Implementarea cu porţi logice

Structurile numerice combinaţionale sau circuitele logice combinaţionale (CLC)implementează funcţii binare. O funcţie binară de n variabile binare independente este oaplicaţie f n : 0 1 0 1, ,→ , unde domeniul de definiţie este mulţimea

( ) 0 1 0 1 0 1 0 11 2 1 2, ... , , , , ,n

n nx x x x x x= ∈ ∈ ∈ ... , .

Numărul maxim de elemente ale mulţimii 0 1, n este 2n , dar nu este absolut necesarca funcţia să fie definită pentru toate aceste combinaţii de variabile. Numărul maxim defuncţii binare de n variabile este:

N C n

n

ni

i= =

= 2

0

222

Analiza unui circuit combinaţional are ca scop determinarea funcţiei logice intrare-ieşire. Aceasta se poate exprima fie în limbaj natural, fie algebric prin expresii logice, fieprin tabele de adevăr, fie prin diagrame Veitch-Karnaugh.

Sinteza unui circuit combinaţional urmăreşte determinarea schemei logice, pornindde la unul dintre modurile de reprezentare enumerate mai sus.

Page 28: Electronica Digitala Aplicatii

32 2 SISTEME COMBINAŢIONALE

Orice funcţie binară poate fi implementată numai cu porţi ŞI-NU. Se spune căoperatorul logic ŞI-NU formează un set complet de operatori. Panoul logic conţine 3 tipuride circuite integrate realizate în tehnologie TTL standard: porţi inversoare, porţi ŞI-NU cu 2intrări şi porţi ŞI-NU cu 3 intrări.

Pentru a găsi circuitul optim care implementează funcţia căutată este necesarăoperaţia de minimizare a funcţiei binare, în urma căreia rezultă o expresie algebrică cât maisimplă, care permite construcţia circuitului folosind un număr minim de porţi.

Există numeroase tehnici de minimizare: pentru calculul manual se preferă utilizareadiagramelor Veitch-Karnaugh, iar pentru calculul automat metode tabelare cum ar fimetoda Quine-McCluskey sau metoda Espresso.

Vom prezenta în continuare un exemplu de minimizare a funcţiei binare f,reprezentată prin tabelul de adevăr din figura 2.1, folosind diagramele Veitch-Karnaugh:

- funcţia dată are 4 variabile, deci diagrama Veitch-Karnaugh are 42 compartimente,fiecare corespunzând uneia dintre cele 16 valori ale funcţiei. Fiecare compartiment este“adresat” de o anumită combinaţie a variabilelor A, B, C şi D. După completareacompartimentelor cu valorile funcţiei din tabelul de adevăr, se grupează compartimentelevecine (diferă valoarea unei singure variabile) care conţin 1 logic, astfel încât fiecaregrupare să conţină un număr de i2 compartimente, unde i = 0,1,2,3 sau 4. Fiecare grupareeste definită de un produs de variabile, sub formă directă sau negată, iar expresia funcţiei seobţine prin aplicarea funcţiei SAU acestor “produse logice”.

Pentru exemplul considerat:

( )f A B C D B D C D A C B D C D A C, , , = ⋅ + ⋅ + ⋅ = ⋅ ⋅ ⋅ ⋅ ⋅

S-a folosit o teoremă fundamentală a algebrei boolene cunoscută sub numele de "Legile luiDeMorgan" care permite transformarea operaţiilor binare SAU în ŞI şi invers. Ea permiteimplementarea funcţiilor binare numai cu porţi ŞI-NU:

X Y X Y+ = ⋅ , sau relaţia duală: X Y X Y⋅ = +

A B C D f0 0 0 0 0 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 11 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 1

11

01

010011101100 Veitch Karnaugh

00 01 11 10

00

01

11

10

ABCDAA

B BB

C

C

D

D

D1

1

1

0

0

1

0

0

1

1

0

0

1

1

0

1

1

1

1

0

0

1

0

0

1

1

0

0

1

1

0

1

Fig. 2.1 Exemplu de folosire a diagramelor Veitch-Karnaugh

Page 29: Electronica Digitala Aplicatii

2.1 Consideraţii teoretice 33A

C

DB

f A A

A A A = A.

1A A 1 = A.

Fig. 2.2 Schema logică cu număr minim de porţi ŞI-NU

Inversoarele se pot obţine din porţi ŞI-NU prin conectarea împreună a intrărilor(legile de idempotenţă) sau prin conectarea celorlate intrări la 1 logic (elementul neutrupentru operaţia binară ŞI).

2.1.2 Implementarea cu multiplexoare/demultiplexoare

Funcţiile binare pot fi implementate cu ajutorul unor structuri combinaţionaleMSI, fără a mai fi necesară minimizarea lor.

Una dintre aceste structuri este decodificatorul(DCD). Decodificatorul este uncircuit integrat pe scară medie, care identifică un cod de intrare prin activarea uneisingure linii de ieşire. Dacă circuitul are n variabile binare de intrare, atunci numărulliniilor de ieşire este 2n . Figura 2.3 arată structura circuitului TTL pentru n = 2.

P0 P1 2P P3

A

B A B0 00 11 01 1

0 1 2 30 1 1 11 0 1 11 1 0 11 1 1 0

0 1 2 3

21

20AB

DCD

P0 P1 2P P3

Fig. 2.3 Structura, tabelul de adevăr şi reprezentarea decodificatorului TTL pentru n=2

Demultiplexorul(DMUX) este un circuit construit pe structura decodificatorului,care permite transmiterea datelor de pe o singură cale de intrare pe una din cele 2 n căide ieşire. Selecţia liniilor de ieşire se face prin aplicarea unui cod binar pe n linii deintrare, care devin acum intrări de selecţie. Structura demultiplexorului TTL pentrun = 2 este prezentată în figura 2.4.

A

BI

ENABLEprin conectarea la 0 permiteaccesul datelor de pe intrare( )

.P0 I .P1 I .P3 I.P2 I

0 1 2 3

21

20AB

DMUXI

ENABLE

Fig. 2.4 Structura şi reprezentarea demultiplexorului TTL pentru n=2

Page 30: Electronica Digitala Aplicatii

34 2 SISTEME COMBINAŢIONALE

Multiplexorul(MUX) realizează funcţia inversă demultiplexorului, adică permitetransmiterea datelor de la una din cele 2 n căi de intrare la o singură cale de ieşire.Selecţia unei anumite intrări de date se face prin aplicarea unui cod binar pe n linii deintrare, linii care sunt intrările de selecţie. Structura multiplexorului TTL pentru n = 2este prezentată în figura 2.5.

A

B0 1 2 3

21

20

AB MUX

E

I1 I3I2I0

W W

I0 I3I2I1

E

W W

Fig. 2.5 Structura şi reprezentarea multiplexorului TTL pentru n=2

În descrierile de mai sus, s-a precizat că aceste structuri corespund tehnologiei TTL.În tehnologia CMOS s-ar putea repeta aceste structuri, dar s-au descoperit alte structuri maieficiente, bazate pe poarta de transmisie CMOS. Circuitele pot fi asimilate cu niştecomutatoare programabile. Aceste comutatoare sunt bidirecţionale, deci acelaşi circuit poatefi utilizat fie ca multiplexor, fie ca demultiplexor, iar semnalele transmise pot fi şi analogice.Schema simplificată a unui MUX/DMUX cu 3 intrări de selecţie în tehnologie CMOS, careselectează intrarea/ieşirea cu numărul 5, este dată în figura 2.6.

Aceste structuri combinaţionale MSI implementează toţi termenii produsfundamentali ai unei funcţii cu număr de variabile mai mic sau egal cu numărul de intrări deselecţie n. Din acest motiv, implementarea funcţiilor binare nu necesită operaţii deminimizare, ci numai alegerea corectă a conexiunilor. Dacă numărul de variabile ale funcţieieste mai mic sau egal cu numărul de intrări de selecţie n, atunci implementarea se facedirect, iar în caz contrar mai sunt necesare o serie de transformări algebrice pentru a găsi oaltă structură adiţională, formată de obicei din porţi, care să completeze lipsa intrărilor deselecţie de la MUX sau DMUX.

A = 1

B = 0 21

20

22

C = 1

0 1 2 3 4 5 6 7

E

MUX / DMUXWieşire / intrare

intrare / ieşire

Fig. 2.6 Implementarea funcţiei cu demultiplexor şi cu multiplexor CMOS

Page 31: Electronica Digitala Aplicatii

2.2 Demonstraţii practice 35Dacă ne propunem să implementăm cu MUX şi apoi cu DMUX funcţia binară

f P P P P P= + + + +0 1 2 6 7 , cele două soluţii TTL sunt prezentate în figura 2.7.

AB

I21

20

DMUX22

C 0 1 2 3 4 5 6 7E

f

AB 21

20

22

C

0 1 2 3 4 5 6 7

EMUXW

f

1

Fig. 2.7 Implementarea funcţiei cu demultiplexor şi cu multiplexor

Implementarea cu MUX este imediată. Intrările corespunzătoare indicilor termeniloriP din suma logică se conectează la 1 logic, iar celelalte intrări la 0 logic. Pentru

implementarea cu DMUX ne interesează termenii Pi , deci scriem funcţia sub forma

f P P P P P= ⋅ ⋅ ⋅ ⋅0 1 2 6 7 . Ieşirile corespunzătoare indicilor termenilor Pi se conectează laintrările unei porţi ŞI-NU.

Dacă demultiplexorul este o structură CMOS, atunci la fiecare dintre ieşirile 0, … , 7se conectează câte o rezistenţă la +V . În caz contrar, ieşirile care nu sunt selectate rămân înaer (stare de înaltă impedanţă).

2.2 Demonstraţii practice

Consideraţiile asupra alimentării panoului logic, formulate în capitolul anterior,rămân valabile pentru toate aplicaţiile practice din această lucrare. Circuitele integrate MSIau deja o complexitate mai mare decât porţile logice şi utilizarea lor la implementarea unorscheme electrice nu se mai poate face fără consultarea foii de catalog.

Panoul logic conţine porţi logice, două circuite integrate MSI realizate în tehnologieTTL standard şi un circuit integrat în tehnologie CMOS – seria 4000. Circuitul SN 74150este un multiplexor TTL cu 4 intrări de selecţie, deci cu 16 căi de intrare, iar circuitul SN74155 este un circuit TTL cu funcţie dublă: fie un demultiplexor cu 3 intrări de selecţie, fiedouă demultiplexoare cu câte 2 intrări de selecţie. Circuitul MMC 4097 este un circuitCMOS care conţine două multiplexoare/demultiplexoare cu câte 3 intrări de selecţie.

Foile de catalog furnizează informaţia completă pentru utilizarea corectă a acestorcircuite integrate. Chiar dacă circuitele sunt fabricate de alt producător, ele trebuie sărespecte standardul elaborat de firma TEXAS INSTRUMENTS pentru circuitele TTL,respectiv RCA, pentru circuitele CMOS. Fragmente din foile de catalog, care conţin numaiinformaţiile strict necesare pentru utilizarea acestor circuite integrate sunt prezentate înfigurile 2.8, 2.9 şi respectiv 2.10. În cazul structurilor combinaţionale, aceste informaţiistrict necesare sunt cele care permit realizarea conexiunilor conform schemei logice, adicăconfiguraţia pinilor şi tabelul de adevăr.

Page 32: Electronica Digitala Aplicatii

36 2 SISTEME COMBINAŢIONALE

Fig. 2.8 Configuraţia pinilor şi tabelul de adevăr pentru circuitul SN 74150

Fig. 2.9 Configuraţia pinilor şi tabelul de adevăr pentru circuitul SN 74155

Observăm că pinul ENABLE din descrierea teoretică de mai sus se numeşte aiciSTROBE şi are rolul de a permite accesul datelor la ieşire. El trebuie conectat la masă (0logic), după cum rezultă din tabelele de adevăr. O altă deosebire importantă constă înnotarea variabilelor aplicate pe intrările de selecţie. La sinteza structurilor combinaţionalecu porţi logice, sau la prezentarea teoretică de mai sus, s-a notat cu A variabila maisemnificativă, iar cea mai puţin semnificativă cu B, C sau D, funcţie de numărul total devariabile. Convenţia adoptată de firma TEXAS INSTRUMENTS, după cum observăm dintabelele de adevăr, este exact inversă: C sau D este intrarea de selecţie mai semnificativă, iarA este intrarea de selecţie cea mai puţin semnificativă. În fond este vorba de o simplăconvenţie de care trebuie însă să ţinem seamă pentru folosirea corectă a circuitelor. Iată dece, printre altele, este obligatorie consultarea foii de catalog atunci când proiectăm diversestructuri folosind circuite integrate numerice!

Circuitul integrat MMC 4097(dacă este de fabricaţie românească, sau pur şi simplu4097, precedat de alte caractere, dacă este fabricat de altă firmă) are un pin numit INHIBIT, cuacţiune contrară pinului ENABLE. Este activ pe 1 logic, având rolul de a bloca accesul datelor.

Page 33: Electronica Digitala Aplicatii

2.2 Demonstraţii practice 37

Fig. 2.10 Configuraţia pinilor şi tabelul de adevăr pentru circuitul MMC 4097

la ieşire. El trebuie conectat la masă (0 logic), după cum rezultă din tabelele de adevăr.Convenţia de alocare a ponderilor pentru variabilele de selecţie se păstrează la fel ca la TTL:C este intrarea mai semnificativă, iar A este intrarea cea mai puţin semnificativă.

2.2.1 Se face analiza schemei logice din figura 2.11, reprezentând cele 4 funcţiibinare prin expresii algebrice, tabele de adevăr şi diagrame temporale. Se verificăexperimental rezultatele obţinute în urma analizei teoretice a circuitului.

AB f

f

f

f

0

1

2

3

Fig. 2.11 Schema logică a unui decodificator realizat cu porţi

2.2.2 Se implementează cu număr minim de porţi ŞI-NU funcţia binarăreprezentată prin tabelul de adevăr din figura 2.12 (x – este 0 sau 1, după cum neconvine). Se realizează montajul din figură şi se face verificarea sintezei prin analizacircuitului folosind tabelul de adevăr. Schema logică obţinută este unică?

A B C D f0 0 0 0 0 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 11 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 1

1

10

1

0

1

0

01

0

10

xxx

x

AA

B BB

C

C

D

D

D

1

1

1

0 0

1

0

1

0

0

1

0x

x

x

x

A

CD

f

f = C D + A C . . .= C D A C . .Fig. 2.12 Sinteza funcţiei binare reprezentată prin tabelul de adevăr

Page 34: Electronica Digitala Aplicatii

38 2 SISTEME COMBINAŢIONALE

2.2.3 Se consideră funcţia binară definită de tabelul de adevăr din figura 2.13. Seimplementează folosind circuitul integrat SN 74155 ca demultiplexor cu 8 căi de ieşire şi severifică funcţionarea circuitului obţinut folosind tabelul de adevăr. Se repetă implementareafuncţiei cu circuitul MMC4097 şi se verifică din nou funcţionarea corectă a montajului.

C B A f

0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

1

10

1

10

00

A

B SN 74155C

0 1 2 3 4 5 6 7

f

1C 2C

BA

1G

2G

Fig. 2.13 Implementarea unei funcţii binare cu circuitul SN 74155

2.2.4 Un juriu format din 4 persoane decide asupra reuşitei unui concurent prinmajoritate de voturi, semnalizate prin aprinderea unui element de afişaj. Seimplementează funcţia care comandă aprinderea LED-ului, reprezentată prin tabelul deadevăr din figura 2.14, folosind circuitul integrat SN 74150. Se verifică funcţionareacorectă a montajului (în schemele logice cu multiplexoare am folosit pentru intrărinotaţia iI ; în foaia de catalog a circuitului 74150 de la TEXAS INSTRUMENTS, ele

sunt notate cu iE , iar complementarea lor la ieşire indică că este disponibilă ieşirea W ;informaţia din catalog trebuie adaptată la cunoştinţele noastre şi este posibil ca încataloagele altor firme să întâlnim alte notaţii).

D C B A f0 0 0 0 0 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 11 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 1

0

1

0

0

0

1

1

000000

0

11

A

BSN 74150

C C

BA

D D

f

W

G

I0 I1 I2 I3 I4 I5 I6 I7 I8 I9 I10 I11 I12 I13 I14 I15

10

Fig. 2.14 Implementarea funcţiei de vot majoritar cu circuitul SN 74150

2.2.5 Se repetă implementarea funcţiei de la punctul 2.2.4, folosind de această datăcircuitul integrat SN 74155 ca demultiplexor cu 8 căi de ieşire şi se verifică funcţionareacircuitului obţinut folosind tabelul de adevăr dat în figura 2.14. Să se arate cum s-a făcutsinteza schemei logice prezentate în figura 2.15.

Page 35: Electronica Digitala Aplicatii
Page 36: Electronica Digitala Aplicatii

40 2 SISTEME COMBINAŢIONALE

2.3 Probleme rezolvate

2.3.1 Să se proiecteze un circuit logic combinaţional de tip "cheie electronică" cu 3intrări şi o singură ieşire. Fiecare intrare reprezintă starea unui contact: dacă contactul estedeschis, acesta furnizează 1 logic pe intrarea respectivă. În starea iniţială toate contactelesunt deschise şi ieşirea circuitului este în 1 logic, adică alarma este dezactivată.

Dacă închiderea contactelor (care pot acţiona, de exemplu, nişte zăvoare electro-magnetice) se face într-o anumită ordine prestabilită, atunci ieşirea rămâne în 1 logic şialarma nu este declanşată. Dacă ordinea de închidere a contactelor nu este respectată, ieşireatrece în 0 logic şi se afişează starea de alarmă prin aprinderea unui LED.

Câte combinaţii posibile există? Dar pentru 5 contacte? Explicaţi cum trebuie să fiecontactele şi de ce.

Rezolvare:Să presupunem că ordinea prestabilită de închidere a contactelor este B, C, A. Tabelul de

adevăr pentru implementarea funcţiei de alarmare, minimizarea funcţiei cu ajutorul diagrameiVeitch şi schema logică obţinută sunt date în figura 2.17.

A B C f 0 0 0

0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

1

10

1

10

00

AA

B BB

C

1

0

0

10 1

C 0 1

A

C

f

f = B C + A C . . .= B C A C . .

B

Fig. 2.17 Sinteza funcţiei binare de alarmare

Pentru 3 contacte există 3! = 6 combinaţii posibile, iar pentru 5 contacte avem 120 decombinaţii distincte. Se folosesc întrerupătoare cu menţinere, deoarece este necesară memorareastărilor contactelor la fiecare pas. În lipsa acestor memorii mecanice, sunt necesare memoriielectronice, adică circuite secvenţiale, deci problema nu este rezolvabilă prin metodele prezentatepână acum în lucrare. .

2.3.2 Să se proiecteze un circuit de decodificare pentru afişajul cu 7 segmente dinfigura 2.18, care să permită afişarea a 4 stări distincte, prin literele O, L, H şi E. Cele 4 stăridistincte sunt date de toate combinaţiile posibile realizate cu 2 variabile de intrare, A şi B.Segmentele elementului de afişaj sunt aprinse pentru 0 logic şi stinse pentru 1 logic.

a

b

c

d

e

f g

Fig. 2.18 Notaţii folosite pentru cele 7 segmente ale elementului de afişaj

Rezolvare:Pentru fiecare segment de afişaj se generează câte o funcţie binară conform cerinţelor

problemei. Rezultă tabelul de adevăr din figura 2.19. Prin minimizare se obţin ecuaţiile circuitului.

Page 37: Electronica Digitala Aplicatii

2.3 Probleme rezolvate 41

A B a b c d e f g Simbol

0 0 0 0 0 0 0 0 1

0 1 1 1 1 0 0 0 1

1 0 1 0 0 1 0 0 0

1 1 0 1 1 0 0 0 0

A

B

. . .. .A B + A B = a = A B A B

b = c = B.d = A B

e = f = 0

g =A

abcdef

g

Fig. 2.19 Sinteza circuitului de decodificare pentru afişajul cu 7 segmente

2.3.3 O companie face angajări de personal pentru diferite compartimente. Candidaţiitrebuie să îndeplinească cel puţin una dintre următoarele 5 condiţii:

- a: bărbat, necăsătorit, cu studii superioare- b: necăsătorit(ă), cu studii superioare, vârsta sub 30 de ani- c: femeie, necăsătorită, fără studii superioare- d: bărbat, vârsta sub 30 de ani- e: necăsătorit(ă), vârsta peste 30 de ani

Să se proiecteze un circuit pentru selecţia candidaţilor.

Rezolvare:Se pune problema să găsim o funcţie binară f, de mai multe variabile, pentru selecţia

candidaţilor. Dacă f = 1 se consideră candidat acceptat, iar dacă f = 0, atunci avem de-a face cu uncandidat respins.

Stabilim pentru început care sunt variabilele funcţiei:A - vârsta (A = 1 dacă vârsta este sub 30 de ani, şi A = 0 în caz contrar)B - sexul (B = 1 dacă este bărbătesc şi B = 0 dacă este femeiesc)C - starea civilă (C = 1 dacă este necăsătorit(ă) şi C = 0 dacă este căsătorit(ă))D - studii (D = 1 dacă are studii superioare şi D = 0 dacă nu are studii)

Aceste variabile binare rezultă din datele problemei, iar proiectantul este liber să aleagămodul în care se atribuie valorile logice acestor variabile. Candidatul este acceptat dacă cel puţinuna dintre condiţiile cerute este îndeplinită, adică:

f a b c d e= + + + + , undea BCD b ACD c BCD d AB e AC= = = = =, , , ,

Expresia algebrică a funcţiei căutate este f BCD ACD BCD AB AC= + + + + , dar aceastăformă a funcţiei nu este minimă. Pentru o minimizare rapidă şi eficientă se trec termenii produsîntr-o diagramă Veitch. Soluţia problemei este dată în figura 2.20.

AA

B BB

C

D

D

D0 0

C

0 1

0

0

1

0

1

11

11

111

A

C f

f = C + A B . = .C A B .

B

Fig. 2.20 Sinteza funcţiei binare f(A,B,C,D)

Page 38: Electronica Digitala Aplicatii

42 2 SISTEME COMBINAŢIONALE

2.3.4 Să se facă sinteza funcţiei de vot majoritar, reprezentată prin tabelul de adevărdin figura 2.14, cu ajutorul unui demultiplexor cu 8 căi de ieşire.

Rezolvare:Funcţia poate fi scrisă în forma canonică disjunctivă sub forma:

f P P P P P= + + + +7 11 13 14 15 . Observăm însă că numărul de variabile ale funcţiei este mai maredecât numărul intrărilor de selecţie ale demultiplexorului. Din acest motiv vom face o serie detransformări algebrice care să pună în evidenţă mintermenii unei funcţii de 3 variabile, mintermenicare sunt disponibili la ieşirile demultiplexorului. Cea de-a patra variabilă va fi introdusă într-ologică combinaţională suplimentară, realizată de obicei cu porţi logice.

f P P P P P DCBA DCBA DCBA DCBA DCBA= + + + + = + + + + =7 11 13 14 15

( ) ( )= + + + + = + + + + ⋅ =A DCB DCB DCB DCB ADCB A P P P P A P3 5 6 7 7' ' ' ' '

( )= + + + = ⋅ ⋅ ⋅ + = ⋅ ⋅ ⋅ ⋅A P P P P A P P P P A P P P P3 5 6 7 3 5 6 7 3 5 6 7' ' ' ' ' ' ' ' ' ' ' '

Expresia algebrică obţinută permite implementarea funcţiei f, conform schemei din figura2.15. Este evident că oricare alte 3 variabile puteau fi aplicate pe intrările de selecţie aledemultiplexorului, cu condiţia refacerii calculelor de mai sus. .

2.3.5 Să se proiecteze un convertor de cod din cod binar în cod Gray pentru numerereprezentate pe 3 biţi, folosind:

a) un decodificator cu 3 intrări de selecţie.b) multiplexoare cu câte 2 intrări de selecţie.c) un număr minim de circuite.

Rezolvare:Două reprezentări succesive în cod Gray diferă printr-un singur bit. Tabelul din figura 2.21

indică corespondenţa cod binar - cod Gray, iar schema logică alăturată prezintă soluţia de la punctula. Pentru sinteza schemelor logice în probleme, propunem ca variabila A să fie aplicată pe intrareade selecţie cea mai semnificativă. La problema 2.3.4 am păstrat convenţia din catalog, pentru căschema logică obţinută este implementată cu circuitul SN 74155, aşa cum se vede în figura 2.15.

A B C

0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

A B C

0 0 0 0 0 1 0 1 1 0 1 0 1 1 0 1 1 1 1 0 1 1 0 0

G G G

AB 21

20

DCD22

C 0 1 2 3 4 5 6 7

B CG GAG

Fig. 2.21 Convertor de cod binar - Gray cu decodificator şi porţi

b) Se pot folosi multiplexoare cu câte 2 intrări de selecţie prin transformările:

( ) ( )A ABC ABC ABC ABC AB AB C AB AB C P PG = + + + = + ⋅ + + ⋅ = +2 3' '

( ) ( )B ABC ABC ABC ABC AB AB C AB AB C P PG = + + + = + ⋅ + + ⋅ = +1 2' '

( ) ( )C ABC ABC ABC ABC P P C P P CG = + + + = + ⋅ + + ⋅0 2 1 3' ' ' '

Page 39: Electronica Digitala Aplicatii

2.3 Probleme rezolvate 43

0 1 2 321

20

AB MUX E

W

10

AG

0 1 2 321

20

AB MUX E

W

10

G

0 1 2 321

20

AB MUX E

W

GB C

C

Fig. 2.22 Convertor de cod binar - Gray cu multiplexoareSchema logică din figura 2.22 prezintă o soluţie a problemei. Sunt posibile şi alte soluţii,

funcţie de alegerea variabilelor care se aplică pe intrările de selecţie.

c) Implementarea cea mai simplă este cu porţi logice. Prin minimizare cu ajutorul diagrameiVeitch-Karnaugh rezultă următoarele relaţii:

A AG = , B AB AB A BG = + = ⊕ , C BC BC B CG = + = ⊕ .Deci sunt necesare numai două porţi logice SAU-EXCLUSIV. .

2.3.6 Să se implementeze un sumator complet de 1 bit, folosind:a) multiplexoare cu 4 căi de intrare;b) demultiplexor cu 4 căi de ieşire şi porţi;

Comparaţi cele două soluţii din punct de vedere al numărului de circuite integrate şi altimpului de propagare.

Rezolvare:Sumatorul de 1 bit are două intrări pentru operanzi, notate aici cu A şi B, şi încă o intrare

pentru transportul de la sumatorul de rang inferior, notată aici cu C–1. Circuitul are două ieşiri,suma, notată cu S, şi transportul, notată cu C. Tabelul de adevăr este dat în figura 2.23.

( ) ( )'2

'11

'3117653 PPCPABBABACABCPPPPC ++=+++=+++= −−−

( ) ( ) ( ) ( )'3

'01

'2

'11117421 PPCPPCABBACBABACPPPPS +++=+++=+++= −−−−

Schemele logice care se obţin cu aceste ecuaţii sunt date tot în figura 2.23.

A 0 0 0

0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

C 0 0

0 1 0 1 1 0 0 1 1 0 1 0 1 1

BC-1 S

0 1 2 321

20

AB MUX E

W

1C -1

C

0 1 2 321

20

AB MUX E

W

C -1

S

Fig. 2.23 Sumator complet de 1 bit implementat cu multiplexoare

b) Pentru implementarea cu demultiplexor, se fac următoarele transformări (punem înevidenţă termeni produs '

iP ):

( ) '2

'11

'3

'2

'11

'3 PPCPPPCPC ⋅⋅⋅=++= −−

( ) ( ) '3

'01

'2

'11

'3

'01

'2

'11 PPCPPCPPCPPCS ⋅⋅⋅⋅⋅=+++= −−−−

Page 40: Electronica Digitala Aplicatii

44 2 SISTEME COMBINAŢIONALE

A

BDMUX21

200 1 2 3

CS

C -1

E

I

Fig. 2.24 Sumator complet de 1 bit implementat cu decodificator şi porţi ŞI-NU

Dacă se compară schemele logice astfel obţinute, observăm că implementarea cudemultiplexor este mult prea costisitoare, atât din punct de vedere al numărului de circuite integrate,cât şi al timpului de propagare. Implementarea cu multiplexoare este mai rezonabilă, dar cea maisimplă soluţie se obţine prin minimizarea funcţiilor şi implementare cu porţi. Această soluţie a fostprezentată în curs. .

2.3.7 Un circuit logic combinaţional are 4 intrări, 2 ieşiri şi funcţionează astfel încât:- dacă 00=F , atunci IQ = ;- dacă 01=F , atunci ( )4 mod 1+= IQ ;- dacă 10=F , atunci ( )4 mod 1−= IQ ;- dacă 11=F , atunci IQ = ,

unde F, Q şi I sunt cuvinte de câte doi biţi.a) Să se scrie funcţiile logice 1Q şi 0Q asociate ieşirilor circuitului.b) Să se implementeze circuitul anterior descris.

Rezolvare:a) Se poate folosi tabelul de adevăr pentru fiecare dintre funcţiile cerute, dar şi o metodă mai

rapidă care presupune scrierea directă a funcţiei pornind de la o formulare convenabilă în limbajnatural. Este evident că pentru 01 =F şi 00 =F , 11 IQ = şi 00 IQ = . Pentru 01 =F şi 10 =F , seimpune ca intrarea să fie 01 =I şi 10 =I , sau exact invers, 11 =I şi 00 =I , deoarece numerele 01şi 10 generează prin incrementare bitul cel mai semnificativ, 11 =Q . Se pot folosi şi diagrameleVeitch – Karnaugh de două variabile, 1I şi 0I , pentru fiecare combinaţie 1F , 0F . Expresiile ceruteîn problemă devin:

( ) ( ) 101010101011011 IFFIIFFIIFFIFFQ +⊕+⊕+=

0010010010010 IFFIFFIFFIFFQ +++=

b) Probabil că implementarea cea mai simplă se poate face folosind două multiplexoare cucâte 2 intrări de selecţie ( 1F şi 0F ) şi porţi (două inversoare, o poartă SAU-EXCLUSIV şi o poartăSAU-EXCLUSIV NEGAT). Lăsăm în seama cititorului găsirea altor soluţii posibile. .

Page 41: Electronica Digitala Aplicatii

3 CIRCUITE DE IMPULS

Aplicaţiile din acest capitol îşi propun să prezinte circuite secvenţiale regenerative, caregenerează şi prelucrează impulsuri. Este vorba de clasa circuitelor multivibratoare, care conţinecircuite astabile, monostabile sau bistabile, realizate cu porţi logice sau cu circuite integratespecializate.

3.1 Consideraţii teoretice

3.1.1 Circuite astabile

Circuitele astabile sunt circuite basculante care nu au nici o stare stabilă. Ele aunumai două stări cvasistabile, iar trecerea de la o stare la alta se face fără comandă dinexterior. Circuitul este de fapt un oscilator care generează semnal numeric.Cvasistabilitatea nu se referă la nivelele logice ale semnalului generat, ele sunt 0 logicsau 1 logic şi sunt perfect stabile pe o anumită durată de timp. Cvasistabilitatea se referăla faptul că nici unul dintre nivelele logice 0 sau 1 nu poate fi menţinut la ieşire uninterval de timp oricât de mare. De aici rezultă şi denumirea circuitului.

Durata şi frecvenţa impulsurilor generate de circuitul astabil depind de parametriiacestuia, de obicei determinaţi de reţele RC. Pentru o stabilitate ridicată a frecvenţei seutilizează cristale de cuarţ.

Circuitele astabile pot funcţiona şi în regim de sincronizare declanşată saucomandată. În primul caz, la fiecare impuls de declanşare astabilul porneşte cu fază fixăa oscilaţiilor. În al doilea caz, se generează impulsuri atât timp cât la intrare există unsemnal de comandă activ pe unul dintre cele două nivele logice.

Circuitele astabile se pot implementa cu componente discrete, cu porţi logice saucu circuite integrate specializate. Nu vom discuta în acest capitol implementările cutranzistoare, iar folosirea circuitelor integrate specializate va fi discutată în secţiuneaurmătoare a acestui capitol.

Page 42: Electronica Digitala Aplicatii

46 3 CIRCUITE DE IMPULS

CR

1V 2V outV

outV

0V

VT0V

V1

Fig. 3.1 Circuit astabil cu porţi CMOS

O schemă simplă de circuit astabil cu porţi CMOS este prezentată în figura 3.1. Vomneglija întârzierea semnalelor prin porţi şi vom presupune că nivelul de tensiune la ieşire seschimbă instantaneu când tensiunea de intrare atinge valoarea de prag VT.

Dacă V1 atinge valoarea lui VT, inversoarele comută şi ieşirea Vout trece în 1 logic.Acest salt de tensiune este transmis prin condensator şi V1 devine VT + V+, unde V+ estetensiunea de alimentare a circuitului. De fapt, tensiunea nu poate fi chiar atât de mare,pentru că intervine limitarea din reţeaua de protecţie a intrării, dar deocamdată să neglijămşi acest lucru. Condensatorul începe să se descarce prin rezistenţa R, iar când tensiunea pe elatinge din nou valoarea VT porţile comută din nou. Se produce un nou salt de tensiune peintrarea V1, de la VT la VT - V+, cu aceeaşi observaţie de mai sus. Condensatorul se încarcăacum, iar când V1 atinge din nou valoarea lui VT, întregul ciclu se reia.

Circuitul nu are o stare stabilă. Salturile de tensiune între nivele se produc cu operiodicitate determinată de elemente pasive R, C şi de pragul de tensiune VT. PentruVT = V+/2 factorul de umplere este ½, iar frecvenţa este dată de relaţia:

CRf

⋅⋅=

2,21 . Cu

acest circuit se pot genera impulsuri cu o frecvenţă stabilă de până la 1MHz.

Pentru obţinerea unor frecvenţe stabile în timp (ceasuri electronice, calculatoare etc.)se folosesc astabile cu cristal de cuarţ. Din punct de vedere electric, cristalul oferă oimpedanţă cu proprietăţi de circuit rezonant cu factor de calitate foarte mare. În figura 3.2 seprezintă simbolul convenţional pentru cristalul de cuarţ, circuitul electric echivalent şivariaţia reactanţei cu frecvenţa (dacă se neglijează rezistenţa r).

Se constată existenţa unei rezonanţe serie la frecvenţa CLS ⋅

=Ω 1 , şi a unei

rezonanţe paralel la frecvenţa

0

0

1

CCCCL

P

+⋅

⋅=Ω .

L C

C0

r f

X

f p

fs

X > 0(inductiv)

X < 0(capacitiv)

Fig. 3.2 Cristalul de cuarţ, circuitul echivalent şi dependenţa reactanţei de frecvenţă

Page 43: Electronica Digitala Aplicatii

3.1 Consideraţii teoretice 47

R

TC SC

QR

TC

SC

Q

out

R f

Fig. 3.3 Reţeaua de reacţie π şi oscilator CMOS cu cuarţ

Oscilatoarele cu rezonanţă serie sunt proiectate să oscileze la frecvenţa derezonanţă serie. Cele cu rezonanţă paralel oscilează la frecvenţe cuprinse între cele douăfrecvenţe de rezonanţă serie şi paralel, în funcţie de valoarea încărcării capacitive acuarţului. Circuitele cu rezonanţă paralel au performanţe mai bune când lucrează cuamplificatoare cu impedanţă mare de intrare, deci ele sunt cele mai răspândite pentruoscilatoarele cu cuarţ care utilizează amplificatoare CMOS.

Figura 3.3 ilustrează configuraţia adecvată pentru o reţea de reacţie a unuioscilator cu rezonanţă paralel, reţea care asigură un defazaj de 1800, iar schema practicăde oscilator mai conţine un inversor CMOS pe post de amplificator care realizează undefazaj de 1800, polarizat prin rezistenţa fR , pentru a îndeplini condiţia

2/+== VVV inout . Valoarea acestei rezistenţe este suficient de mare pentru a preveniîncărcarea reţelei de reacţie, dar mică în comparaţie cu rezistenţa de intrare aamplificatorului inversor.

Principalul dezavantaj al oscilatoarelor cu porţi CMOS – seria 4000 îl constituiefrecvenţa redusă a semnalelor generate. La frecvenţe ce depăşesc 4MHz stabilitateafuncţionării circuitului pune mari probleme. Pentru frecvenţe de ordinul zecilor de MHz sefolosesc circuite cu porţi TTL.

Figura 3.4 prezintă schema completă a unui oscilator cu cuarţ şi porţi TTL. Abatereade frecvenţă este de ordinul 76 10...10 −− şi poate atinge valori de 98 10...10 −− dacă cuarţul esteintrodus într-o incintă termostatată ([Nicula, 1994]).

Q

R 1

820

R2

820C

1n7404 7404 7404

out

Fig. 3.4 Oscilator cu cuarţ şi porţi TTL

Page 44: Electronica Digitala Aplicatii

48 3 CIRCUITE DE IMPULS

3.1.2 Circuite monostabile

Circuitele monostabile sunt circuite basculante cu o singură stare stabilă şi cu ostare cvasistabilă. Trecerea în starea cvasistabilă se realizează sub acţiunea uneicomenzi exterioare, iar revenirea se face după un anumit timp, dependent numai deparametrii circuitului şi nu de semnalele externe de comandă.

Durata stării cvasistabile este dată de circuitul extern de temporizare formatdintr-un grup RC. Stabilitatea acestei durate este una din cerinţele principale impuseunui monostabil.

Un circuit monostabil poate fi făcut să funcţioneze şi în regim de redeclanşare(retriggerable), când procesul cvasistaţionar poate fi reînceput chiar în timpuldesfăşurării ciclului de temporizare.

Circuitele monostabile se pot implementa cu componente discrete, cu porţi logicesau cu circuite integrate specializate. Nu vom discuta în acest capitol implementările cutranzistoare, iar folosirea circuitelor integrate specializate va fi discutată în secţiuneaurmătoare a acestui capitol.

O schemă simplă de circuit monostabil cu porţi CMOS este prezentată în figura 3.5.Pulsul de declanşare aplicat pe intrarea porţii SAU-NU va determina comutarea ieşirii porţiidin 1 în 0 logic. Condensatorul C, neîncărcat, transmite impulsul spre poarta inversoare,care comută şi ea, iar Vout devine 1 logic. Ieşirea Vout se aplică prin reacţie celeilalte intrăriîn poarta SAU-NU, care poate substitui impulsul iniţiator (bucla s-a închis). Durata minimăa impulsului de iniţiere trebuie să fie egală cu suma timpilor de propagare prin cele douăporţi. Tensiunea pe condensator creşte cu o constantă de timp RC şi atunci când atingevaloarea de prag VT , inversorul comută , iar tensiunea la ieşire revine la 0 logic.

Dacă tensiunea de prag este cam jumătate din tensiunea de alimentare, atunci duratatemporizării este de circa CR ⋅⋅69,0 , valoare ce rezultă din rezolvarea ecuaţiei de încărcarea unui condensator între două limite de tensiune cunoscute.

Stabilitatea acestui circuit este destul de bună pentru că tensiunile de prag lacircuitele CMOS nu sunt influenţate de temperatură. După cum indică şi relaţia de mai sus,durata pulsului poate fi modificată prin reglarea valorilor rezistenţei (R) şi a condensatorului(C). Este însă evident că o structură de circuit integrat specializat oferă performanţesuperioare în privinţa stabilităţii duratei pulsului şi a parametrilor formelor de undă de laieşire.

CR

1V 2VoutV

V+

inV

outV

0V

0V

0V

0V

inV

1V

2V

Fig. 3.5 Circuit monostabil cu porţi CMOS

Page 45: Electronica Digitala Aplicatii

3.1 Consideraţii teoretice 493.1.3 Circuite bistabile

Circuitele bistabile sunt circuite basculante care au două stări stabile. Trecerea dela o stare la alta se face cu ajutorul unor semnale de comandă aplicate din exterior.

În general, bistabilele au două ieşiri complementare notate cu Q şi Q. Ele potbascula asincron, imediat ce primesc comanda la intrare, sau sincron cu un impuls deceas care condiţionează bascularea.

Un exemplu de bistabil asincron în sensul definiţiei de mai sus este circuitul dinfigura 3.6. Stările logice la ieşiri sunt complementare şi comută la fiecare acţionare acomutatorului cu 2 poziţii de la intrare. Dacă comutatorul nu mai este acţionat, duratafiecărei stări logice, 0 sau 1, este nelimitată, cu condiţia ca circuitul să rămână alimentatpe toată durata experimentului.

Q

Q

Fig. 3.6 Latch pentru filtrarea impulsurilor parazite pe contacte

Circuitul se mai numeşte LATCH, sau element de memorare, şi probabil că aplicaţiaprincipală a acestui circuit este filtrarea impulsurilor parazite care apar la comutareacontactelor mecanice.

Bistabilele cu ceas, sau bistabilele sincrone, sunt structuri mai complexe, uneori cumai multe etaje comandate de semnalul de ceas, semnal furnizat de cele mai multe ori de unastabil. Modificarea stării la ieşiri se face pe fronturile semnalului de ceas. Pentru catranziţiile efectuate de bistabile să fie corecte, pe intrările lor se aplică semnale decomandă sintetizate pe baza tabelelor de tranziţie corespunzătoare tipurilor de bistabileutilizate.

Figura 3.7 reprezintă tabelele pentru bistabilul de tip D. Cele două tabele suntperfect echivalente. Primul tabel se numeşte de obicei tabel de adevăr, datorităasemănării cu un tabel de adevăr pentru circuite combinaţionale: intrările sunt încoloanele din stânga, iar ieşirea Q+ este în dreapta. Aici avem o singură intrare de date,notată cu D. Notaţia Q indică starea actuală a ieşirii Q, iar Q+ indică valoarea viitoare aieşirii Q, după apariţia frontului de ceas care comută bistabilul. Ieşirea Q este ignorată,ea fiind mereu complementul lui Q. Tabelul tranziţiilor conţine în stânga coloanele Q şiQ+, iar în dreapta valorile D ale intrării care ar genera tranziţia respectivă din Q în Q+.

D Q+0 01 1

tabel de adevăr tabel de tranziţie

Q Q+ D0 0 00 1 11 0 01 1 1

Fig. 3.7 Tabele de tranziţie pentru bistabilul de tip D

Page 46: Electronica Digitala Aplicatii

50 3 CIRCUITE DE IMPULS

tabel de adevăr tabel de tranziţie

Q Q+

0 0 0 x0 1 1 x1 0 x 11 1 x 0

J KQ+J K0 0 0 1 0 1 0 1 1 1

Q

Q

Fig. 3.8 Tabele de tranziţie pentru bistabilul de tip JK

Figura 3.8 reprezintă tabelele pentru bistabilul de tip JK. De data aceasta existădouă intrări separate de date, notate cu J şi K, iar funcţionarea acestui bistabil este maicomplexă. El nu mai este un simplu element de memorie ca bistabilul de tip D, fiindcapabil de complementarea stării prezente, oricare ar fi ea, prin aplicarea lui 1 logic pecele două intrări: Q+ = Q. Simbolul “x” are semnificaţia cunoscută: “don’t care”.

Aceste două tipuri de bistabile sunt implementate în structurile integrate careconţin bistabile separate. Bistabilele de tip SR au fost mai puţin utilizate datoritărestricţiei impuse intrărilor, iar bistabilele de tip T sunt utilizate numai în circuite carerealizează funcţia de numărare.

3.2 Demonstraţii practice

Consideraţiile asupra alimentării panoului logic, formulate în primul capitol, rămânvalabile şi aici. Pentru circuitele integrate specializate care sunt folosite în această aplicaţieavem din nou nevoie de foile de catalog.

Panoul logic conţine porţi logice, trei circuite integrate CMOS şi un circuit integratTTL. Primul circuit integrat folosit în aplicaţie este MMC 4047, un circuit cu funcţie deastabil sau monostabil, după cum este conectat. Configuraţia pinilor şi tabelul de funcţionaresunt prezentate în figura 3.9.

Fig. 3.9 Configuraţia pinilor şi tabelul de funcţionare pentru circuitul MMC 4047

Page 47: Electronica Digitala Aplicatii

3.2 Demonstraţii practice 51

Fig. 3.10 Configura!ia pinilor "i rela!ia de calcul al frecven!ei pentru circuitul SN 74S124

Circuitul integrat SN 74S124 conţine două oscilatoare controlate în tensiune identice,realizate în tehnologie Schottky TTL. O aplicaţie frecventă a circuitului este realizarea uneibucle cu calare de fază(PLL – Phase Locked Loop), care permite implementareasintetizoarelor de frecvenţă, a demodulatoarelor etc. Noi am folosit aici numai oscilatorulcomandat în tensiune(VCO – Voltage Controlled Oscillator) pentru a verifica modul în carese face controlul frecvenţei astabilului comandat.

Cele două circuite CMOS care conţin bistabile integrate sunt frecvent utilizate deproiectanţii care lucrează la acest nivel de integrare. Circuitul MMC 4013 conţine 2bistabile de tip D, iar circuitul MMC 4027 conţine două bistabile de tip JK. Informaţiaesenţială preluată din foile de catalog este prezentată în figurile 3.11 şi respectiv 3.12.

Fig. 3.11 Configura!ia pinilor "i tabelele de tranzi!ie pentru circuitul MMC 4013

Fig. 3.12 Configura!ia pinilor "i tabelele de tranzi!ie pentru circuitul MMC 4027

Page 48: Electronica Digitala Aplicatii

52 3 CIRCUITE DE IMPULS

3.2.1 Se realizează circuitul din figura 3.1, folosind o rezistenţă de 10KΩ şi uncondensator de 1nF. Comparaţi formele de undă cu cele din figură şi justificaţi eventualelediferenţe, dacă acestea există. Variaţi tensiunea de alimentare şi observaţi dacă se producmodificări. Calculaţi frecvenţa de oscilaţie cu formula dată la pagina 46 şi măsuraţifrecvenţa reală a oscilaţiei. Care este eroarea şi explicaţi care sunt cauzele acestei diferenţe.Modificaţi valorile componentelor RC şi vizualizaţi formele de undă. .

3.2.2 Se realizează circuitul din figura 3.4. Vizualizaţi şi desenaţi formele de undă laintrările şi ieşirile tuturor inversoarelor din circuit. Care este frecvenţa semnalului la ieşire?Comparaţi această valoare cu cea înscrisă pe capsula cristalului de cuarţ. Care este rolulporţii inversoare de la ieşire? Este ea absolut necesară? .

3.2.3 Se realizează circuitul din figura 3.5, folosind o rezistenţă de 10KΩ şi uncondensator de 1nF. Declanşaţi circuitul cu un impuls de circa 1µs şi comparaţi formele deundă în noduri cu cele date în figură. Modificaţi tensiunea de alimentare în limitele permiseşi observaţi dacă se produc modificări. Calculaţi lăţimea pulsului de ieşire cu formula dată lapagina 48 şi măsuraţi durata reală a lui. Care este eroarea şi explicaţi care sunt cauzeleacestei diferenţe. Modificaţi valorile componentelor RC şi vizualizaţi formele de undă. .

3.2.4 Se realizează un circuit astabil folosind circuitul integrat MMC 4047 şiinformaţiile din catalog, date în figura 3.9. Verificaţi funcţionarea circuitului în toatemodurile de lucru. Măsuraţi perioada oscilaţiei şi verificaţi formula dată în catalog( CRTQ ⋅⋅≈ 4,4 ). Care este eroarea şi explicaţi care sunt cauzele acestei diferenţe. Folosiţi şialte componente RC de pe panoul logic. Pentru modul de lucru de astabil cu funcţionarecontinuă (prima linie din tabel) se foloseşte schema din figura 3.13. .

MMC 4047

C1

R-C R23

C R

O

Q

Q

13

10

11

EA05

T08

EA14don't care

1T1

6

I RT MR12 9

ieşiri

Fig. 3.13 Circuitul MMC 4047 conectat ca astabil cu func!ionare continu#

3.2.5 Se realizează un circuit monostabil folosind circuitul integrat MMC 4047 şiinformaţiile din catalog, date în figura 3.9. Verificaţi funcţionarea circuitului în toatemodurile de lucru. Măsuraţi durata stării cvasistabile şi verificaţi formula dată în catalog( CRTQ ⋅⋅≈ 48,2 ). Se folosesc diverse rezistenţe şi condensatoare de pe panoul logic. Pentrumodul de lucru de monostabil cu declanşare pe front crescător se foloseşte schema dinfigura 3.14. Realizaţi o schemă de monostabil retriggerabil şi verificaţi funcţionareacircuitului. Pentru generarea fronturilor de comandă se folosesc impulsuri de la generatorulde semnal.

Page 49: Electronica Digitala Aplicatii
Page 50: Electronica Digitala Aplicatii

54 3 CIRCUITE DE IMPULS

3.3 Probleme rezolvate

3.3.1 Se dă circuitul din figură realizat cu porţi TTL standard.a) Să se explice funcţionarea circuitului şi să se deseneze formele de undă în nodurile

1, 2, 3 şi 4.b) Să se calculeze frecvenţa de oscilaţie şi să se explice de ce primul inversor din

schemă trebuie să aibă caracteristică de transfer cu histerezis (trigger Schmitt).c) Există limitări în alegerea valorilor componentelor RC?

CR

1 2 3 4

300

10n

Fig. 3.16 Astabil cu inversoare

Rezolvare:a) Figura 5.2 reprezintă formele de undă rezultate prin simularea PSPICE:

Fig. 3.17 Forma tensiunilor din cele 4 noduri ale circuitului

Page 51: Electronica Digitala Aplicatii

3.3 Probleme rezolvate 55Este evident că semnalul din nodul 2 este un semnal numeric. Celelalte sunt interpretate ca

semnale analogice. Funcţionarea circuitului se bazează pe încărcarea şi descărcarea condensatoruluiC prin rezistenţa R. Dacă V(1) > 2V, atunci V(2) = 0, V(3) = 1 şi V(4) = 0 şi condensatorul seîncarcă de la nodul 3 la nodul 4. Tensiunea pe C fiind de semn contrar, prin încărcareacondensatorului V(1) scade până la atingerea pragului de 2V la care se produce comutarea: V(3) = 0care produce o scădere instantanee a lui V(1) cu circa 2,4V, V(4) = 1 şi se reia încărcareacondensatorului de la nodul 4 la nodul 3. Tensiunea V(1) începe să crească, iar la atingerea praguluide 0,8V se produce o nouă comutare şi ciclul se reia. Modelul PSpice pentru inversorul TTLfoloseşte cele 2 praguri de 0,8V şi 2V pentru comutare. Palierele semnalelor V(3) şi V(4) nu suntconstante, datorită variaţiilor de curent la încărcarea şi descărcarea condensatorului.

b) Condensatorul se încarcă prin rezistenţa R de la -0,4V la +0,8V şi se descarcă prinrezistenţa R de la +3,2V la +2V. Pentru calculul timpului de încărcare se particularizează relaţia:

( ) ( ) ( ) ( )[ ]u t u u u et

RC= ∞ − ∞ − ⋅−

0

pentru condiţiile la limită: ( )u V∞ = 2 4, , ( )u t V= 0 8, , ( )u V0 0 4= − , . Se obţine:

( ) ( )( ) ( )t RC

u u tu u

nFV V

V Vs1 0

300 102 4 0 8

2 4 0 41 678= − ⋅

∞ −∞ −

= − ⋅ ⋅−

− −=ln ln

, ,, ( , )

,Ω µ

Pentru calculul timpului de descărcare, condiţiile la limită sunt: ( )u t V= 2 , ( )u V0 3 2= , şi( )u V∞ = 0 . Rezultă :

( ) ( )( ) ( )t RC

u u tu u

nFVV

s2 0300 10

23 2

1 410= − ⋅∞ −∞ −

= − ⋅ ⋅−

−=ln ln

,,Ω µ

Perioada semnalului generat este T t t s s s= + = + ≈1 2 1 678 1 410 31, , ,µ µ µ , care corespunde unei

frecvenţe fT

KHz= =1

322 5, . Perioada semnalelor obţinute prin simulare PSPICE este T s≈ 3 5, µ ,

corespunzătoare unei frecvenţe de 285,7 KHz.Există o variaţie lentă a semnalului V(1) care poate produce oscilaţia inversorului conectat

între nodurile 1 şi 2. Pentru tensiuni de intrare cuprinse între pragurile de 0,8V şi 2V tranzistorii dinetajul final sunt în regiunea activă normală şi apare o reacţie pozitivă (creşte curentul de colector allui T2, deci şi potenţialul bazei lui T3, scade tensiunea de ieşire, creşte curentul de colector al luiT4, deci şi cel de bază şi curentul de colector al lui T2 va creşte şi mai mult).

c) Condensatorul poate avea orice valoare, dar trebuie să fie nepolarizat, însă valoareamaximă a rezistenţei nu trebuie să depăşească în principiu 300 Ω, pentru că intervine curentul deintrare în poartă care afectează marginea de zgomot (vezi problema 1.3.1). .

3.3.2 Să se reprezinte formele de undă în timp şi să se calculeze durata stăriicvasistabile pentru monostabilul realizat cu porţi TTL din figura 3.18.

OutIn

100n

1

390R

C

Out

Fig. 3.18 Monostabil cu două porţi ŞI-NU în tehnologie TTL standard

Page 52: Electronica Digitala Aplicatii

56 3 CIRCUITE DE IMPULS

Rezolvare:Formele de undă obţinute prin simulare PSPICE sunt date în figura 3.19. Pentru a calcula

durata impulsului generat folosim relaţia ( ) ( ) ( ) ( )[ ]u t u u u et

RC= ∞ − ∞ − ⋅−

0 , unde: ( )u t V= 14, ,

( )u V0 2 4= , şi ( )u V∞ = 0 . Rezultă : ( ) ( )( ) ( )T RC

u u tu uM = − ⋅

∞ −∞ −

=ln0

≈⋅⋅Ω−VVnF

4,24,1ln100390

sµ21≈ , valoare foarte apropiată de cea din figura 3.19.

Fig. 3.19 Formele de undă pentru circuitul din figura 3.18

3.3.3 Se consideră astabilul realizat cu circuite CMOS din figura 3.20. Desenaţiformele de undă în nodurile 1, 2 şi 3 ale circuitului şi calculaţi frecvenţa de oscilaţie.

Out

10n

100KRC

1 2 3

Fig. 3.20 Astabil cu porţi CMOS

Rezolvare:Ca şi la porţile TTL, modelele PSPICE pentru porţile CMOS folosesc două praguri diferite

pentru comutare: 30% şi 70% din valoarea tensiunii de alimentare. Din relaţia cunoscută rezultă

fRC K nF

KHz≈⋅

=⋅ ⋅

=1

0 71

0 7 100 101 428

, ,,

Ω.

Fig. 3.21 Formele de undă pentru circuitul din figura 3.20

Page 53: Electronica Digitala Aplicatii

3.3 Probleme rezolvate 573.3.4 Să se reprezinte diagramele de timp pentru astabilul din figura 3.22. Să se

calculeze frecvenţa şi factorul de umplere pentru semnalul generat, dacă:a) se utilizează o poartă ŞI-NU cu două intrări cu trigger Schmitt din

familia TTL standard. Se cunosc: VVOH 6,3= , VVOL 2,0= , VRI IL 2,0=⋅ , VVp 1,11 = ,VVp 9,12 = , Ω= KR 1 ;

b) se utilizează o poartă ŞI-NU cu trigger Schmitt din familia CMOS. Secunosc: VVDD 5= , VVp 3,21 = , VVp 3,32 = , 0== IHIL II , Ω= KR 10 .

OUT

10 nF

R

Fig. 3.22 Circuit astabil cu trigger Schmitt

Rezolvare:Funcţionarea circuitului este descrisă de formele de undă din figura 3.23. Tensiunea pe

condensator la momentul de timp t este:

( ) ( ) ( ) ( ) RCt

euuutu−

⋅−∞−∞= ]0[ , unde ( ) OHVu =∞ , ( ) 10 PVu = , iar ( ) 21 PVtu =

Rezultă de aici valoarea lui 1t : 2

11 ln

POH

POH

VVVVRCt

−−

⋅= .

Pentru calculul lui 2t , mărimile devin: ( ) RIVu ILOL ⋅+=∞ , ( ) 20 PVu = şi ( ) 12 PVtu =

Se obţine valoarea lui 2t : RIVVRIVV

RCtILOLP

ILOLP

⋅−−⋅−−

⋅=1

22 ln .

a) Dacă înlocuim acum numeric, cu valorile pentru TTL, obţinem:

sVVVV

RCtPOH

POH µ9,39,16,31,16,3ln1010ln 83

2

11 ≈

−−⋅⋅=

−−

⋅= − ;

sRIVVRIVV

RCtILOLP

ILOLP µ6,72,02,01,12,02,09,1ln1010ln 83

1

22 ≈

−−−−⋅⋅=

⋅−−⋅−−

⋅= ⋅− ,

deci f = 87 KHz, iar factorul de umplere este 0,34.b) Similar, înlocuind valorile pentru CMOS, se obţine st µ6,41 ≈ , st µ6,32 ≈ , deci frecvenţa

de 122 KHz şi un factor de umplere de 0,56.

0

0

t

t

VC

VP1

VP2

VOUTV

OH

VOL

t1 t 2

Fig. 3.23 Circuit astabil cu trigger Schmitt

Page 54: Electronica Digitala Aplicatii

58 3 CIRCUITE DE IMPULS

3.3.5 Să se implementeze:a) un bistabil de tip D, folosind un bistabil de tip JK;b) un bistabil de tip JK, folosind un bistabil de tip D;

Comparaţi cele două soluţii din punct de vedere al gradului de structurare.

Rezolvare:a) Avem la dispoziţie un bistabil de tip JK şi dorim să realizăm un circuit care să aibă

comportarea unui bistabil de tip D. Problema se reduce la sinteza unei structuri combinaţionale,conform schemei de mai jos:

J

KCLK

Q

QCLC

CLK

Q

QD

Fig. 3.24 Structura bistabilului de tip D

Dacă noul circuit este superior structurat, atunci reacţia care aduce la intrarea în CLCinformaţia asupra stării prezente a sistemului este necesară. În caz contrar această legătură vadispare în procesul de minimizare a funcţiilor J şi K.

D0011

Q Q J K0101

0011

0x1x

x1x0

DDQQ

0x

1x

DDQQ

x0

x1

J = D K = D

+

Fig. 3.25 Sinteza bistabilului de tip D

b) Avem la dispoziţie un bistabil de tip D şi dorim să realizăm un circuit care să aibăcomportarea unui bistabil de tip JK.

D

CLK

Q

QCLC

CLK

Q

Q

J

K

QQ

JJ

KK K

0 0 1 10 01 1

0011

Q D0101

0

0

1

1

1

01

0

QKJ00001 0

011

0101

111

0

1

10

0

110

+

D = J Q. + K Q.

Fig. 5.3 Structura şi sinteza bistabilului de tip JK

Bistabilul JK are un grad de structurare superior bistabilului D (conţine o reacţie în plus).

Page 55: Electronica Digitala Aplicatii

4 SISTEME SECVENŢIALE

Aplicaţiile din acest capitol îşi propun să prezinte circuite secvenţiale sincrone şiasincrone cu un nivel de structurare superior faţă de cel al circuitelor prezentate în capitolulanterior. Pentru sinteza şi analiza acestor circuite există algoritmi, în timp ce un circuit deimpuls este folosit atunci când este cazul, prin simpla introducere a lui în sistem.

4.1 Consideraţii teoretice

4.1.1 Sisteme secvenţiale asincrone

Circuitele prezentate în capitolul anterior erau circuite secvenţiale, adică circuitecu porţi, care conţineau bucle de reacţie, conexiuni de la ieşirile sistemului la intrări.Funcţionarea acestor circuite nu poate fi explicată decât dacă ţinem seama de timpii depropagare prin porţi, condiţie ignorată de obicei la sistemele combinaţionale. Modelullogic asincron, care este folosit pentru analiza şi sinteza acestor sisteme, echivaleazăpoarta logică reală cu o poartă logică ideală(realizează aceeaşi funcţie logică, dar timpulde propagare este nul) şi un element de întârziere, aşa cum se poate vedea în figura 4.1.

Funcţionarea latch-ului cu inversoare, prezentat în capitolul anterior, este uşorexplicată folosind modelul logic asincron. Bistabilele de tip D sau JK au în componenţăstructuri de porţi cu numeroase bucle interne, deci blocuri asincrone, deşi pe ansamblu,ele au fost astfel construite încât momentul de timp la care se modifică ieşirile să fie.

τ

poarta reală poarta ideală + element de întârziere

Fig. 4.1 Modelul logic asincron

Page 56: Electronica Digitala Aplicatii

60 4 SISTEME SECVENŢIALE

un front al semnalului de ceas. Dacă însă bistabilele componente ale unui sistem secvenţialcomplex nu primesc acelaşi semnal de ceas, deci nu comută simultan, atunci spunem căsistemul secvenţial este asincron.

Un astfel de sistem asincron este numărătorul asincron, sau divizorul de frecvenţă.Bistabilele din numărătoarele asincrone funcţionează într-un singur fel, şi anume, cadivizoare de frecvenţă prin 2. Prin urmare, bistabilele din structură, fie că sunt de tip Dsau de tip JK, sunt transformate în bistabile de tip T, având intrarea de date T conectatăla 1 logic. Schimbându-şi starea pe fiecare front activ al ceasului, ele divizează prin 2frecvenţa semnalului aplicat pe intrarea de ceas.

Figura 4.2 reprezintă schema unui divizor de frecvenţă de 4 biţi realizat cu bistabileT. Dacă acceptăm că bistabilele comută pe frontul descrescător al ceasului, atunci se obţinformele de undă prezentate în figura 4.3. La scara de timp la care s-a făcut simulareafuncţionării nu se observă nimic deosebit şi diagrama stărilor pare a fi cea ideală. Dacăprivim însă printr-o “lupă de timp” porţiunea selectată, vom obţine formele de undă dinfigura 4.4. Frontul descrescător al semnalului CLK produce comutarea primului bistabil , iarieşirea lui, notată cu 1Q , se modifică cu o mică întârziere, dată de timpul de propagare ainformaţiei prin porţile din structura bistabilului. Semnalul 1Q este ceasul pentru bistabilul2, iar semnalul 2Q se modifică şi el cu o mică întârziere faţă de 1Q , şi aşa mai departe. Decipe lângă cele 16 stări permanente, există un număr de stări tranzitorii.

CLKQ

T

CLKQ

T

CLKQ

T

CLKQ

TCLK

1

8 4 2 1

Q 8 Q 4 Q 2 Q 1

Fig. 4.2 Divizor de frecvenţă de 4 biţi

Fig. 4.3 Forme de undă pentru divizorul de frecvenţă de 4 biţi

Fig. 4.4 Forme de undă văzute printr-o “lupă de timp”

Page 57: Electronica Digitala Aplicatii

4.1 Consideraţii teoretice 61Având în vedere funcţionarea lor, analiza şi sinteza numărătoarelor asincrone nu

ridică probleme deosebite. În schimb, analiza şi sinteza sistemelor asincrone cu porţi logiceeste dificilă, pentru că timpul nu este discretizat ca la sistemele sincrone. Starea următoarenu apare după o perioadă de ceas, ci poate apare după un multiplu de τ, τ fiind timpul depropagare prin poartă.

Circuitul din figura 4.5, de exemplu, poate fi analizat prin stabilirea numărului minimde bucle. Considerând porţile ideale şi singurele întârzieri fiind introduse de cele 3 bucle alelatch-urilor RS , tabelul tranziţiilor este cel alăturat circuitului din figură. Tabelulconţine curse(starea următoare diferă prin cel puţin 2 biţi faţă de starea prezentă), darele nu sunt critice(cursa critică apare dacă există posibilitatea ca stările următoare să fiediferite, adică să avem o funcţionare imprevizibilă). Tabelul tranziţiilor poate fi redusprin eliminarea stărilor care nu sunt total stabile (neîncercuite).

Q

Q

CLK

D

q

q +

q

q

q

q

3

3

1

1

+

2

2+

00 01 11 10q1 q2 q3

q1 q2 q3CLK D+ + +

000001010011100101110111

010 010 000 000011 011 000 000

000010 110 110011 111 111 000010 010 111 111011 011 111 111010 110 111 111011 111 111 111

Fig. 4.5 Structura unui bistabil de tip D şi tabelul tranziţiilor

Pentru sinteza unui sistem secvenţial asincron, codificarea stărilor din tabelul reduseste importantă. Pentru eliminarea curselor critice, putem fi obligaţi să introducem stărisuplimentare. Exemplul din figurile 4.6 şi 4.7 elimină complet cursele prin codificareaadiacentă a stărilor între care au loc tranziţii.

00 01 11 10qq +P R

Y

IDLE IDLE PLS

PLS

RES

0IDLE RES

RES

RES

PLS 1

RES 0IDLE

PLS IDLE

IDLE

00 01 11 10qq +P R

Y

IDLE IDLE PLS

PLS

RES

0IDLE RES

RESA

RES

PLS 1

RES 0IDLE

PLS IDLE

IDLE

RESA _ _ _ _RES

Fig. 4.6 Tabelul redus şi tabelul fără cursePR

Yq2

q1

IDLE

PLS

RES

RESA

00

01

10

11

Fig. 4.7 Schema logică a circuitului şi diagrama de adiacenţă a stărilor

Page 58: Electronica Digitala Aplicatii

62 4 SISTEME SECVENŢIALE

4.1.2 Sisteme secvenţiale sincrone

Analiza şi sinteza sistemelor sincrone este mult mai comodă pentru proiectant,pentru că putem ignora întârzierile logicii combinaţionale, cu condiţia ca duratelestărilor, date de frecvenţa ceasului, să fie semnificativ mai mari decât întârzierile prinporţi. Timpul se transformă astfel dintr-o mărime continuă într-una discretă, perfectcontrolabilă prin semnalul de ceas aplicat sistemului.

Sistemele secvenţiale sincrone, ca şi cele asincrone de altfel, pot fi uşor tratate folosindteoria automatelor cu stări finite. Un automat cu stări finite se defineşte formal prin cvintuplul

( )δλ ,,,,= QYXA , unde entităţile componente au următoarea semnificaţie: nxxxX ,...,,= 21 - mulţimea configuraţiilor binare de intrare, Y y y yr= 1 2, ,..., - mulţimea configuraţiilor binare de ieşire,

Q q q q p= 1 2, , ... , - mulţimea configuraţiilor binare de stare,λ : X Q Q× → - funcţia de tranziţie a stărilor,δ : X Q Y× → - funcţia de tranziţie a ieşirilor.

Datorită faptului că mulţimile X , Y şi Q sunt finite, circuitul se numeşte automat custări finite. Spaţiul timpului nu apare explicit în descrierea de mai sus. El este discret şi esteformat din mulţimea numerelor întregi care semnifică multiplul de T , unde T este perioadadupă care se comandă o nouă modificare în circuit. Funcţiile de tranziţie se pot defini şireprezenta prin tabele de tranziţii, grafuri, sau organigrame. Schema din figura 4.8reprezintă un automat finit ale cărui ieşiri apar cu întârziere deoarece sunt trecute prinmemorie. Ele pot fi obţinute şi imediat, de la ieşirea CLC-ului.

CLC

MEMORIE

X

Q

Y

CLK

Fig. 4.8 Structura generală a unui automat finit

Fără a fi absolut necesară, această separare în două blocuri funcţionale, logicacombinaţională şi blocul de memorare, este deosebit de utilă în proiectare. Aceasta,deoarece blocul de memorare poate fi definit foarte simplu, ca un registru paralel cu unnumăr suficient de bistabile, în funcţie de codificarea adoptată pentru stările sistemului, iarblocul de prelucrare este format dintr-o logică combinaţională mai complexă şi mai greu dedefinit. Efortul de proiectare este orientat spre sinteza circuitului combinaţional.

Problema fundamentală care se pune la sinteza automatelor finite este o problemă deoptimizare. Proiectantul nu poate acţiona asupra numărului de intrări şi ieşiri din sistem,deoarece ele sunt date prin specificaţiile de proiectare, dar are deplina libertate de a acţionaasupra mulţimii stărilor sistemului. Prin reducerea numărului de stări scade numărul.

Page 59: Electronica Digitala Aplicatii

4.1 Consideraţii teoretice 63

A

B

C

X

X

Y1=1Y2=0Y1 = 1Y2 = 0Y 1 = 1

0 1

0 1

00

11

01

Q 1Q 2

1Y = 12Y = 0

1Y = 02Y = 1

1Y = 02Y = 0

Q x

y1 y2

A B C1

1

010 01 00

0

0

CLK

X

Q1

Q2

Y1

Y2

Fig. 4.9 Exemplu de automat finit şi câteva moduri de reprezentare

elementelor de memorie, deci a bistabilelor din structură, şi se reduce numărul funcţiilor deexcitaţie, cu alte cuvinte complexitatea circuitului combinaţional.

Poate că cea mai importantă chestiune este codificarea stărilor rămase după reducere.Dacă variabilele de intrare sunt sincrone, adică se modifică în funcţie de semnalul de ceas,atunci o codificare care respectă anumite principii poate genera un circuit combinaţionalfoarte apropiat de optim, în timp ce o codificare întâmplătoare poate genera un circuit multprea complicat. Dar în orice situaţie, circuitul obţinut va funcţiona corect. Dacă însăvariabilele de intrare sunt asincrone, adică se pot modifica oricând în timp, apare din nouproblema întâlnită la cursele critice, iar rezolvarea ei se face prin alocarea unor coduriadiacente stărilor care urmează testării variabilei asincrone (principiul dependenţei redusede o variabilă). La nevoie, se pot introduce şi aici stări suplimentare.

Sistemul din figura 4.9 are o singură intrare notată cu x, să presupunem deocamdatăcă este sincronă, două ieşiri notate cu 1y şi 2y , şi un număr de trei stări notate cu A, B şi C.O codificare binară minimală a stărilor se poate face folosind numai 2 biţi, adică douăcircuite bistabile, având ieşirile 1Q şi 2Q .

4.1.2 Hazard

Prin hazard sau risc, înţelegem posibilitatea de modificare neaşteptată a ieşirii,pentru o durată foarte mică de timp, datorită întârzierilor prin porţi. El poate fi static,dacă are loc o singură comutare a ieşirii la modificarea unei variabile, sau dinamic, dacăapar comutări multiple datorită unei singure tranziţii a unei intrări. Structurilecombinaţionale cu două nivele de logică, care pot fi implementate într-o structurăprogramabilă PLD, nu generează hazard dinamic.

În sistemele secvenţiale sincrone nu se pune de obicei problema analizei hazardului,pentru că frontul activ al ceasului se aplică după ce logica combinaţională a livrat valorilelogice aşteptate ale funcţiilor de excitaţie. În sistemele asincrone însă, această analiză ahazardului şi găsirea unor modalităţi de eliminare a lui, este absolut necesară.

Page 60: Electronica Digitala Aplicatii

64 4 SISTEME SECVENŢIALE

4.2 Demonstraţii practice

Consideraţiile asupra alimentării panoului logic, formulate în primul capitol, rămânvalabile şi aici. Panoul logic conţine circuitele integrate MMC 4013 şi MMC 4027, studiateîn capitolul anterior. Pentru implementarea automatului finit prezentat mai sus, se foloseşteun panou care conţine, conform figurii 4.14, 4 circuite integrate CMOS: MMC 4013,MMC 4052(2 buc.) şi MMC 4011. Circuitul MMC 4052 conţine câte 2 multiplexoare, darfoaia lui de catalog nu a mai fost dată, deoarece conexiunile conform schemei din figurăsunt deja realizate. Porţile ŞI-NU ale circuitului MMC 4011 sunt folosite pentru generareasemnalului de CLK, prin apăsarea butonului cu revenire de pe panou. Biţii de stare şi deieşire sunt vizualizaţi prin intermediul a 4 LED-uri. Starea 1 logic este semnalizată prinaprinderea LED-ului corespunzător, iar cea de 0 logic prin stingerea lui. Montajul se poatealimenta cu orice tensiune continuă, cuprinsă între 5 şi 15 Vcc.

Un alt panou logic, destinat implementării aceluiaşi automat cu bistabile de tip Dşi memorie, este implementat după schema din figura 4.16. Panoul conţine două circuitede memorie: 82S147, care este o memorie PROM şi MMN 2114, o memorie RAMstatică. Placa mai conţine circuitele MMC 4013, MMC 4011 şi MMC 4066, ultimulavând în structură 4 comutatoare CMOS necesare pentru înscrierea, respectiv citireadatelor din memoria RAM. Vizualizarea stării şi a ieşirii se face tot cu ajutorul a 4LED-uri. Despre memorii vom discuta în capitolul următor, dar circuitul este deja cablatşi utilizarea lui aici se poate face fără a avea prea multe cunoştinţe despre memorii.Montajul se alimentează cu tensiunea de 5 Vcc, datorită prezenţei circuitelor dememorie. De fapt, tensiunea sursei este de circa 5,6 - 5,7 V din cauza diodei serie deprotecţie la alimentare inversă. Din acest motiv se măsoară cu voltmetrul tensiuneade 5 Vcc între catodul diodei de protecţie şi masă.

4.2.1 Se implementează numărătorul asincron din figura 4.1, folosind bistabile detip D. Rezultă circuitul din figura 4.10. Se verifică funcţionarea montajului. Se potvizualiza stările tranzitorii? Modificaţi circuitul pentru a obţine un numărător asincroncu 16 stări care să numere în sens descrescător. Repetaţi implementările folosindbistabile de tip JK şi verificaţi funcţionarea corectă a circuitelor.

CLK

Q

Q

D

1

Q1

CLK

Q

Q

D

2

Q2

CLK

Q

Q

D

3

Q3

CLK

Q

Q

D

4

Q4

CLK

Fig. 4.10 Schema logic! a divizorului de frecven"! cu bistabile de tip D

Fig. 4.11 Forme de und! pentru circuitul din figura 4.#0

Page 61: Electronica Digitala Aplicatii

4.2 Demonstraţii practice 654.2.2 Se realizează numărătorul sincron din figura 4.12, care realizează tranziţiile

Q Q1 2 00 10 11 01 00= → → → → . Sinteza circutului se face cu ajutorul tabeluluitranziţiilor din figură. Folosind tabelul tranziţiilor pentru bistabilul de tip JK se deducfuncţiile de excitaţie pentru fiecare dintre cele două bistabile. De ce spunem că este unnumărător sincron? Refaceţi circuitul pentru a modifica sensul de numărare şi verificaţifuncţionarea lui. Puteţi construi acelaşi numărător, dar folosind bistabile de tip D? Caredintre cele două soluţii este mai avantajoasă şi de ce?

Q1 Q2 Q1+ Q2

+J1 K1 J2 K2

0 01 0

0 11 1

1 0 1 x 0 x1 10 10 0

x 0 1 xx 1 x 00 x x 1

J1 Q2= K1 Q2=

J2 Q1= K2 Q1=

Q

Q

J

KCLK

Q

Q

J

KCLK

Q 1 Q2

CLK

Fig. 4.12 Schema logic! a unui num!r!tor sincron cu bistabile de tip JK

Fig. 4.13 Forme de und! pentru circuitul din figura 4.#2

4.2.3 Se foloseşte panoul logic cu bistabile D şi multiplexoare pentruimplementarea automatului finit reprezentat în figura 4.9. Schema logică a circuituluieste dată în figura 4.14. Se verifică funcţionarea corectă a montajului prin urmărirea tuturortranziţiilor posibile din organigramă sau tabel. Figura 4.15 reprezintă tabelul tranziţiilor,tabel ce a fost construit pe baza tranziţiilor din organigramă şi care este foarte util pentrusinteza schemei logice a circuitului.

Simbolul d poate fi 0 sau 1 logic(don' t care). S-a folosit această notaţie pentru a evitaconfuzia cu semnalul de intrare, notat aici cu X. Implementarea memoriei se face cu doibistabili de tip D care comută sincron. Circuitul logic combinaţional are intrările X, Q1 şiQ2 şi trebuie să genereze la ieşire funcţiile binare Q D1

+1= şi Q D2

+2= . Nu este necesară

minimizarea funcţiilor binare D1 şi D2 pentru că toţi termenii canonici sunt disponibili laieşirile multiplexoarelor. Reacţia de la ieşirea memoriei la intrarea în CLC se realizează princonectarea ieşirilor Q1 şi Q2 la intrările de selecţie ale multiplexoarelor. Conexiunile laintrările multiplexoarelor se realizează în funcţie de alegerea conexiunilor de reacţie.

Page 62: Electronica Digitala Aplicatii

66 4 SISTEME SECVENŢIALE

0 1

2 3

0

1

2

3

w

w

D

CLK

Q

D

CLK

Q

X

X

1

0

d

2 1 20

21 2 0

Q1

Q2

CLK

1

0

0

0

0

1

0

1

2

3

0

1

2 3

21 20

21 20

w

w

Y1

Y2

MUX

MUX

MUX

MUX

0

d

1

d

d

Fig. 4.14 Schema logic! a automatului implementat cu multiplexoare

X Q1 Q 2 Q1+ Q 2

+

0 0 01 0 0d 0 10 1 11 1 1

Y1 Y2

0 11 10 00 11 1

1 01 00 00 10 1

Fig. 4.15 Tabelul tranzi"iilor

Dacă privim tabelul tranziţiilor observăm că pentru starea prezentă A, codificată prinQ Q1 2 = 00 , starea următoare este fie B(codul Q Q1 2 = 11 ), fie C(codul Q Q1 2 = 01). Deciziaeste luată în funcţie de valoarea logică a variabilei de intrare X. Se vede că pentru stările Bşi C valoarea lui Q2 este o constantă, Q2 =1 , iar valoarea lui Q1 este dependentă devaloarea lui X : pentru X = 0 , Q1 = 0 , iar pentru X = 1 , Q1 = 1 . Deci putem spune că Q X1 = .Celelalte două multiplexoare au prima intrare(notată cu 0) conectată la valorile logice aleieşirilor în starea prezentă A, adică Y1 = 1şi Y2 = 0 . Acelaşi raţionament se face şi pentrucelelalte stări. .

4.2.4 Se foloseşte panoul logic cu bistabile D şi memorii. Cele două circuiteintegrate, memoria PROM 82S147 şi memoria RAM MMN 2114, sunt destinateimplementării logicii combinaţionale a automatului finit. Blocul de memorie din figura 4.8este un registru destinat memorării stării curente şi este realizat, ca şi până acum, cu celedouă bistabile de tip D. Memoria de tip ROM este un circuit combinaţional, care furnizeazăla ieşiri informaţia conţinută în harta memoriei (tabelul din figura 4.17), în timp ce memoriaRAM este un emulator de ROM, adică un circuit care simulează prezenţa unei memoriiROM în circuit. Memoria RAM nu conţine o informaţie utilă la cuplarea alimentării şi deaceea în primul rând trebuie să înscriem datele din tabel în memorie (vezi subcapitolul 5.1).

Page 63: Electronica Digitala Aplicatii

4.2 Demonstraţii practice 67

O1

O2

O3

O4

A9A8A7A6A5A4A3

A2

A1

A0

PROM

D Q

D Q

CLK

CLK

Q

Q

X

CLK

1

2Y1

Y2

Fig. 4.16 Schema logic! a automatului implementat cu memorie PROM

X Q1 Q 2 Q1+ Q 2

+

0 0 0

Y1 Y2

0 1 1 0

1 0 0 1 1 1 0

0 0 1 0 0 0 0

0 1 1 0 1 0 1

1 1 1 1 1 0 1

A2 A1 A0 O1 O2 O3 O4

1 0 1 0 0 0 0

0 1 0 d d d d

1 1 0 d d d d

Fig. 4.17 Harta memoriei pentru schema logic! din figura 4.#6

Circuitul 82S147 este realizat în tehnologie Schottky TTL şi conţine 512 cuvinte decâte 8 biţi. Memoria RAM MMN 2114 este realizată în tehnologie NMOS şi conţine 1024cuvinte de câte 4 biţi. Memoria PROM din figura 4.16 este un circuit generic de 1024cuvinte (10 linii de adresare 09 A...A , care sunt intrări) de câte 4 biţi (4 linii de date 14 O...O ,care sunt ieşiri). Automatul conceput foloseşte numai 6 dintre cele 1024 cuvinte, conformtabelului de tranziţii din figură.

Verificarea funcţionării circuitului cu memorie PROM se face imediat, prin simplaverificare a tranziţiilor din tabel. Comentaţi cuplajul TTL – CMOS.

Pentru circuitul cu memorie RAM, trebuie să introducem de la început datele necesareîn memorie. În acest scop, pentru a asigura adresa 0 de start a memoriei la cuplareaalimentării (A2 = A1 = A0 = 0), comutatorul S2 are pârghia înspre comutatoarele S1 şi S3(înjos), iar comutatorul S3 în dreapta (vezi fig. 4.18). Intrarea X este conectată la masă.

Cele 4 comutatoare notate cu S1 sunt destinate introducerii celor 4 biţi pe cuvânt înmemorie. Dacă pârghia este în jos, bitul corespunzător este pe 0 logic, iar dacă este în sus,pe 1 logic. După fixarea cuvântului dorit prin poziţionarea celor 4 comutatoare, acesta esteintrodus în memorie prin ridicarea şi coborârea înapoi a pârghiei comutatorului S2(activarea şi dezactivarea semnalului WE - WRITE ENABLE ). Pe urmă se modifică adresapentru introducerea unui nou cuvânt prin acţionarea în cele două sensuri a comutatorului S3(pentru a genera cele 2 fronturi ale semnalului de ceas CLK - CLOCK ). Pentru introducereadatelor în memorie urmărim harta memoriei din figura 4.17. Dacă în locul comutatoarelorS2 şi S3 există butoane cu revenire, atunci ele sunt acţionate o singură dată.

.

Page 64: Electronica Digitala Aplicatii
Page 65: Electronica Digitala Aplicatii

4.3 Probleme rezolvate 694.2.6 Ce înseamnă codificare care urmăreşte principiul dependenţei reduse faţă de o

variabilă? În cazul nostru variabila X poate fi asincronă? Alegeţi o altă codificare a stărilorşi arătaţi sub formă tabelară harta memoriei precum şi operaţiunile necesare pentruînscrierea datelor în memorie. Verificaţi funcţionarea circuitului obţinut. .

4.3 Probleme rezolvate

4.3.1 Să se analizeze circuitul din figura 4.19 şi să se reprezinte formele de undă şidiagrama stărilor. Să se stabilească numărul de stări netranzitorii P şi raportul de divizare N.

Q

Q

J

KCLK

CLK

Q

Q

J

KCLK

1

1

1

1

Q 1 Q 2 = out

Fig. 4.19 Schema logică a unui divizor de frecvenţă realizat cu bistabile de tip JK

Rezolvare:

Fig. 4.20 Forme de undă pentru circuitul din figura 4.19

Analiza circuitului se face prin desenarea formelor de undă, ţinând seamă deîntârzierile prin porţi şi bistabile. Figura 4.20 prezintă analiza PSpice a circuitului. Stăriletranzitorii se datorează timpilor de propagare prin bistabile. Diagrama stărilor pentrucircuitul analizat este: Q Q1 2 00 10 11 01 11 10 00= → → → → → → , unde stările tranzitorii suntsubliniate. Rezultă imediat P = 4 şi N = 3. .

4.3.2 Să se proiecteze un circuit basculant cu 3 bucle, unde ∆ reprezintă întârziereaproprie circuitelor logice şi traseelor de conexiune. În repaus, intrările 1I , 2I şi 3I sunt în 0logic. Atunci când intrarea iI trece în 1 logic, ieşirea iy trece în 1 logic dacă era în 0 logic,.

CLCI 1I 2I 3

y1y 2y

3

∆∆∆

Fig. 4.21 Un circuit secvenţial asincron

Page 66: Electronica Digitala Aplicatii

70 4 SISTEME SECVENŢIALE

sau îşi păstrează starea dacă era în 1 logic. La revenirea intrării iI în 0 logic, ieşirile iy îşipăstrează vechea valoare. Admitem că se modifică o singură intrare, iar comenzile se excludreciproc, adică 0321323121 ==== IIIIIIIII .

Rezolvare:În conformitate cu cerinţele problemei, formele de undă ar putea fi cele din figura 4.22.

După evidenţierea stărilor distincte ale sistemului se construieşte tabelul tranziţiilor şi al ieşirilor dinfigura 4.23, valorile din tabel fiind starea următoare şi ieşirile 321 yyyQ+ :

I 2

I 3

y1y2

y3

I 1

0 1 0 2 3 2 3 4 5 4 15 0

Fig. 4.22 Stările sistemului deduse din formele de undă

Q

01234

5

I 1 I 2 I 3 000 001 010 011 100 101 110 111

Q+, y1 y2 y3

0,100 4,001 2,010 - 1,100 - - -

0,100 4,001 2,010 - 1,100 - - -

3,010 4,001 2,010 - 1,100 - - -

3,010 4,001 2,010 - 1,100 - - -

5,001 4,001 2,010 - 1,100 - - -

5,001 4,001 2,010 - 1,100 - - -

Fig. 4.23 Tabelul tranziţiilor şi al ieşirilor

Cele 6 stări ale sistemului sunt compatibile două câte două, deci avem în final 3 stăridistincte. Pentru prevenirea hazardului şi a curselor critice, două stări succesive trebuie să aibăcoduri adiacente(care diferă printr-un singur bit). Cum între fiecare dintre cele 3 stări există tranziţiibilaterale, o codificare binară minimală cu 2 biţi nu este posibilă. Folosim pentru fiecare stare uncod de 3 biţi, astfel încât să existe o corespondenţă directă între variabilele de stare 1Q , 2Q şi 3Q şiieşirile sistemului 1y , 2y şi respectiv 3y : ii yQ = , unde i = 1, 2 şi 3. Atribuim deci, conformformelor de undă stabilite în figura 4.22, stărilor 0 şi 1 codul 100, stărilor 2 şi 3 codul 010, iarstărilor 4 şi 5 codul 001. Pentru a respecta şi condiţiile de adiacenţă, mai introducem starea 000,care este atinsă la fiecare tranziţie pentru foarte scurt timp(stare tranzitorie).

Tabelul tranziţiilor stărilor sau al ieşirilor este reprezentat în figura 4.24. Folosind diagrameVeitch-Karnaugh pentru 6 variabile, se minimizează funcţiile +

iQ , i = 1, 2 şi 3, iar cu ajutorulecuaţiilor obţinute se construieşte schema logică a circuitului, care este prezentată în figura 4.25.Aici întârzierile între stări nu sunt date de un ceas extern, ci numai de timpii de propagare prin porţi.

Page 67: Electronica Digitala Aplicatii

4.3 Probleme rezolvate 71

I 1 I 2 I 3000 001 010 011 100 101 110 111Q

1Q

2Q

3

Q1Q

2Q

3+ + +

000 - 001 010 100- - - -001 001 000 000- - - -010 000 010 000- - - -

001010

011 - - - - - - - -100 000 000 100- - - -100101 - - - - - - - -110 - - - - - - - -111 - - - - - - - -

Q1Q

2 = 00

I 2

I 2

Q3

Q3

I 1 I 1 I 1

I 3

I 3

I 3

Q1Q

2 = 01 Q1Q

2 = 11 Q1Q

2 = 10

d 0

0

00

00

01 1

dddd

ddd

d

ddd

ddddddddd

00 0

0d

dddd

dddd

dddd

dddd

dddd

dddd

ddd

10

Fig. 4.24 Tabelul tranziţiilor şi diagramele Karnaugh pentru funcţia +1Q

Dacă grupăm zerourile din diagrama prezentată în figura de mai sus, obţinem expresia lui+1Q : 32321 QQIIQ +++=+ , sau 32321 QQIIQ +++=+ . În mod asemănător rezultă şi celelalte

ecuaţii: 31312 QQIIQ +++=+ şi 21213 QQIIQ +++=+ .

Q 1 = y1

Q 2 = y2

Q 3 = y3

I 1

I 2

I 3

Fig. 4.25 Schema logică a circuitului

Fig. 4.26 Formele de undă obţinute prin simulare PSPICE

Page 68: Electronica Digitala Aplicatii

72 4 SISTEME SECVENŢIALE

Figura 4.26 verifică corectitudinea sintezei prin analiză, folosind o simulare PSPICE.Formele de undă coincid cu cele din figura 4.22, cu excepţia stării iniţiale, în care toate intrările suntla 0 logic. Ieşirile circuitului au o valoare logică necunoscută, pentru că circuitul nu a fost iniţializat.În circuitele reale există cu siguranţă la ieşiri una dintre cele două valori logice posibile, 0 sau 1.Aceeaşi problemă apare şi la sistemele secvenţiale sincrone cu bistabile integrate. .

4.3.3 Să se analizeze sistemul secvenţial din figura 4.27, reprezentând cronograma,tabelul tranziţiilor şi diagrama stărilor acestuia. Arătaţi că circuitul este un oscilator şistabiliţi perioada de oscilaţie.

∆1 ∆2 ∆3

Q 1 Q 2 Q 3

Fig. 4.27 Schema logică a circuitului

Rezolvare:Dacă ţinem seama de întârzierile prin porţi, rezultă formele de undă din figura 4.28.

Semnalele la ieşirile porţilor sunt periodice, cu perioada ( )3212 ∆+∆+∆⋅=T . Tabelul tranziţiilorşi diagrama stărilor sunt prezentate în figura 4.29.

∆1 ∆1∆2 ∆2 ∆3∆3

Q 1

Q 2

Q 3

Fig. 4.28 Cronograma circuitului din figura 4.27

Q1Q

2Q

3Q1Q

2Q

3+ + +

000 -001010 110

011

011100

010101

101110111 -

Q1Q2Q3

001100

001 001 001 001 001 001

Fig. 4.29 Tabelul tranziţiilor şi diagrama stărilor

4.3.4 Să se proiecteze un bistabil D cu basculare dublă pe front, respectiv carebasculează pe ambele fronturi ale semnalului de ceas.

Page 69: Electronica Digitala Aplicatii

4.3 Probleme rezolvate 73Rezolvare:

Circuitul căutat este un sistem secvenţial asincron, implementat cu porţi, care trebuie săbasculeze ca un bistabil D la aplicarea unui front crescător, sau descrescător, pe intrarea de ceas.Notăm cu C intrarea de ceas şi cu D intrarea de date, iar cu Q ieşirea. Ca orice bistabil, trebuie săaibă şi o ieşire Q, dar deocamdată ea nu ne preocupă, pentru că o putem obţine cu un simpluinversor de la ieşirea Q. Formele de undă care descriu funcţionarea circuitului sunt date în figură.

1 2 3 4 51 5

D

CQ

1 6 7 8 7 9 5Fig. 4.30 Formele de undă şi stările sistemului

Q

12345

00 01 1011Q+, y

- ---

D C

678

9

-1,0 5,0 2,03,1 2,03,14,1

4,11,0 ---1,0 5,0 6,0

6,0 7,1- -8,1 7,1- -8,1 7,1- -

5,09,1 --

Fig. 4.31 Tabelul tranziţiilor şi al ieşirii

Tabelul tranziţiilor din figura 4.31 sugerează că sistemul are 4 stări distincte. Respectândcondiţia ca două stări între care au loc tranziţii să aibă coduri adiacente, alegem următoarele coduribinare: stările compatibile 1 şi 2 primesc codul 00, stările compatibile 3 şi 4, codul 10, stărilecompatibile 5 şi 6, codul 01, iar stările compatibile 7, 8 şi 9 primesc codul rămas 11. Evident căsunt posibile şi alte codificări binare.

Cu aceste coduri, rezultă tabelul redus al tranziţiilor din figura 4.32. Se descompune în 3diagrame Veitch-Karnaugh şi se deduc expresiile minime pentru funcţiile +

1Q , +2Q şi +

3Q .

00

00 01 1011D C

10,100,0 01,0 00,0

Q1 Q2

+ , yQ1 Q2+

01 00,0 01,0 01,0 11,111 11,1 01,0 11,1 11,110 00,0 10,1 10,1 -

Fig. 4.32 Tabelul redus al tranziţiilor şi codificarea stărilor

Page 70: Electronica Digitala Aplicatii

74 4 SISTEME SECVENŢIALE

Rezultă următoarele ecuaţii:22122111 QDCQQCQDCQQCQDQ ⋅⋅+⋅⋅+⋅⋅+⋅⋅+⋅=+

12122 QDCQQQDQ ⋅⋅+⋅+⋅=+

+= 1QyDacă implementăm acum sistemul folosind numai două nivele de logică (porţi ŞI şi porţi

SAU), obţinem un circuit care conţine 14 porţi logice, iar analiza circuitului prin simulare PSpicegenerează formele de undă din figura 4.33. Verificaţi dacă circuitul funcţionează corect şi comentaţiapariţia “spike”-ului la momentul de 13µs pe traseul lui 2Q .

Ce se întâmplă dacă dorim să folosim un circuit cu număr mai mic de porţi? Ecuaţiile de maisus se pot transforma aşa cum se vede mai jos şi rezultă un circuit care conţine numai 10 porţilogice. Verificaţi prin simulare PSPICE funcţionarea circuitului şi comentaţi rezultatele obţinute.

( ) ( )1211 QDQCQDQ +⋅⊕+⋅=+

( ) 1212 QDCQQDQ ⋅⋅+⋅+=+

+= 1Qy

Fig. 4.33 Formele de undă obţinute prin simulare PSPICE

4.3.5 Să se proiecteze un sistem numeric care să asigure funcţionarea automată abarierelor la o trecere la nivel peste calea ferată. Sistemul are 2 intrări, notate cu x1 şi x2 ,date de stările unor contacte amplasate de o parte şi de alta a şoselei. Ieşirea y comandăînchiderea barierelor.

Rezolvare:Avem de proiectat un sistem sincron cu comportament asincron, datorită intrărilor, care se

pot modifica în orice moment de timp. Frecvenţa semnalului de ceas CLOCK, este mult mai maredecât rata de modificare a intrărilor. Presupunem că atunci când contactele sunt închise(trece trenul)avem 1 logic pe intrări, iar comanda de închidere a barierelor se dă pentru 1 logic la ieşire. Stărilesistemului au fost marcate direct pe formele de undă rezultate prin simulare PSPICE din figura 4.34,unde s-au considerat trenuri scurte sau lungi, care vin dintr-o parte sau cealaltă a barierei.

Fig. 4.34 Sistemul are 9 stări distincte, numerotate de la 0 la 8

Page 71: Electronica Digitala Aplicatii

4.3 Probleme rezolvate 75

Qx1x2

0 0,000 01 11 10

4,1 - 1,11 2,1 1,17,1-2 2,1 3,1 - -3 0,0 3,1 - -4 5,1 4,1 8,1 -5 5,1 - - 6,16 0,0 - - 6,17 - 3,1 7,1 -8 - - 8,1 6,1

Q+, y

Qx1x2

0 0,000 01 11 10

4,1 - 1,1

0,0 3,14 5,1 4,1 8,1

-5

6,16,18

Q+, y

Codificarea binară a stărilor: 0 00 1 = 2 = 7 01 3 = 6 11 4 = 5 = 8 10, , ,

1 2,1 1,17,12 3,17= =3 6== =

Fig. 4.35 Tabelul tranziţiilor. Reducerea şi codificarea stărilor

După reducerea stărilor rămân 4 stări distincte, care sunt codificate aşa cum se arată înfigura 4.35. Se minimizează funcţiile de excitaţie şi ieşirea, rezultând ecuaţiile care permitimplementarea circuitului cu bistabile de tip D şi porţi logice:

D x x x Q Q Q1 1 2 1 1 1 2= + + ,D x x x Q Q Q2 1 2 2 2 1 2= + + , şiy Q Q= +1 2 .

Ar putea exista probleme în funcţionare, dacă ne uităm la tabelul tranziţiilor şi la codurilealese? Observăm că există o situaţie în care se face o tranziţie de la o stare la alta, deşi cele douăstări nu au coduri adiacente. Este aceasta o problemă reală şi dacă da, atunci cum ar putea firezolvată? .

4.3.6 Un sistem secvenţial are 2 intrări şi o ieşire care detectează orice secvenţă de 4stări succesive pentru care cele două intrări sunt identice. La detectarea acestei secvenţeieşirea capătă valoarea logică 1 atât timp cât intrările sunt identice. Să se proiectezesistemul.

Rezolvare:Avem de proiectat un sistem sincron cu comportament sincron, deoarece modificarea

intrărilor este dată de semnalul de ceas. Stările sistemului au fost marcate direct pe formele de undărezultate prin simulare PSPICE din figura 4.36. Se observă din tabelul tranziţiilor dat în figura 4.37că sistemul are 4 stări distincte. Codificarea propusă a stărilor generează următoarele expresii pentrufuncţiile de excitaţie şi ieşire: ( )D x x Q Q1 1 2 1 2= ⊕ ⋅ + , D x x Q2 1 2 1= ⊕ ⋅ şi y x x Q Q= ⊕ ⋅ ⋅1 2 1 2 .

Problema se putea rezolva mai simplu, dacă observam de la început că x x1 2= înseamnăx x1 2 1⊕ = şi obţineam un sistem cu o singură intrare x x x= ⊕1 2 .

Fig. 4.36 Sistemul are 5 stări distincte, numerotate de la 1 la 5

Page 72: Electronica Digitala Aplicatii

76 4 SISTEME SECVENŢIALE

Qx1x2 00 01 11 10

1 2,02

2,0

Q+, y

1,03,0

1,01,0 3,0 1,0

3 4,0 4,01,0 1,04 5,1 1,0 1,05,15 5,1 1,0 1,05,1

Sistemul are 4 stări distincte.

Alegem următoarele coduri binare1 002 013 11

4 = 5 10

Fig. 4.37 Tabelul tranziţiilor. Reducerea şi codificarea stărilor

4.3.7 Se consideră automatul finit descris de organigrama din figură. Să seimplementeze circuitul folosind bistabile de tip D şi având:

a) număr minim de porţib) multiplexoare cu 4 căi de intrarec) memorie ROM de 32 cuvinte a câte 4 biţid) un circuit combinaţional format din memorie ROM de 4 cuvinte a câte 4 biţi şi

multiplexoare. Reprezentaţi harta memoriei.

A

B

Q1Q200

11

C

X0 1

1

X0 1

2

01

X 013D

X 014

10

Fig. 4.38 Organigrama care descrie funcţionarea automatului finit

Rezolvare:Construim tabelul tranziţiilor urmărind organigrama. Sistemul are 2 bistabile şi 4 intrări, al

căror sincronism cu ceasul nu ne preocupă, codurile stărilor fiind deja date. Oricum, dacăvariabilele X1 şi X3 pot fi şi asincrone, variabilele X2 şi X4 sunt obligatoriu sincrone.

Q1 Q 2 Q1+ Q 2

+

0 00 0

1 1

1 0

X4X3X2X1 0 0 0 00 x x x 0 0 0 11 x x xx 0 1x x0x 0 1x x1x 1 1x x 0x 1 1x x 10 1 0x x x1 1 0x x x

0 0

1 1

Fig. 4.39 Tabelul tranziţiilor pentru organigrama din figura 4.38

Page 73: Electronica Digitala Aplicatii

4.3 Probleme rezolvate 77a) Pentru implementarea cu porţi este necesară minimizarea funcţiilor binare Q D1

+1= şi

Q D2+

2= . Folosim diagramele Veitch-Karnaugh condensate.b) Urmărind tabelul tranziţiilor se poate face uşor implementarea funcţiilor cu

multiplexoare, la fel ca în exemplul prezentat la punctul 4.2.3.

Q1Q1

Q2

Q2

Q1Q1

Q2

Q20 x1

D1 D2

x2 x2x3 0x4x4

a

Q1Q2

21

20

0 1 2 3

WMUX

D1

Q1Q2

21

20

0 1 2 3

WMUX

D2

0 x2 x4 x3 x1 x2 x4 0

bFig. 4.40 Soluţiile problemei pentru punctele a şi b

c) Cele 6 variabile necesită folosirea unui număr de 2 cipuri de memorie ROM de 32cuvinte ( )52 , având ieşiri cu 3 stări (figura 4.41.a). Variabila suplimentară, aici 1x ,selectează citirea datelor numai de la circuitul selectat. Se poate utiliza şi un singurcircuit de memorie de 32 cuvinte a câte 4 biţi şi două multiplexoare cu câte 2 intrări.Desenaţi schema logică şi comparaţi cele două implementări propuse.

d) O altă soluţie de implementare cu memorie este dată în figura 4.41.b. Orice soluţie carefoloseşte un cip de memorie ROM trebuie să aibă şi harta memoriei, care indicăconţinutul memoriei ROM. Deci soluţia din figura 4.41.b este completă. Este evident cătoate aceste soluţii implementează numai logica combinaţională a automatului finit. Sevede că cele două bistabile de tip D nu sunt reprezentate în scheme.

a

Q2

D1

x1

b

x1 x2

Q1Q2

21

20

0 1 2 3

WMUX

x4 x3

D1

D2

A1

A0

O0

O1

O2

O3OE

ROM

0

1MUX

0

1MUX

Q1

Q2

A4A3A2

A1A0

O0

O1

O2

O3OE

ROM

A4A3A2

A1A0

O0

O1

O2

O3OE

ROM

x2x3x4Q1

D2

A1 A0 O0 O1 O2 O30 00 11 01 1

0 0 0 11 0 1 00 1 0 10 1 0 0

Fig. 4.41 Soluţiile problemei pentru punctele c şi d

4.3.8 Să se facă sinteza unui circuit de generare a stărilor de WAIT pentrumicroprocesoarele 8080, 8085 şi Z80, folosind formele de undă din figura de mai jos. Încercaţişi o soluţie de implementare cu registre de deplasare. Arătaţi modul de conectare a circuituluila fiecare dintre cele trei microprocesoare pe 8 biţi.

Page 74: Electronica Digitala Aplicatii

78 4 SISTEME SECVENŢIALE

CLK

WAIT REQUEST (intrare)

READY (ieşire)

WAIT (ieşire)

Fig. 4.42 Formele de undă pentru problema 4.3.8

Rezolvare:Semnalul de intrare WAIT REQUEST este considerat asincron, deşi ar putea fi chiar sincron

sau sincronizabil cu semnalul de ceas. Pentru simplitate vom nota acest semnal cu x, iar ieşirileREADY şi WAIT cu 1y şi respectiv 2y .

CLK

x

y1

y21 2 3 4 1

xQ

1234

0 1

2,11 1,113,00 -4,01 -4,11 1,11

Fig. 4.43 Stările circuitului şi tabelul tranziţiilor

Dacă alocăm celor 4 stări codurile 21QQ : 1 = 00, 2 = 01, 3 = 11 şi 4 = 10, atunci obţinemurmătoarele ecuaţii pentru logica combinaţională: xQQD ⋅+= 121 , xQD ⋅= 12 , 21 Qy = şi

212 QQy += . Desenaţi schema logică a circuitului.

O soluţie alternativă, agreată de multe ori în practică, este implementarea cu registru. Chiardacă ea introduce un bistabil în plus, se reduce numărul de porţi folosite. Funcţiile de ieşire READYşi WAIT sunt generate pentru anumite secvenţe ale intrării WAIT REQUEST. Atât timp cât intrareaeste în 1 logic, READY = WAIT = 1, condiţie ce trebuie îndeplinită pentru oricare dintre stărileinterne 012 QQQ = 000, 100, 110 sau 111 ale sistemului. La trecerea intrării în 0 logic, ieşirile

012 QQQ ale bistabilelor trec succesiv prin stările 011, 001 şi una dintre stările deja menţionateanterior. În starea 011012 =QQQ ieşirile circuitului sunt 0021 =yy , iar în starea 001012 =QQQieşirile sunt 0121 =yy . Se construieşte tabelul de adevăr pentru funcţiile de ieşire, având cavariabile ieşirile bistabilelor, se minimizează folosind diagramele Veitch-Karnaugh şi se obţineschema logică din figura 4.44. Pentru conectarea acestui circuit la o schemă cu microprocesortrebuie să avem informaţii de catalog despre microprocesorul utilizat.

CLK

Q

Q

D

2

CLK

RCLK

Q

Q

D

0

R

RESET

CLK

Q

Q

D

1

R

WAIT REQUEST READY

WAIT

Fig. 4.44 Schema logică a circuitului implementat cu registru

Page 75: Electronica Digitala Aplicatii

5 STRUCTURI PROGRAMABILE

Aplicaţiile din acest capitol îşi propun să prezinte funcţionarea circuitelor de memorieROM(Read Only Memory) şi RAM(Random Access Memory), a structurilor programabilePLD(Programmable Logic Devices), structuri care conţin reţele programabile de porţi logice şibistabile, precum şi a structurilor FPGA(Field Programmable Gate Arrays), reţele complexe deblocuri logice programabile şi resurse de interconectare a lor, care se configurează prinprogramare pentru o anumită aplicaţie.

5.1 Consideraţii teoretice

5.1.1 Memoria ROM

Memoria ROM este un circuit combinaţional care stochează permanent date binare, iaraceastă informaţie poate fi numai citită. Această structură este de obicei definită ca unconvertor de cod compus dintr-un decodificator şi un codificator. Vectorul de intrare îndecodificator este interpretat ca o adresă, iar datele obţinute la ieşirea codificatoruluireprezintă informaţia memorată la adresa respectivă.

În figura 5.1 s-a luat un exemplu de memorie ROM care conţine 8 cuvinte de câte 4biţi. O combinaţie binară care se aplică pe cele 3 intrări de adresă, 2A , 1A şi 0A , selecteazăunul dintre cele 8 cuvinte, iar cei 4 biţi de date ai cuvântului selectat sunt disponibili laieşirile 0O , 1O , 2O şi 3O , cu condiţia ca intrarea OE (Output Enable) să fie activată (înexemplul nostru activarea se face pe 0 logic). Dacă 1=OE ieşirile memoriei sunt înstarea de înaltă impedanţă (high Z). Tabelul de adevăr din figură este numai un exemplucare arată o posibilitate de implementare a 4 funcţii binare de câte 3 variabile.

Există mai multe tipuri constructive de memorie ROM. Memoriile ROM sunt deobicei considerate cele care sunt încărcate cu date în procesul de fabricaţie al circuituluiintegrat, deci care nu sunt programabile de către utilizator. Utilizatorul poate introducedatele lui o singură dată într-o memorie PROM(Programmable ROM), sau de mai multe.

Page 76: Electronica Digitala Aplicatii

80 5 STRUCTURI PROGRAMABILE

A2

A1

A0

O1

O0

O2

O3

ROM

OE

101

0

010

011

000001 0

01

11

111 0

A 0A 1A 2 OE O 0 O 1 O 2 O 3

xxx

0000000

1

1110000

high Z1

1101001

high Z0

1011010

high Z0

0111100

high Z0

Fig. 5.1 Memorie ROM de 8 cuvinte de 4 biţi şi harta memoriei

ori, în memoriile EPROM(Erasable PROM) sau EEPROM (Electrically EPROM), diferenţafiind dată de modalitatea de ştergere a datelor din memorie. Memoriile EPROM conţintranzistoare MOS care conţin o poartă suplimentară, izolată de restul circuitului. Aceastăpoartă permite stocarea pe termen lung a sarcinii electrice necesare pentru memorareabitului respectiv de informaţie. Ştergerea se face prin expunere la radiaţii ultraviolete. Lamemoriile EEPROM izolaţia porţii este mult mai subţire şi sarcina electrică în exces poate fieliminată prin aplicarea unei tensiuni de polaritate inversă pe poarta tranzistorului care nueste flotantă, deci ştergerea se face pe cale electrică.

Circuitul integrat 82S147, care este o memorie PROM în tehnologie SchottkyTTL, a fost utilizat deja în aplicaţiile prezentate în capitolul anterior. Rolul lui era de aimplementa logica combinaţională a unui automat cu stări finite (vezi punctul 4.2.4 şiproblema 4.3.7).

5.1.2 Memoria RAM

Memoria RAM este un circuit care stochează biţi de informaţie într-o matrice dememorie, la fel ca memoria ROM. Diferenţa constă în faptul că informaţia utilă memorată înRAM trebuie mai întâi să fie “scrisă” acolo, înainte de a fi citită.

A 2

A 1

A 0

DCD MATRICE DE MEMORIE8 4

OE

CS

WE

DIN3 DIN2 DIN1 DIN0

DOUT3 DOUT2 DOUT1 DOUT0

WR

WRSEL CL

DIN D QDOUT

un bit de memorie

LATCH

Fig. 5.2 Structura unei memorii SRAM de 8 cuvinte de 4 biţi

Page 77: Electronica Digitala Aplicatii

5.1 Consideraţii teoretice 81Există două tipuri constructive de memorie RAM: RAM static sau SRAM, în care

biţii de date, odată ce au fost înscrişi, sunt memoraţi atât timp cât circuitul integrat estealimentat cu tensiune, şi RAM dinamic sau DRAM, în care datele memorate trebuie să fiemereu reîmprospătate prin citirea şi apoi rescrierea lor periodică în locaţiile respective dememorie, în caz contrar ele pierzându-se definitiv.

Structura unei memorii SRAM este asemănătoare cu cea a unei memorii ROM.Apare în plus semnalul WE(Write Enable) care, odată ce este activat pe 0 logic, memoreazădatele de pe intrările de date la adresa indicată de intrările de adresă. Se poate vedea înfigura 5.2 că celula de memorie de un bit conţine un latch de tip D, iar memorarea datelor seface pe palierul de 1 logic al ceasului, adică atunci când sunt activate semnalele WR şiSEL, acesta din urmă fiind generat de una din ieşirile decodificatorului liniilor de adresă.Activarea semnalului WR este o consecinţă a activării semnalelor de intrare WE şi CS.

Circuitul integrat MMN 2114, care este o memorie SRAM în tehnologie NMOS,a fost utilizat deja în aplicaţiile prezentate în capitolul anterior. Rolul lui era de a emulao memorie ROM care implementa logica combinaţională a unui automat cu stări finite(vezi punctul 4.2.4).

5.1.3 Structuri PLD

Structurile PLD conţin porţi logice şi, în unele cazuri, circuite bistabile, aranjate înaşa fel încât interconectările dintre componente să poată fi modificate pentru a implementadiverse funcţii binare.

Structurile PLD combinaţionale conţin numai porţi logice cu conexiuniprogramabile, care permit implementarea comodă a funcţiilor binare reprezentate în formădisjunctivă. Circuitele reprezentative din această categorie sunt structurile PLA(Programmable Logic Arrays) şi structurile PAL (Programmable Array Logic). Acesteadin urmă sunt marcă înregistrată a firmei AMD.

Un exemplu de circuit PLD secvenţial de tip registru este circuitul integratGAL16V8, marcă înregistrată a firmei Lattice Semiconductor, circuit care conţine 8 intrări,8 intrări/ieşiri cu 3 stări şi 8 macrocelule programabile, numite aici OLMC (Output LogicMacro Cell). Schema completă a circuitului este dată în figura 5.3. Terminaţia QS din codulcircuitului integrat provine de la “Quiet Series” şi are în vedere modificarea traseului internde masă în scopul reducerii zgomotelor. Matricea de porţi ŞI conţine 2048 de conexiuniprogramabile, iar porţile SAU au conexiuni fixe (vezi figura 5.4). Matricea de conexiuniprogramabile permite conectarea oricărei intrări numerice, în formă directă sau negată, laorice termen produs. Fiecare macrocelulă programabilă mai conţine câte 10 conexiuniprogramabile, care stabilesc modul de lucru. În sfârşit, un număr de 64 de conexiuniprogramabile, grupate în 8 octeţi, stabilesc o semnătură digitală a utilizatorului, adică celcare programează circuitul integrat, pentru secretizarea hărţii de conexiuni şi evitareamultiplicării neautorizate a unui produs care conţine astfel de circuite.

Schema internă a unei macrocelule programabile este dată în figura 5.4. Ieşirea porţiiSAU poate fi complementată sau nu cu poarta SAU-EXCLUSIV şi aplicată direct la intrareaporţii cu 3 stări de la ieşire printr-un canal de multiplexor, sau poate fi aplicată la intrareaunui bistabil D, a cărui ieşire se poate trimite la exterior, sau returna spre matricea de.

Page 78: Electronica Digitala Aplicatii

82 5 STRUCTURI PROGRAMABILE

Fig. 5.3 Structura circuitului GAL 16V8

comutatoare programabile de la intrare. Fluxul datelor prin circuit este stabilit cu ajutorulunor multiplexoare cu intrări de selecţie programabile. Există legături între macrocelule, pede o parte, pentru transfer de date, iar pe de altă parte, comutatorul AC0 se conectează fie la0 logic, fie la 1 logic pentru toate macrocelulele din structură. Comutatoarele AC1, XOR şiPTD se programează independent, pentru fiecare celulă în parte, după necesităţi.Proiectantul nu este obligat să cunoască structura internă a circuitului integrat, decât dacăstabileşte manual harta de conexiuni, lucru foarte plictisitor şi cu mare şansă de eroare.Există programe care realizează automat harta de conexiuni, pornind de la ecuaţiile furnizatede proiectant şi folosind un model software al circuitului PLD folosit.

Page 79: Electronica Digitala Aplicatii

5.1 Consideraţii teoretice 83

Fig. 5.4 Structura unei macrocelule programabile din circuitul GAL 16V8

5.1.4 Structuri FPGA

Arhitectura unui circuit FPGA este prezentată în figura 5.5. Există trei elementeconstructive de bază care se repetă ori de câte ori este necesar în structură: blocul logic,blocul de intrare-ieşire, şi resursele de interconectare ale blocurilor, de fapt matrici decomutatoare programabile, numite şi switchbox-uri. Blocul logic poate conţine sute sau miide porţi logice şi poate fi configurat diferit în funcţie de aplicaţie. Realizareainterconexiunilor permite o utilizare superioară a resurselor logice faţă de structurile PLD.

Bloclogic

Bloc deintrareieşire

Resurse de interconectare

Switch Box

Fig. 5.5 Arhitectura FPGA

Page 80: Electronica Digitala Aplicatii

84 5 STRUCTURI PROGRAMABILE

Fig. 5.6 Schema simplificată a blocului logic la circuitul XC4000

Structura blocului logic al circuitului XC4000 produs de firma Xilinx este dată înfigura 5.6. Modulele F şi G sunt generatoare de funcţii binare programabile cu câte 4 intrări,iar împreună cu modulul H, care este tot un generator de funcţii binare, permitimplementarea unor funcţii cu 9 variabile independente. Blocul logic mai conţine o logicăcombinaţională de selecţie şi 2 bistabile de tip D pentru stocarea rezultatelor date degeneratoarele de funcţii. Ieşirile generatoarelor de funcţii se pot utiliza independent deieşirile elementelor de stocare de tip registru.

Fiecare bloc de intrare/ieşire controlează un singur pin al circuitului integrat şi sepoate configura ca port de intrare, port de ieşire sau port bidirecţional. Semnalele de intrarese pot aplica direct sau prin bistabile de intrare. Semnalele de ieşire, care se pot inversa îninteriorul blocului, se pot conecta direct la ieşirea pinului sau la bistabilul de ieşire. Matriceade cuplare programabilă, sau switchbox-ul, este alcătuită din conexiuni programabile carepermit realizarea oricărei configuraţii posibile de conexiuni.

5.2 Demonstraţii practice

Consideraţiile asupra alimentării panoului logic, formulate în primul capitol, rămânvalabile şi aici. Panourile logice folosite în aplicaţii, fie au surse proprii de alimentare(programatorul de memorii EPROM sau sistemul de dezvoltare cu FPGA), fie sealimentează cu o tensiune nominală de 5Vcc (panoul logic cu memorie RAM sau panoul cuGAL), în cazul în care acestea din urmă nu sunt şi ele prevăzute cu surse proprii dealimentare.

Page 81: Electronica Digitala Aplicatii

5.2 Demonstraţii practice 855.2.1 Se conectează programatorul de memorii EPROM la portul paralel al unui

calculator. Se porneşte calculatorul şi apoi se alimentează şi programatorul de la sursaproprie de alimentare, care furnizează toate tensiunile necesare pentru citirea şiprogramarea unei memorii EPROM de tipul 2716 sau 2732. Memoria 2716 are2Kcuvinte de câte 8 biţi, iar memoria 2732 are 4Kcuvinte de câte 8 biţi.

Se lansează aplicaţia “Programator EPROM”, care deschide fereastrareprezentată în partea stângă a figurii 5.7. Din lista de opţiuni se selectează tipulmemoriei EPROM, din butoanele radio operaţia dorită, iar offset-ul reprezintă adresa dela care se începe citirea sau programarea memoriei. Operaţia de elaborare a fişieruluisursă deschide o a doua fereastră, dată în partea dreaptă a figurii 5.7, prin care seintroduce într-un fişier valoarea conţinută de fiecare adresă, de la offset +1 şi până laoffset + număr de locaţii. În exemplul dat, prin apăsarea butonului “Save”, se introducenumărul binar 01101001 la adresa 5, offset-ul fiind 0. Fişierul construit în acest mod vafi folosit la operaţia de programare a memoriei.

Introduceţi în soclu o memorie EPROM de tipul 2716, după ce aţi oprit mai întâitensiunea de alimentare a programatorului, şi apoi citiţi conţinutul ei. Toate locaţiilesunt programate? Dacă nu, atunci introduceţi în locaţiile imediat următoare offset-ului10 cuvinte identice alese de dumneavoastră. Citiţi din nou memoria pentru a verifica cădatele au fost înscrise corect. Opriţi tensiunea de alimentare a programatorului şi apoialimentaţi din nou programatorul. Verificaţi dacă datele înscrise s-au păstrat. Consultaţifoaia de catalog şi observaţi cronogramele ciclurilor de citire şi programare.

Repetaţi operaţiile de mai sus pentru o memorie EPROM de tipul 2732. Nu amprecizat exact codurile memoriilor EPROM, pentru că ele depind de producător: I 2716,dacă circuitul este fabricat de INTEL, MMN 2716 dacă este fabricat de“Microelectronica” Bucureşti, sau K573PΦ2 (echivalent cu 2716) dacă este fabricat înRusia. Dacă aveţi la dispoziţie o lampă cu ultraviolete, încercaţi să ştergeţi memoriileEPROM şi verificaţi dacă acest lucru s-a realizat (toţi biţii sunt poziţionaţi pe 1 logic).

Fig. 5.7 Două ferestre ale aplicaţiei “Programator EPROM”

5.2.2 Se studiază memoria RAM static de tipul 2114, care are o capacitate de 1Kde câte 4 biţi. Panoul logic folosit deja la automatele cu memorie RAM are un circuitintegrat MMN 2114. Se reia scrierea datelor în memorie, aşa cum se arată la pagina 68,

Page 82: Electronica Digitala Aplicatii

86 5 STRUCTURI PROGRAMABILE

şi se justifică operaţiile care se fac. Se citeşte memoria, măsurând de această datăieşirile memoriei şi se verifică dacă datele introduse au fost memorate corect. Seîntrerupe tensiunea de alimentare câteva secunde şi, după revenirea ei, se citesc din noudatele de la adresele respective. Ce constataţi? Justificaţi răspunsul şi indicaţi o soluţiepentru păstrarea datelor chiar şi după decuplarea temporară a tensiunii de alimentare.

Se repetă operaţiile de mai sus pentru panoul logic care conţine o memorie RAMstatic de tipul 2102, cu o capacitate de 1K de câte 1 bit şi linii separate pentru intrarea şiieşirea bitului de date. O schemă simplificată a panoului logic este dată în figura 5.8. Deaceastă dată adresarea locaţiilor de memorie se face cu ajutorul a două numărătoare decâte 5 biţi (MMC 4024), care pot fi uşor poziţionate în orice stare dorită cu ajutorulunui ceas manual, realizat cu comutator mecanic şi latch. Astfel se poate fixa oriceadresă din spaţiul de 1024 adrese disponibile. Datele se introduc pe linia de intrareprintr-un comutator cu două poziţii, iar linia de ieşire arată conţinutul memoriei prinstarea unui LED. Semnalul WR este generat tot cu un latch.

LATCH

+Vcc

4024CLKQ 1Q 2Q 3Q 4Q 5

4024 CLKQ 1Q 2Q 3Q 4Q 5

LATCH

+Vcc

2102

Q 6 RESET Q 6 RESET

LATCH

+Vcc

R / W

A 9 A 8 A 7 A 6 A 5 A 4 A 3 A 2 A 1 A 0

+Vcc

D IN

D OUT

Fig. 5.8 Schema simplificată a panoului logic cu memorie RAM 2102

5.2.3 Se introduce în soclul programatorului de circuite GAL un circuitGAL16V8 şi se conectează programatorul la portul paralel al unui calculator. Seporneşte calculatorul şi apoi se alimentează şi programatorul de la sursa proprie dealimentare. Se lansează programul freeware “galprog2”, care permite prin intermediulunei interfeţe grafice selecţia portului paralel, a tipului de GAL, încărcarea datelor dinfişier şi salvarea lor în fişierul JEDEC, care conţine harta conexiunilor programabile,.

Fig. 5.9 Două interfeţe pentru programarea circuitelor GAL 16V8 şi GAL20V8

Page 83: Electronica Digitala Aplicatii
Page 84: Electronica Digitala Aplicatii

88 5 STRUCTURI PROGRAMABILE

5.1 Probleme rezolvate

5.3.1 Să se implementeze cu memorie ROM un generator al funcţiei sinus, ştiind căargumentul funcţiei variază între 0 şi π/2 cu paşi de π/512. Se cere rezultatul cu 4 zecimaleexacte în cod BCD.

Rezolvare:Patru cifre zecimale în cod BCD se reprezintă pe 16 biţi, deci cuvintele memoriei sunt

structurate pe 16 biţi. Numărul de cuvinte de memorie N este dat de raportul dintre interval şi

numărul de paşi, deci: 2565122

=⋅=π

πN . Deci memoria necesară are 256 cuvinte a câte 16 biţi.

Dacă folosim, de exemplu, cipuri de 256 cuvinte a câte 8 biţi, atunci schema logică ar fi ceadin figura 5.11.

ROM 1

A 7 A 0...

D 7 D 0...OE ROM 2

A 7 A 0...

D 7 D 0...OE

A 7 A 0...8 8

D 7 D 0...D 15 D 8...

Fig. 5.11 Extinderea numărului de biţi pe cuvânt

Un fragment din harta memoriei pentru întregul sistem (cele două cipuri împreună) esteprezentat în figura 5.12.

A 7 A 0 D 7 D 0D 15 D 8A 6 A 5 A 4 A 3 A 2 A 1 D 14 D 13 D 12 D 11 D 10 D 9 D 60 0 0 0 0 0 0 00 0 0 0 0 0 0 10 0 0 0 0 0 1 00 0 0 0 0 0 1 1

D 5 D 4 D 3 D 2 D 1

00 0 0 0 0 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0

...... .........11 0 0 1 1 0 0 1 0 0 1 1 0 0 111 0 0 1 1 0 0 1 0 0 1 1 0 0 11 1 1 1 1 1 11

1 1 1 1 1 1 01

Fig. 5.12 Harta memoriei pentru generatorul funcţiei sinus

5.3.2 Folosind o memorie EPROM să se implementeze un circuit care realizeazăînmulţirea PNM =× , unde M, N şi P sunt exprimate în cod BCD, iar M şi N sunt cuprinseîntre 0 şi 9.

Rezolvare:Operanzii M şi N se reprezintă pe câte 4 biţi, deci memoria trebuie să aibă 8 biţi de

adresă. Valoarea maximă a produsului P este 8199 =× , număr care se reprezintă în binar pe 7biţi, deoarece 76 2812 << . În cod BCD numărul P se reprezintă însă pe 8 biţi, fiind format dindouă cifre BCD. El se obţine la ieşirile de date ale memoriei. Deci, memoria are 256 cuvinte decâte 8 biţi fiecare. Figura 5.13 reprezintă schema logică şi un fragment din harta memoriei.

Page 85: Electronica Digitala Aplicatii

5.3 Probleme rezolvate 89

M

N

P

EPROM A 7 A 0 D 7 D 0A 6 A 5 A 4 A 3 A 2 A 1 D 60 0 0 0 0 0 0 0

0 0 1 0 0 0 1 10 0 1 0 0 1 0 0

D 5 D 4 D 3 D 2 D 1

00 0 0 0 0 0 0

00 0 0 0 0 1 100 0 0 0 1 0 0

......10 0 1 1 0 1 0

11 0 0 0 0 0 00 0 1 1 0 0 11

1 1 1 0 1 0 10

...... ......A 7A 6A 5A 4

A 3A 2A 1A 0

D 7D 6D 5D 4D 3D 2D 1D 0

......

...... ......

Fig. 5.13 Circuit de înmulţire cu memorie EPROM şi un fragment din harta memoriei

5.3.3 Să se implementeze cu memorie ROM şi apoi cu o structură PLA următorul setde funcţii binare:

15141284311 PPPPPPPf ++++++=

1285102 PPPPPf ++++=

151385423 PPPPPPf +++++=

Rezolvare:Implementarea funcţiilor binare cu memorii ROM presupune stabilirea capacităţii

memoriei necesare, alegerea tipului potrivit de memorie din oferta disponibilă în catalog şistabilirea hărţii memoriei. De obicei se urmăreşte utilizarea unui număr minim de circuiteintegrate, chiar dacă memoria ROM rămâne parţial nefolosită.

În exemplul considerat, termenul canonic de rang maxim este 15P , deci sunt necesare 4intrări de adrese. Pentru cele 3 funcţii binare sunt necesare 3 ieşiri de date. Folosim o memoriede 16 cuvinte de câte 4 biţi. Soluţia cu memorie ROM este prezentată în figura 5.14.Implementarea cu o structură PLA este prezentată în figura 5.15.

A 1

A 0

D 3

D 2

D 1

D 0

ROM

A 3

A 2

A

B

C

D

f 1f 2f 3

A 0 D 0A 3 A 2 A 1 D 3 D 2 D 10 0 0 00 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 1

0 1 0 X1 1 0 X0 0 1 X1 0 0 X1 0 1 X0 1 1 X0 0 0 X0 0 0 X

A 0 D 0A 3 A 2 A 1 D 3 D 2 D 11 0 0 01 0 0 11 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 1

1 1 1 X0 0 0 X0 0 0 X0 0 0 X1 1 0 X0 0 1 X1 0 0 X1 0 1 X

Fig. 5.14 Implementarea sistemului de 3 funcţii binare cu memorie ROM

A

B

C

D

f3

f2

f 1

Fig. 5.15 Implementarea sistemului de 3 funcţii binare cu PLA

Page 86: Electronica Digitala Aplicatii

90 5 STRUCTURI PROGRAMABILE

5.3.4 Să se implementeze o memorie EPROM de 322 ×K , folosind o memorieEPROM de 164 ×K . Se pot utiliza circuite auxiliare SSI/MSI şi se presupune cădispunem de un semnal de ceas cu o perioadă ceva mai lungă decât timpul de acces lamemoria de 164 ×K . Care este timpul de acces al memoriei de 322 ×K ?

Rezolvare:Capacitatea totală a memoriei rămâne neschimbată, se modifică numai organizarea ei. O

soluţie este prezentată în figura 5.16, unde spaţiul adreselor este împărţit în două, cei 5 biţi maipuţin semnificativi fiind generaţi intern, cu ajutorul unui numărător în inel comandat desemnalul de ceas. La fiecare perioadă de ceas, un alt bit este memorat în registru, astfel încât,după 32 perioade de ceas dispunem de un cuvânt de 32 biţi la ieşirea registrului. Timpul deacces al memoriei este de 32 de ori mai mare decât perioada ceasului. Presupunem că timpulde acces la memoria ROM este suficient de mare pentru a evita orice probleme legate demetastabilitate.

OUT Registru serie de 32 biţi

A 4 A 0...

A 15 A 5...11ADRESE

Numărător5 32

DATE IEŞIRECLK

CLK

ROM 64K 1

Fig. 5.16 Schema simplificată a unei memorii de 322 ×K

5.3.5 Să se proiecteze un numărător binar reversibil pentru controlerul unui liftîntr-o clădire cu 20 etaje, folosind un singur circuit PAL16R6. Numărătorul trebuie săaibă o intrare care permite numărarea şi o intrare care stabileşte sensul de numărare. Lanumărarea înapoi trebuie să se blocheze în starea 1, iar la numărarea înainte trebuie săse blocheze în starea 20. În orice sens de numărare se sare peste starea 13. Reprezentaţidiagrama stărilor şi ecuaţiile scrise în ABEL.

Rezolvare:Circuitul integrat PAL16R6 are 8 intrări, 2 intrări/ieşiri programabile şi 6 bistabile de

tip D având ieşirile cu 3 stări. Matricea de 3264× comutatoare programabile permiteimplementarea oricărei funcţii binare. Pentru cele 20 stări sunt necesare 5 bistabile. Dacănotăm cu E intrarea care permite numărarea (activă pe 1 logic) şi cu S intrarea de sens (S = 1crescător, iar S = 0 descrescător), atunci diagrama stărilor este cea din figura 5.17. Detaliidespre limbajul ABEL sunt date în curs. O implementare completă de automat finit cuPAL16R4 este dată în capitolul următor.

0X0X0X0X0X0X 0X

1QE S

2 3 12 14 19 20

11 11 11 11 11 11

101010101010

10 11

Fig. 5.17 Diagrama stărilor pentru numărătorul din problema 5.3.5

Page 87: Electronica Digitala Aplicatii

6 SINTEZA AUTOMATĂANALIZA ŞI

Aplicaţiile din acest capitol îşi propun să prezinte posibilităţi de analiză şi sinteză asistemelor numerice folosind programe de calculator concepute în acest scop. Un standardpentru analiza circuitelor prin simulare pe calculator, fie ele analogice sau numerice, esteprogramul SPICE(Simulation Program with Integrated Circuit Emphasis), elaborat laUniversitatea Berkeley din California şi perfecţionat pe parcursul câtorva decenii. LimbajulVHDL(Very High Speed Integrated Circuit Hardware Description Language), folosit astăzi pescară largă de proiectanţii de sisteme numerice, este destinat sintezei structurilor numerice demare complexitate, fiind standardizat de IEEE în 1993.

6.1 Consideraţii teoretice

6.1.1 Analiza circuitelor prin simulare PSPICE

Pachetul de programe SPICE nu a fost iniţial conceput pentru calculatoare personale.Odată cu apariţia PC-urilor, au apărut şi programe de analiză a circuitelor pe PC, similare cuprogramul SPICE, cunoscute de obicei sub numele PSPICE (PC SPICE).

Programul PSPICE folosit este Design Center 5.2, un mediu integrat sub Windows3.X, produs de firma americană MicroSim. Acest mediu conţine subprograme de editare,analiză şi prezentare a rezultatelor obţinute. Cea mai importantă parte a programului desimulare o reprezintă subprogramul de analiză, care execută analizele de circuit specificateîn fişierul editat, ieşirile din acest subprogram furnizând date pentru a fi utilizate ulterior desubprogramul de prezentare a rezultatelor, care materializează rezultatele sub formă degrafice şi texte. Subprogramul de analiză conţine procedeele numerice ale reprezentăriimatematice a circuitului. Pentru a trece de la circuitul propriu-zis la un sistem matematic deecuaţii, elementele de circuit (rezistoare, condensatoare, surse, diode, tranzistoare, porţilogice, bistabile, registre etc.) sunt reprezentate prin modele matematice. Sistemul de ecuaţiicare descrie întregul circuit este determinat de ecuaţiile modelului fiecărui element şi

Page 88: Electronica Digitala Aplicatii

92 6 ANALIZA ŞI SINTEZA AUTOMATĂ

relaţiile topologice care sunt date de interconectarea elementelor. Relaţiile topologice au labază legile lui Kirchhoff iar comportarea generală a circuitului este descrisă printr-un sistemde ecuaţii diferenţiale, ale cărui soluţii se obţin prin analiza circuitului, pentru diferite cazuriparticulare de abordare: analiza de curent continuu (.DC), analiza de curent alternativ(.AC), analiza regimurilor tranzitorii (.TRAN) şi altele. Aceste analize se realizează pebaza unor metode numerice, care presupun formularea ecuaţiilor, rezolvarea ecuaţiilorliniare, a ecuaţiilor neliniare şi integrarea numerică.

Pe măsură ce creşte experienţa lucrului cu PSPICE se pun tot mai clar în evidenţăavantajele simulării. În afară de faptul că simularea este mult mai ieftină decât realizareaexperimentală a circuitului, ea permite efectuarea unor analize imposibil de realizat pemodel experimental: cum am putea măsura de exemplu tensiunea într-un nod din interiorulunui circuit integrat sau comportarea unui tranzistor la temperatura de 120 grade Celsius?

Deşi primele variante ale programelor PSPICE au fost concepute în exclusivitatepentru analiza circuitelor analogice, Design Center 5.2 şi variantele ulterioare permit şianaliza circuitelor numerice. Opţiunea DIGITAL SIMULATION permite modelareacomportării unui număr mare de dispozitive numerice (porţi, bistabile, registre,numărătoare, dispozitive logice programabile etc.), numite primitive. Aceste primitive suntfolosite de o bibliotecă numerică DIGITAL.LIB pentru a modela un număr mare decomponente care pot fi introduse direct în circuit printr-un apel de subcircuit.

PSPICE recunoaşte trei tipuri de noduri: analogice, numerice şi de interfaţă. Dacă laun nod sunt conectate numai dispozitive analogice, atunci el este analogic. Dacă suntconectate numai dispozitive digitale, atunci el este digital. Dacă la nod sunt conectate atâtdispozitive analogice cât şi digitale, atunci avem nod de interfaţă. PSPICE separă automatnodurile de interfaţă în analogice şi numerice, inserând una sau mai multe circuite deinterfaţă analog/numerice.

Nivelele logice utilizate în PSPICE nu trebuie să fie neapărat tensiuni. Ele sunt:0 LOW1 HIGHR RISE ( crescător, de la 0 la 1)F FALL ( descrescător, de la 1 la 0)X necunoscut

În situaţia conectării mai multor ieşiri logice împreună, pentru determinarea niveluluilogic corect al nodului, s-a asociat fiecărei ieşiri câte o intensitate, a cărei valoare estedeterminată în raport cu intensităţile celorlalte ieşiri. Nodurile conduse de ieşiri cu aceeaşiintensitate, dar de nivele diferite, vor avea nivelul logic X. Pspice are 64 de nivele deintensitate, cea mai slabă fiind Z (înaltă impedanţă), iar cea mai puternică, intensitatea deforţare (scurtcircuitul). Aceste nivele se fixează prin parametrii DIGDRVZ şi DIGDRVF aicomenzii OPTIONS.

Programul de simulare numerică PSPICE defineşte trei noduri numerice globale,având următoarele nume şi valori:

$D_HI 1$D_LO 0$D_X X

Ele sunt folosite pentru a menţine un pin al unui dispozitiv sau subcircuit, la nivelul logicdorit, pe tot parcursul simulării. La aceste noduri nu se conectează dispozitive analogice. Însimularea numerică, tot nod global este considerat şi nodul analogic de masă (potenţial nulsau nod logic 0).

Page 89: Electronica Digitala Aplicatii

6.1 Consideraţii teoretice 93Pentru a furniza semnalele de intrare necesare simulării funcţionării unui circuit

numeric, programul PSPICE pune la dispoziţia utilizatorului două tipuri de dispozitive.Primul dispozitiv este un generator de impuls, care permite obţinerea unei game largi desemnale numerice, în mod asemănător cu cele generate la simularea circuitelor analogice.Al doilea dispozitiv este un fişier de impulsuri, care permite obţinerea unui număr oricât demare de forme de undă dintr-un fişier extern. În aplicaţiile noastre vom utiliza un fişier deimpulsuri pentru generarea semnalelor de intrare.

Dacă circuitul supus analizei conţine atât dispozitive analogice cât şi numerice, cumeste cazul oscilatorului din figura 6.1, se face o simulare mixtă analog/numerică. Figura 6.2arată formele de undă rezultate în urma simulării. În partea de sus sunt reprezentate formelede undă numerice, iar în cea de jos tensiunile în diferite noduri importante ale circuitului.Semnalul RESET este aplicat prin U4 la intrarea CLEAR a bistabilului JK, iar prininversorul cu colector în gol U3 la nodul 1 al oscilatorului, pentru stabilirea condiţiiloriniţiale de simulare.

Fig. 6.1 Schemă electrică editată în Design Center 5.2

Fig. 6.2 Formele de undă rezultate în urma simulării

Page 90: Electronica Digitala Aplicatii

94 6 ANALIZA ŞI SINTEZA AUTOMATĂ

URESET STIM(1,1) $G_DPWR $G_DGND+ RESET+ IO_STM+ TIMESTEP=10n+ 0c 1+ 10c 0

Fig. 6.3 Fişierul text INPUT.STM

Figura 6.3 prezintă fişierul text pentru generarea semnalului RESET. Numelefişierului este INPUT.STM şi este introdus în schema electrică prin directiva INCLUDE(vezi figura 6.1). Circuitul realizat fizic funcţionează şi fără semnal de reset, dar simulatorulare nevoie de stări iniţiale, înainte de a începe analiza. În lipsa semnalului de reset, seporneşte de la o stare logică necunoscută şi analiza nu se poate face.

Fişierul text INPUT.STM se editează cu un simplu editor de text, de exempluNOTEPAD. Formatul generatorului de impuls pentru un semnal este următorul:

U<nume> STIM(<lăţime>,<format>)+ <nod alimentare numerică> <nod masă numerică>+ <nod>+ <nume (Model de I/E)>+ [IO_LEVEL = <valoare (selectare subcircuit interfaţă)>]+ [TIMESTEP = <pas>]+ <(comandă)>

unde <lăţime> specifică numărul semnalelor de ieşire furnizate de generator, iar <format>specifică formatul valorilor utilizate în definirea impulsului. <nume (Model de I/E)> este decele mai multe ori modelul IO_STM. IO_LEVEL este un parametru opţional prin care sepot selecta subcircuitele interfaţă numeric analogice; el a fost fixat înainte de analiză lavaloarea recomandată 3 (prin comanda ANALYSIS, urmată de SETUP, şi OPTIONS dinmeniul principal, s-a fixat parametrul DIGIOLVL = 3). TIMESTEP reprezintă timpul pe unciclu de tact sau un pas, iar <comandă> este o descriere a semnalului prin valorile logice aleacestuia la valori ale timpului care sunt multipli de TIMESTEP.

După desenarea schemei electrice a circuitului, se selectează ANALYSIS din meniulprincipal şi apoi ANNOTATE (numai dacă se doreşte o renumerotare a componentelor dincircuit) şi ELECTRICAL RULE CHECK. Dacă există erori în schemă, programul anunţăacest lucru înainte de a merge mai departe. Dacă nu există erori, se lansează CREATENETLIST şi pe urmă se alege tipul de analiză dorit. Acest lucru se face prin comandaANALYSIS, urmată de SETUP şi TRANSIENT. Pentru analiza tranzitorie s-a fixat odurată totală de 10 µsec, cu un pas de 0,1 µsec. Nu uitaţi selectarea opţiunii ENABLEDînainte de a părăsi fereastra de setare a tipului de analiză.

Urmează rularea programului de analiză, cu comanda RUN PSPICE. La terminarearulării, care poate dura de la fracţiuni de secundă la zeci sau sute de secunde, funcţie decomplexitatea circuitului, tipul de analiză, numărul de paşi ales şi viteza sistemului decalcul, apare ecranul mediului PROBE cu un alt meniu specific. Comanda TRACE, urmatăde ADD afişează o fereastră cu toate semnalele din circuit. Se selectează semnalele pe carevrem să le vizualizăm şi obţinem formele de undă în timp, ca cele din figura 6.2.

Page 91: Electronica Digitala Aplicatii

6.1 Consideraţii teoretice 95Ne propunem în continuare să proiectăm o interfaţă calculator-microcalculator cu 4

intrări şi cu 4 ieşiri, sincronă cu ceasul microcalculatorului. Semnalele sunt reprezentate înfigura 6.4, iar organigrama de funcţionare a circuitului, în figura 6.5. Vom verifica dacăsinteza este corectă, făcând analiza circuitului rezultat prin simulare PSPICE.

Calculator InterfaţăMicro -

calculator

CLK

ATTENTION

READY

CYCLE

CYEND

START

INACTIVE

T / R

F / E

Fig. 6.4 Semnalele interfeţei calculator-microcalculator.

A

B

D

E

Q2 Q1 Q0000

C

START

001

ATTENTION

READY

0 1

1 0010

INACTIVE

011

T / R

CYCLE

0 1 100

CYEND01F

110

F / E

Fig. 6.5 Organigrama interfeţei

Cele 6 stări ale automatului finit sunt codificate binar minimal folosind 3 biţi.Semnalele de ieşire sunt generate pe stare, iar codurile stărilor succesoare stărilor în caresunt testate intrările asincrone START şi T/R sunt adiacente. Vom implementa circuitulîntr-o primă variantă folosind 3 bistabile de tip JK şi porţi logice, iar pe urmă vom face oimplementare cu un singur circuit PLD de tip PAL. Ne ocupăm în această secţiune numai desinteza schemelor logice, iar analiza schemelor electrice, prin simulare PSPICE, va fi făcutăîn secţiunea 6.2.

Page 92: Electronica Digitala Aplicatii

96 6 ANALIZA ŞI SINTEZA AUTOMATĂ

Start Ready T/R Cyend Q2 Q1 Q0 Q2+ Q1+ Q0+ Attention

Inactive

Cycle F/E

0 x x x 0 0 0 0 0 0 0 0 0 01 x x x 0 0 0 0 0 1 0 0 0 0x 0 x x 0 0 1 0 0 1 1 0 0 0x 1 x x 0 0 1 0 1 0 1 0 0 0x x x x 0 1 0 0 1 1 0 1 0 0x x 0 x 0 1 1 0 0 0 0 0 0 0x x 1 x 0 1 1 1 0 0 0 0 0 0x x x 0 1 0 0 1 0 0 0 0 1 0x x x 1 1 0 0 1 1 0 0 0 1 0x x x x 1 1 0 0 1 1 0 0 0 1

Fig. 6.6 Tabelul tranziţiilor şi al ieşirilor

Tabelul tranziţiilor şi al ieşirilor este dat în figura 6.6. Dacă construim încontinuare coloanele funcţiilor de excitaţie pentru implementarea cu bistabile JK şiminimizăm aceste funcţii folosind diagrame Veitch-Karnaugh, obţinem următoareleecuaţii:

J T/ R Q Q2 1 2= ⋅ ⋅ şi K Q2 1=

J READY Q CYEND Q1 0 2= ⋅ + ⋅ şi K Q1 0=

J Q START + Q0 2 1= ⋅ şi K READY + Q0 1=

J

K

Q

QCLK

2

J

K

Q

QCLK

1

J

K

Q

QCLK

0T/R

CYEND

READY

STARTCLK

Fig. 6.7 Schema logică a interfeţei implementate cu bistabile JK şi porţi

DCDQQQ

2 22

1 2 1

0 2 0 0 1 2 3 4 5 6 7

ATTENTIONINACTIVE

CYCLE

F / E

Fig. 6.8 O soluţie posibilă pentru sinteza ieşirilor

Page 93: Electronica Digitala Aplicatii

6.1 Consideraţii teoretice 97Folosind ecuaţiile de mai sus rezultă schema logică a circuitului, reprezentată în

figura 6.7, iar schema din figura 6.8 oferă o soluţie de implementare cu decodificator afuncţiilor de ieşire, fără a mai fi necesară minimizarea lor.

Pentru a face sinteza cu PLD a circuitului propus mai sus, trebuie să alegem o structurăde circuit din catalog. Circuitul PAL16R4 de la AMD are foaia de catalog dată în figura 6.18.Observăm că ieşirile bistabilelor sunt trecute prin inversoare cu 3 stări înainte de a ajunge lapinii de ieşire ai circuitului. Atribuim ieşirea O6 lui Q2, O5 lui Q1 şi O4 lui Q0. Ariacombinaţională implementează funcţiile D2, D1 şi D0 cu porţi ŞI-SAU şi conţine 2048 defuzibile ce pot fi arse o singură dată. Ecuaţiile lor, deduse cu ajutorul tabelului din figura 6.6,sunt:

Q Q Q Q Q T/ R Q2+

2 1 1 0= ⋅ + ⋅ + ⋅ 1

Q Q Q Q Q Q READY Q CYEND Q Q1 2 1 0 1 0 0 2 1+ = ⋅ ⋅ + ⋅ + ⋅ + ⋅ ⋅

Q Q Q Q Q READY Q Q Q START0 2 1 1 0 0 1 0+ = ⋅ + ⋅ + ⋅ + ⋅ ⋅

Celelalte 4 semnale de ieşire ATTENTION, INACTIVE, CYCLE şi F/E suntatribuite ieşirilor I/O8, I/O7, I/O2 şi respectiv I/O1, care au şi ele inversoare cu 3 stări peieşire. Ecuaţiile lor devin:

ATTENTION Q Q ; INACTIVE= Q Q Q ;1 0 2 1 0= + + +

CYCLE Q Q ; F/ E = Q Q ;2 1 2 1= + +

Semnalele de intrare START, READY, T/R şi CYEND sunt atribuite intrărilor I1, I2,I3 şi respectiv I4, iar pe I5 se aplică intrarea RESET, absolut necesară şi aici, din motivuliniţializării bistabilelor la începutul simulării.

6.1.2 Sinteza circuitelor folosind limbajul VHDL

Limbajul VHDL este cel mai cunoscut şi cel mai puternic limbaj de descriere hardwarea circuitelor. Pe lângă modelarea şi simularea sistemelor numerice, el permite sintezastructurilor numerice la orice nivel, de la structuri alcătuite din câteva porţi logice până la unsistem complet cu microprocesor, de exemplu.

Proiectele pot fi descompuse ierarhic, iar VHDL oferă un cadru de lucru de bunăcalitate pentru definirea modulelor şi a interfeţelor lor, precum şi pentru completarea ulterioarăa detaliilor. După scrierea propriu-zisă a codului VHDL pentru fiecare dintre elementelemenţionate mai sus, se compilează proiectul, iar dacă nu avem erori, se trece la etapa desimulare. De fapt, simularea este doar un fragment al unei etape mai ample, numită verificare.Este vorba de o verificare funcţională, în care se verifică logica circuitului, fără a ţine seamă deaspectele de temporizare (întârzierile introduse de porţi se consideră nule), urmată de overificare temporală, care are un caracter preliminar. După verificare se trece la stadiul definalizare a proiectului. Descrierea VHDL se transpune într-un set de primitive ce pot fiasamblate în tehnologia propusă. Aceste primitive se aplică resurselor de dispozitivedisponibile, folosind un instrument de aplicare, iar în final, se face o verificare temporală finalăa circuitului rezultat după aplicare.

Page 94: Electronica Digitala Aplicatii

98 6 ANALIZA ŞI SINTEZA AUTOMATĂ

A

BS1p1

C p2

p3

S2

F

Fig. 6.9 Schema logică a unei structuri combinaţionale

Pentru a introduce câteva dintre conceptele limbajului VHDL vom consideracircuitul foarte simplu din figura 6.9. Pentru verificarea codului creat şi simularea circuituluiam folosit versiunea freeware a programului VHDL Simili 2.2, realizat de firma SymphonyEDA. Această versiune are unele limitări funcţionale şi poate fi folosită timp de câteva luni.La depăşirea acestui timp, se poate descărca din Internet o versiune actualizată freeware aprogramului.

Un cod posibil VHDL pentru circuitul din figura 6.9 este dat în figura 6.10. Dupădeclararea bibliotecilor folosite, se declară entitatea FUNC şi apoi arhitectura asociatăentităţii. În exemplul din figura 6.10 s-a făcut o descriere comportamentală a arhitecturiicircuitului, în care ansamblul celor 3 porţi logice este văzut ca o componentă, numităGATES, căreia i se specifică intrările şi ieşirile, iar relaţia dintre ele este dată de ecuaţiaF <= not((A and B) or (not C)). Mai există o declaraţie a semnalelor A, B, C şi F, precum şivariaţiile lor în vederea simulării. În final aceste semnale sunt mapate pe intrările şi ieşirilecomponentei GATES, în ordinea în care au fost declarate.

Componenta Sonata din VHDL Simili 2.2 oferă un mediu IDE (IntegratedDevelopment Environment) prietenos. Se crează de la început un nou proiect prin File şiNewWorkspace. Din acest moment toate acţiunile din meniul principal devin posibile şi se.

library IEEE;use IEEE.STD_LOGIC_1164.all;

entity FUNC isend;

architecture VAR1 of FUNC is

end VAR1;

component GATES

M: GATES port map (A, B, C, F);

port (A, B, C: in STD_LOGIC;F: out STD_LOGIC);

end component;

begin

signal A, B, C, F: STD_LOGIC;

A <= '0', '1' after 100 NS, '0' after 300 NS;

F <= not((A and B) or (not C));

B <= '0', '1' after 200 NS, '0' after 400 NS;C <= '1', '0' after 350 NS;

Fig. 6.10 Codul VHDL pentru descrierea şi simularea circuitului din figura 6.9

Page 95: Electronica Digitala Aplicatii

6.1 Consideraţii teoretice 99

Fig. 6.11 Mediul Sonata şi câteva ferestre reprezentative

crează două fişiere cu extensiile .sws şi .sym. Se asociază un set de fişiere VHDL cu bibliotecacurentă (fişierul sursă tut.vhd în exemplul nostru), iar modulele entitate şi arhitectură apar casubcomponente ale fişierului tut.vhd în workspace. În figura 6.11 sunt prezentate patru ferestrereprezentative ale mediului Sonata: workspace, editorul de text, lista semnalelor vizualizate şifereastra de consolă, care informează în permanenţă programatorul asupra acţiunilordesfăşurate în mediul prezentat.

Se face compilarea setului de fişiere ataşat, sau a fişierului în exemplul nostru, şi dacănu sunt semnalate erori în fereastra de consolă, se poate trece la faza de simulare. Semnaleledeclarate sunt prezente în fereastra Scope şi ele pot fi trimise în fereastra Signals prinprocedeul Drag and Drop.

Fig. 6.12 Mediul Sonata şi fereastra Waveforms

Page 96: Electronica Digitala Aplicatii

100 6 ANALIZA ŞI SINTEZA AUTOMATĂ

Simularea se poate face fie în regim continuu, până la valoarea de timp stabilită deproiectant, fie în paşi care au o anumită durată ce poate fi selectată după dorinţă. Formele deundă din figura 6.12 (dreapta, sus) arată că funcţionarea circuitului este corectă. Esteadevărat că în această simulare s-au neglijat timpii de propagare prin porţi.

Porţiunea de cod din figura 6.13 generează o arhitectură structurală a circuitului,făcând o descriere la nivel de componente şi interconexiuni. Circuitul este descris ca ointerconectare a unor blocuri sau componente disponibile (porţi logice, multiplexoare,memorii etc.). În acest context clasa signal va putea fi interpretată ca interconexiune.Descrierea structurală este echivalentă schemei electrice. Fiecare poartă logică esteintrodusă prin directiva component, se declară semnalele de intrare/ieşire A, B, C, F, dar şisemnalele interne S1 şi S2 (vezi figura 6.9). Se precizează apoi variaţia semnalelor deintrare, iar semnalele de intrare/ieşire pentru fiecare componentă de circuit sunt mapate peintrările/ieşirile fiecărei componente, conform schemei electrice a circuitului.

Declaraţiile de tip de componente sunt însă fără conţinut deoarece lipsescinformaţiile despre obiectele la care se referă. Aceste declaraţii asigură denumiri formaleproprii fiecărui fişier sursă. Atribuirea conţinutului se face prin asocierea numelorcomponentelor declarate cu entităţile utilizate pentru fiecare componentă. În acest fel sepăstrează rezultatele anterioare la eventuale modificări de context, asigurându-semodularitatea proiectării, un mare avantaj al limbajului VHDL ([Burdia,1999]). Alteavantaje remarcabile ale limbajului VHDL sunt portabilitatea, independenţa proiectării detehnologia de integrare şi simularea comportamentală a circuitelor.

end VAR2;

begin

A <= '0', '1' after 100 NS, '0' after 300 NS;B <= '0', '1' after 200 NS, '0' after 400 NS;C <= '1', '0' after 350 NS;

architecture VAR2 of FUNC is

F: out STD_LOGIC);

component and2gateport (A, B: in STD_LOGIC;

end component;

component invgateport (A: in STD_LOGIC;

end component;F: out STD_LOGIC);

F: out STD_LOGIC);

component nor2gateport (A, B: in STD_LOGIC;

end component;

signal A, B, C, F: STD_LOGIC;signal S1, S2: STD_LOGIC;

p1: and2gate port map(A, B, S1);p2: invgate port map(C, S2);p3: nor2gate port map(S1, S2, F);

Fig. 6.13 O altă descriere VHDL pentru circuitul din figura 6.9

Page 97: Electronica Digitala Aplicatii

6.2 Demonstraţii practice 101

6.2 Demonstraţii practice

6.2.1 Se lansează în execuţie editorul grafic Schematics din mediul Design Center5.2. Se desenează schema oscilatorului din figura 6.1 şi se salvează într-un fişier cu extensia.sch. Se editează în NOTEPAD fişierul text Input.stm, dat în figura 6.3, şi se salvează înacelaşi director cu fişierul sursă *.sch. Se alege analiza .TRAN pe o durată de 10 µs,folosind un pas de 100ns, şi, dacă nu sunt erori, apare mediul PROBE din care se alegformele de undă care ne interesează. Se verifică dacă ele corespund cu cele din figura 6.2 şise repetă simularea cu modificarea unor parametri (constanta de timp RC, durata simulării,pasul simulării etc.). .

6.2.2 Se desenează în editorul grafic Schematics, pe aceeaşi foaie de lucru,schemele din figurile 6.7 şi 6.8. Se editează în NOTEPAD un fişier de stimuli după modeluldin figura 6.14. Acest fişier, care are extensia *.stm, se salvează în acelaşi director cufişierul sursă *.sch şi se include în desen prin directiva INCLUDE. Se face analiza .TRANşi se confruntă rezultatul obţinut cu cel din figura 6.15. Observaţi modul în care este generatsemnalul de ceas în fişierul de stimuli. Observaţi modul în care sunt generate celelaltesemnale de intrare. Explicaţi de ce s-au luat paşi diferiţi pe scara timpului pentru semnaleleSTART şi T/R. Explicaţi de ce nivelele logice ale ieşirilor nu sunt cunoscute în primelemomente de timp de la începutul simulării şi arătaţi care este rolul semnalului RESET,semnal care nu apare în organigramă. Verificaţi dacă formele de undă reprezintă absoluttoate tranziţiile posibile din organigramă şi, în caz contrar, construiţi un alt fişier de stimulicare să evidenţieze şi acele tranziţii care lipsesc. Se repetă simularea şi pentru alte semnalede intrare, punând în evidenţă asincronismul intrărilor START şi T/R.

UCLOCK STIM(1,1) $G_DPWR $G_DGND+ CLOCK+ IO_STM TIMESTEP=0.5u+ 0c 0+ label=loop+ 1c 1+ 2c 0+ 3c goto loop -1 times

URESET STIM(1,1) $G_DPWR $G_DGND+ RESET+ IO_STM+ TIMESTEP=0.5u+ 0c 1+ 2c 0+ 6c 1

USTART STIM(1,1) $G_DPWR $G_DGND+ START+ IO_STM+ TIMESTEP=0.2u+ 0c 0+ 29c 1+ 57c 0

UREADY STIM(1,1) $G_DPWR $G_DGND+ READY+ IO_STM+ TIMESTEP=0.5u+ 0c 0+ 20c 1+ 25c 0

UT/R STIM(1,1) $G_DPWR $G_DGND+ T/R+ IO_STM+ TIMESTEP=0.2u+ 0c 0+ 53c 1+ 84c 0

UCYEND STIM(1,1) $G_DPWR $G_DGND+ CYEND+ IO_STM+ TIMESTEP=0.5u+ 0c 0+ 40c 1+ 50c 0

Fig. 6.14 Fişier de stimuli

Page 98: Electronica Digitala Aplicatii

102 6 ANALIZA ŞI SINTEZA AUTOMATĂ

Fig. 6.15 Simularea PSPICE a funcţionării interfeţei

6.2.3 Se analizează schema din figura 6.16 şi se discută problema metastabilităţii.Structura interfeţei este memorată în aria combinaţională prin starea fuzibilelor. Fişierulcare conţine această informaţie se numeşte PAL.JED şi este un fişier în format standardJEDEC (Joint Electronic Device Engineering Council). Figura 6.17 arată conţinutul acestuifişier pentru exemplul considerat. Formele de undă obţinute în urma simulării sunt practicidentice cu cele obţinute în figura 6.15, cu excepţia semnalului RESET, care se activează deaceastă dată pe 1 logic. Fişierul PAL.JED începe cu caracterul 02H (start of text) şi setermină cu caracterul 03H (end of text) şi este divizat în câmpuri, separate prin asterisc (*).Primul câmp este de identificare şi conţine numele circuitului, atribuirea pinilor şi alteinformaţii. D este un identificator pentru tipul circuitului, G este fuzibilul de siguranţă, QFindică numărul total de fuzibile, iar F reprezintă starea implicită a fuzibilelor. L este unidentificator pentru lista fuzibilelor, numerotate de sus în jos şi de la dreapta la stânga,începând de la L0000. Structura internă a circuitului PAL 16R4 este dată în figura 6.18.

Fig. 6.16 Schema electrică a interfeţei realizată cu PAL16R4

Page 99: Electronica Digitala Aplicatii

6.2 Demonstraţii practice 103$DEVICE

PAL16R4;$PIN

1=CLOCK;2=START;3=READY;4=T/R;5=CYEND;6=RESET;12=F/E;13=CYCLE;18=INACTIVE;19=ATTENTION;

$END*D1234*G0*QF2048*F0*L0000 11111111111111111111111111111111*L0032 11111111111111011111111111111111*L0064 11111111111111111110111111111111*L0256 11111111111111111111111111111111*L0288 11111111110111111111111111111111*

L0320 11111111111111101111111111111111*L0352 11111111111111111101111111111111*L0512 11111111111011101111111111111111*L0544 11111111111111011110111111111111*L0576 11111111101111011111111111111111*L0608 11111111111111110111111111111111*L0768 11111111111011101110111111111111*L0800 11111111111111011101111111111111*L0832 11111011111111111101111111111111*L0864 11111111110110101111111111111111*L0896 11111111111111110111111111111111*L1024 11111111110111101111111111111111*L1056 11111111111111011101111111111111*L1088 11110111111111111101111111111111*L1120 10111111111111101110111111111111*L1152 11111111111111110111111111111111*L1536 11111111111111111111111111111111*L1568 11111111111011111111111111111111*L1600 11111111111111011111111111111111*L1792 11111111111111111111111111111111*L1824 11111111111011111111111111111111*L1856 11111111111111101111111111111111*

Fig. 6.17 Conţinutul fişierului PAL.JED

6.2.4 Se lansează în execuţie mediul Sonata din programul Symphony EDA, grupulVHDL Simili 2.2 şi se introduce numele unui nou proiect, selectând din meniul Fileopţiunea NewWorkspace. Se verifică faptul că toate acţiunile din meniu devin posibile(compilarea, simularea etc.). Se editează în fereastra de editare codul VHDL propus înfigura 6.10 şi se salvează într-un fişier .vhd, fişier care se asociază cu biblioteca curentă. Secompilează fişierul creat (prima opţiune din meniul Compile) şi dacă nu există erori înfereastra de consolă, atunci se poate simula funcţionarea circuitului. După alegerea pasuluide simulare (de exemplu 100ns), din meniul Simulate se alege opţiunea Go şi la apariţiaferestrei formelor de undă se selectează prin Drag and Drop semnalele pe care dorim să levizualizăm din lista de semnale existente în fereastra Scope. În continuare, la fiecare apăsarede buton se desenează noile forme de undă pe durata pasului de simulare. Verificaţi căsemnalele obţinute coincid cu cele din figura 6.12. Complicaţi fişierul sursă, introducând şitimpii de întârziere prin porţi şi reluaţi simulările de mai sus. .

6.2.5 Se modelează automatul finit descris prin organigrama din figura 6.5.Modelarea se poate face folosind instrucţiunea case. Variantele definite în instrucţiuneacase modelează comportamentul în fiecare stare. Starea la un moment dat poate fi memoratăîntr-un semnal. Sursa VHDL pentru o arhitectură comportamentală este dată în figura 6.19.Semnalele de intrare pentru simularea entităţii interfaţa se pot introduce separat cu ajutorulunui fişier de comenzi, sau pot fi descrise într-un alt fişier .vhd, care se compileazăîmpreună cu fişierul care descrie circuitul. Vizualizaţi formele de undă şi verificaţicomportarea automatului pentru toate tranziţiile posibile. Încercaţi să construiţi un nou fişiersursă care să realizeze o descriere structurală a automatului, asemănătoare celei din figura6.13. Verificaţi prin simulare funcţionarea corectă a structurii.

Page 100: Electronica Digitala Aplicatii

104 6 ANALIZA ŞI SINTEZA AUTOMATĂ

Fig. 6.18 Structura internă a circuitului PAL16R4

Page 101: Electronica Digitala Aplicatii
Page 102: Electronica Digitala Aplicatii

106 6 ANALIZA ŞI SINTEZA AUTOMATĂ

6.3 Probleme rezolvate

6.3.1 Nivelele logice ale semnalelor de ieşire reprezentate în figura 6.15 nu suntcunoscute în prima microsecundă de la începutul simulării. Explicaţi de ce şi arătaţi cum sepoate rezolva această problemă.

Rezolvare:Este exact aceeaşi problemă semnalată la oscilatorul din figura 6.1. Bistabilele din structura

PAL nu sunt iniţializate, deci valorile ieşirilor 2Q , 1Q şi 0Q , precum şi valorile ieşirilorATTENTION, INACTIVE, CYCLE şi F/E, care la rândul lor sunt generate de ieşirile bistabilelor,nu sunt cunoscute la începutul simulării. Aici nu este vorba de starea de înaltă impedanţă (high Z),ci de nivele logice 0 sau 1, dar care sunt necunoscute pentru simulator.

Soluţia constă în introducerea unui semnal de RESET, care aplică un nivel logic de 0 peintrările bistabilelor din structură, iar la activarea semnalului de ceas acestea se resetează. Din acestmoment toate ieşirile automatului sunt cunoscute şi simulatorul poate analiza funcţionareacircuitului. Spre deosebire de bistabilele discrete, cele din structura PAL nu sunt prevăzute cu intrăriasincrone de SET şi RESET.

Este evident că la circuitele reale această problemă nu apare pentru că ieşirile bistabilelor auo valoare logică fermă la cuplarea alimentării, deci ele sunt automat iniţializate, iar comportarea lorviitoare depinde de semnalele aplicate pe intrările circuitului. .

6.3.2 Scrieţi o secvenţă de cod VHDL pentru generarea unui semnal periodic de ceasnecesar sistemelor secvenţiale sincrone.

Rezolvare: (după [Burdia, 1999])Cea mai simplă metodă de generare a unei secvenţe periodice este utilizarea instrucţiunii de

atribuire concurentă pentru semnale:a <= not a after 10 ns;

Rezultatul este o formă de undă periodică cu perioada T = 20 ns şi factor de umplere de 50%, dacăsemnalul este de tip bit. Pentru tipul std_logic valoarea de iniţializare nu mai este ‘0’, ca la tipul bit,ci ‘U’, adică necunoscută. Deci expresia not ‘U’ rămâne tot ‘U’ şi semnalul apare ca fiindnecunoscut pe toată durata simulării.

O altă variantă de generare a acestui semnal este utilizarea într-un proces a instrucţiuniiwait, cu observaţia că trebuie să existe o limitare explicită a timpului simulat printr-o introducerecondiţionată fără limită de timp a lui wait. Codul pentru acest proces este dat mai jos:

processbegin

wait for 10 ns;a <= ‘1’;wait for 20 ns;a <= ‘0’;

end process;

6.3.3 Scrieţi un program VHDL pentru un decodificator BCD – 7 segmente.

Rezolvare: (după [Cîrstea, 2001])Considerăm că vectorul aplicat pe cele 7 segmente ale afişajului este abcdefg, păstrând

notaţiile din problema 2.3.2. Codul VHDL pentru acest circuit este dat în figura 6.20.

Page 103: Electronica Digitala Aplicatii

6.3 Probleme rezolvate 107library IEEE;use IEEE.std_logic_1164.all;

architecture dec_arch of decodificator isbegin

end dec_arch;

entity decodificator isport (CNTIN: in STD_LOGIC_VECTOR (3 downto 0);

end decodificator;CNTOUT: out STD_LOGIC_VECTOR (6 downto 0));

WITH CNTIN SELECTCNTOUT <= "1111110" WHEN "0000",

"0110000" WHEN "0001","1101101" WHEN "0010","1111001" WHEN "0011","0110011" WHEN "0100","1011011" WHEN "0101","1011111" WHEN "0110","1110000" WHEN "0111","1111111" WHEN "1000","1111011" WHEN "1001","0000000" WHEN OTHERS;

Fig. 6.20 Un program VHDL pentru decodificatorul BCD – 7 segmente

Entitatea “decodificator” este formată dintr-un bloc care are 4 biţi de intrare grupaţi înmagistrala CNTIN şi 7 biţi de ieşire grupaţi în magistrala CNTOUT. Aceste semnale sunt tratate cavectori. Arhitectura circuitului este de tip comportamental, urmărind cazurile posibile descrise întabelul de adevăr al decodificatorului BCD-7segmente.

Instrucţiunea WITH CNTIN SELECT specifică faptul că valorile celor patru elementecomponente ale vectorului CNTIN se vor utiliza împreună pentru a selecta o valoare care va fiîncărcată în cele 7 elemente ale vectorului CNTOUT.

Observăm că LED-urile afişajului sunt aprinse pentru valoarea logică 1 aplicată segmentuluirespectiv, deci pentru celelate combinaţii binare care sunt interzise în codul BCD segmenteleafişajului sunt stinse. .

6.3.4 Scrieţi un program VHDL pentru un automat finit cu două intrări sincrone A şiB şi cu o ieşire Y. Ieşirea trebuie să fie 1 dacă numărul de valori 1 aplicate pe cele 2 intrări,după ultima reiniţializare, este multiplu de 4; iar în celelalte cazuri ieşirea trebuie să fie 0.

Rezolvare: (după [Wakerly, 2002])O variantă de program VHDL care rezolvă problema dată este prezentată în figura 6.21. În

cadrul arhitecturii se declară un subtip COUNTER, care este o valoare UNSIGNED de 2 biţi. Apoideclarăm un semnal COUNT de acest tip, pentru a păstra numărul valorilor 1, şi o constantă ZERO,de acelaşi tip, pentru iniţializarea şi verificarea valorii COUNT.

În cadrul procesului, se verifică apariţia frontului crescător al ceasului, iar clauza “if” face oreiniţializare sincronă, în timp ce “else” adaugă la COUNT un 0, 1 sau 2, după cum apar biţii de 1pe intrările A şi B. Expresia de tipul “(0,X)” este o variabilă literală tablou, iar tipul ei estecompatibil cu UNSIGNED. Deci se poate face operaţia de adunare, definită în pachetulstd_logic_arith. În exteriorul procesului, instrucţiunea simultană de atribuire a semnalelor impunevaloarea 1 la ieşirea Y atunci când COUNT este zero.

Page 104: Electronica Digitala Aplicatii

108 6 ANALIZA ŞI SINTEZA AUTOMATĂ

library IEEE;use IEEE.std_logic_1164.all;

entity numarator isport(CLOCK, RESET, A, B: in std_logic;

Y: out std_logic);end numarator;

architecture automat_finit of numarator issubtype COUNTER is UNSIGNED (1 downto 0);signal COUNT: COUNTER;

beginprocess(CLOCK)begin

if CLOCK'event and CLOCK = '1' then

end if;

end process;

end automat_finit;

use IEEE.std_logic_arith.all;

constant ZERO: COUNTER := "00";

if RESET = '1' then COUNT <= ZERO;else COUNT <= COUNT + ('0', A) + ('0', B);

end if;

Y <= '1' when COUNT = ZERO else '0';

Fig. 6.21 Un program VHDL pentru automatul de numărare a valorilor de 1 pe intrări

6.3.5 Reluaţi problema 6.3.4 şi modificaţi procesul VHDL pentru acelaşi automat,arătând care sunt opţiunile posibile folosind o instrucţiune case.

Rezolvare: (după [Wakerly, 2002])Vom prezenta în figura 6.22 numai modificarea adusă procesului. Prin formularea

corespunzătoare a opţiunilor dintr-o instrucţiune case, devine posibilă funcţionarea în paralel a celordouă circuite de incrementare, iar pentru selecţia uneia dintre ieşiri se poate folosi un multiplexor.

process(CLOCK)

beginif CLOCK'event and CLOCK = '1' then

end if;

end process;

if RESET = '1' then COUNT <= ZERO;

end if;

variable ONES: STD_LOGIC_VECTOR (1 to 2);

ONES := (A, B);

else case ONES iswhen "01" | "10" => COUNT <= COUNT + "01";when "11" => COUNT <= COUNT + "10";when others => null;

end case;

Fig. 6.22 Un alt proces VHDL pentru automatul de numărare a valorilor de 1 pe intrări