Sunteți pe pagina 1din 104

Cuprins

Prefa

Familii logice

1.1 Consideraii teoretice

1.1.1 Poarta TTL standard

1.1.2 Poarta logic CMOS

11

1.1.3 Zgomote i reflexii

14

1.2 Demonstraii practice

19

1.3 Probleme rezolvate

24

Sisteme combinaionale

31

2.1 Consideraii teoretice

31

2.1.1 Implementarea cu pori logice

31

2.1.2 Implementarea cu multiplexoare/demultiplexoare

33

2.2 Demonstraii practice

35

2.3 Probleme rezolvate

40

Circuite de impuls

45

3.1 Consideraii teoretice

45

3.1.1 Circuite astabile

45

3.1.2 Circuite monostabile

48

3.1.3 Circuite bistabile

49

3.2 Demonstraii practice

50

3.3 Probleme rezolvate

54

Sisteme secveniale

59

4.1 Consideraii teoretice

59

4.1.1 Sisteme secveniale asincrone

59

4.1.2 Sisteme secveniale sincrone

62

4.1.3 Hazard
4.2 Demonstraii practice

63
64

4.3 Probleme rezolvate

69

Structuri programabile

79

5.1 Consideraii teoretice

79

5.1.1 Memoria ROM

79

5.1.2 Memoria RAM

80

5.1.3 Structuri PLD

81

5.1.4 Structuri FPGA

83

5.2 Demonstraii practice

84

5.3 Probleme rezolvate

88

Analiza i sinteza automat

91

6.1 Consideraii teoretice

91

6.1.1 Analiza circuitelor prin simulare PSPICE

91

6.1.2 Sinteza circuitelor folosind limbajul VHDL

97

6.2 Demonstraii practice

101

6.3 Probleme rezolvate

106

Bibliografie

109

FAMILII LOGICE

Aplicaiile din acest capitol i propun s prezinte familiile de pori logice TTL i
CMOS, s fac un studiu comparativ al parametrilor i caracteristicilor unor pori logice
realizate n cele dou tehnologii fundamentale i s analizeze sursele posibile de zgomote n
sistemele reale cu circuite integrate numerice.

1.1 Consideraii teoretice


1.1.1 Poarta TTL standard
Structura porii I-NU (NAND) n tehnologie TTL standard este dat n figura
1.1. Dac tensiunea pe cel puin una dintre intrri este nul, tranzistorul T1 are cel puin
o jonciune polarizat direct i potenialul bazei lui T1 este de circa 0,6V. n aceste
condiii, tranzistorii T2 i T3 sunt blocai, iar tranzistorul T4 conduce, rezultnd la
ieire starea 1 logic. Tensiunea la ieire este VOH (Voltage Output High):

VOH = VCC VBE ( T 4 ) VF ( D1)


R1

R2
1K6

4K

R4
130
T4

T1

A
B

T2
DA DB

Vcc

R3
1K

D1

A
Vout

T3

Fig. 1.1 Structura porii I-NU n tehnologie TTL standard

A. B

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 intrri sunt n 1 logic, jonciunea BC a tranzistorului T1 conduce,
polariznd baza tranzistorului T2. Intrarea n conducie a lui T2 determin i conducia lui
T3, rezultnd la ieire 0 logic. Tensiunea la ieire este VOL (Voltage Output Low):

VOL = VCEsat ( T 3)
Caracteristica Vout = f (Vin ) se numete caracteristica de transfer de tensiune a porii
i are forma din figura 1.2, pentru o anumit tensiune de alimentare i temperatur.
Tensiunea de intrare se aplic simultan pe cele 2 intrri A i B ale porii, care devine astfel
un simplu inversor. Variaia consumului de curent de la sursa de alimentare se poate vedea
pe caracteristica din figura 1.3.
Standardul TTL garanteaz anumite valori de tensiune pentru cele patru nivele logice
de ieire i intrare n poarta logic. Pentru o ncrcare a ieirii cu 10 intrri TTL standard
(fan-out = 10), aceste nivele garantate sunt:

1.1 Consideraii teoretice

- V IL , nivelul de tensiune necesar pentru a avea 0 logic la intrare: VIL V IL max = 0,8 V
- VIH , nivelul de tensiune necesar pentru a avea 1 logic la intrare: VIH VIH min = 2 V
- VOL , nivelul de tensiune de la ieire n starea 0 logic: VOL VOL max = 0,4 V
- VOH , nivelul de tensiune de la ieire n starea 1 logic: VOH VOH min = 2,4 V .

Caracteristica I in = f (Vin ) se numete caracteristic de intrare i este reprezentat n


figura 1.4, pentru o anumit tensiune de alimentare i temperatur. Caracteristica

Vout = f ( I out ) se numete caracteristic de ieire. Exist dou caracteristici de ieire, cte
una pentru fiecare din cele dou stri logice (figurile 1.5 i 1.6). Figura 1.7 prezint o
comparaie ntre caracteristicile de transfer pentru diverse grupe ale familiei logice TTL. Se
observ asemnarea lor, deci putem spune c toate grupele TTL se pot interconecta direct,
cu observaia c frecvena de lucru trebuie s fie mai mic dect frecvena maxim a celor
mai lente circuite din structur.

Structura porii I-NU cu colector n gol (open colector) este reprezentat n figura
1.8. n circuitul de ieire a tranzistorului cu colector n gol se conecteaz rezistena RC .
Aceast modificare permite deplasarea nivelului semnalului logic de la ieire din TTL
(circa 0 - 4V) n 0 - Vcc , unde Vcc poate fi o tensiune mai mare de 5V. Configuraia cu
colector n gol permite i realizarea funciei logice I, prin conectarea direct a ieirilor,
fr a mai utiliza alte pori logice n acest scop. Circuitul astfel obinut se numete I
CABLAT, deoarece funcia I a fost obinut numai prin cablarea mpreun a ieirilor.

Fig. 1.4 Caracteristica de intrare

Fig. 1.6 Caracteristica de ieire n 0 logic

Fig. 1.5 Caracteristica de ieire n 1 logic

Fig. 1.7 Diverse grupe TTL

10

1 FAMILII LOGICE

R1

Vcc

R2

RC

T1

A
B

1K6

4K

T2

Vout

A.B

T3

R3

DA D B

RC

1K

Fig. 1.8 Structura porii I-NU cu colector n gol


VCC

VCC

RC

RC

IIH

I IL

IOH

.
.

IOH

IOL

.
.
.

.
.
.

.
.
I IL

IOH IIH

N
n
curenii n circuit pentru 1 logic

N
n
curenii n circuit pentru 0 logic

Fig. 1.9 Calculul rezistenei RC


Dezavantajul acestei structuri este dat de faptul c rezistena de ieire este dat de
valoarea rezistenei RC , valoare mai mare dect rezistena de ieire a etajului n contratimp
de la poarta standard.
Valoarea rezistenei RC depinde de numrul n al porilor cu colector n gol conectate
n paralel i de numrul N al sarcinilor comandate. Din condiia de respectare a nivelelor
standard de tensiune pentru fiecare dintre cele dou nivele logice rezult dou valori
pentru RC , iar valoarea rezistenei se alege n acest interval.
pentru 1 logic:
VOH = VCC ( n I OH + N I IH ) RC VOH min , deci RC max =

VCC VOH min


n I OH max + N I IH max

pentru 0 logic:

VOL = VCC (I OL N I IL ) RC VOL max , deci RC min =

VCC VOL max


I OL max N I IL max

11

1.1 Consideraii teoretice

1.1.2 Poarta logic CMOS


Configuraia logic fundamental la circuitele CMOS (Complementary-symmetry
MOS) este cea de inversor, configuraie prezentat n figura 1.10. Dac la intrare se
aplic nivelul logic 1 (tensiunea V+), tranzistorul T1 intr n conducie i tranzistorul
T2 se blocheaz, iar la ieire nivelul logic este 0 (o tensiune practic nul). La aplicarea
unei tensiuni nule pe intrare se blocheaz T1 i intr n conducie T2, ieirea fiind n
acest caz la nivelul logic 1 (tensiunea de alimentare V+).
Caracteristica Vout = f (Vin ) se numete caracteristica de transfer de tensiune a porii,

iar caracteristica I (V+ ) = f (Vin ) este caracteristica de curent (n figura 1.10, I (V+ ) este notat
cu I (VDD ) ; valoarea negativ a curentului indic faptul c acesta este absorbit de la surs).
Sunt puse n eviden 5 regiuni pe parcursul variaiei tensiunii de intrare n domeniul
0..V+ : - n regiunea I, pentru Vin VTN , unde VTN este tensiunea prag pentru tranzistorul T1
(nMOS), T1 blocat i T2 este n conducie liniar, iar Vout = V+ . Consumul de curent de la
sursa de alimentare este practic nul, unul dintre tranzistoare fiind blocat; - n regiunea II,
definit pentru intervalul VTN < Vin Vout VTP , T1 este saturat i T2 rmne n conducie
liniar. VTP este tensiunea prag pentru tranzistorul T2 (pMOS) i are o valoare negativ; - n
regiunea III, definit pentru intervalul Vout VTP < Vin Vout + VTN , ambele tranzistoare sunt
saturate, iar consumul de curent de la surs este maxim. Regiunea IV ofer o comportare
identic cu regiunea II, dar de data aceasta strile tranzistoarelor sunt inversate, adic T1
este n conducie liniar, iar T2 este n saturaie, iar n regiunea V, tranzistorul T1 rmne n
conducie liniar, iar T2 intr n blocare.
V+= 15V

Vin

T2
Vout
T1

Fig. 1.10 Structura de inversor CMOS i caracteristicile de transfer

12

1 FAMILII LOGICE

Datorit faptului c cele dou tranzistoare din structur au caracteristici aproape


identice, pragul de basculare a strii logice este situat la jumtatea excursiei semnalului
logic de intrare i la jumtatea tensiunii de alimentare, frontul cresctor al semnalului de
ieire este aproximativ egal cu cel descresctor, iar consumul static de curent este practic nul
(familie logic ideal).
Configuraia unei pori logice n tehnologie CMOS este direct legat de funcia
logic cerut. Structura din figura 1.11 este o poart I-NU cu 2 intrri, dar ieirea din nodul
4 este trecut prin alte dou structuri inversoare ca cele din figura 1.10 pentru a obine o
caracteristic ct mai apropiat de una ideal i pentru a asigura simetria ieirii fa de V+
i fa de mas. Ieirea din nodul 7 al structurii este ieirea porii logice, ieire care este
disponibil la unul dintre pinii circuitului integrat.
Simulrile s-au fcut pentru o tensiune de alimentare de +15V, dar, la circuitele
CMOS din seria 4000, de care ne ocupm la laborator, tensiunile de alimentare pot fi alese
ntre +3V (tensiune impus de existena obligatorie a zonelor I i V din figura 1.10, tiind c
VTN VTP 1,5V ) i +18V, sau chiar +20V, n funcie de structura circuitului respectiv.

Nivelele logice de ieire i intrare garantate prin standard sunt:


- V IL , nivelul de tensiune necesar pentru a avea 0 logic la intrare: VIL VIL max = 30% V+
- VIH , nivelul de tensiune necesar pentru a avea 1 logic la intrare: V IH V IH min = 70% V +
- VOL , nivelul de tensiune de la ieire n starea 0 logic: VOL VOL max = 0,05 V
- VOH , nivelul de tensiune de la ieire n starea 1 logic: VOH VOH min = V+ 0,05 V

V+

2
5

3
0

Fig. 1.11 Structura porii I-NU cu 2 intrri i caracteristici de transfer

13

1.1 Consideraii teoretice

Imunitatea la zgomot se definete ca fiind tensiunea maxim de zgomot prezent la


intrare, care nu comut parazit poarta. Se observ c marginile de zgomot garantate sunt de
30% din valoarea tensiunii de alimentare, dar practic ele pot atinge 45% din valoarea
tensiunii de alimentare ([Ardelean, 1986]).
Impedana de intrare de curent continuu este de circa 1012 , deoarece intrarea
inversorului este complet izolat de substrat prin dielectricul capacitorului poart-substrat,
care are o grosime de circa 1000 . Orice surs de tensiuni electrostatice poate astfel genera
o tensiune mare pe poart, care s produc distrugerea ireversibil a stratului izolator, prin
strpungere. Aceast impedan mare este atenuat n mare msur de dispozitivele
amplasate pentru protecia intrrii (vezi figura 1.12) i de elementele parazite proprii
circuitului integrat i montajului n care acesta se gsete. Cu toate acestea, valoarea
impedanei de intrare depete 10 M, fapt ce influeneaz favorabil posibilitatea
comandrii n curent continuu a unui numr mare de intrri CMOS. Aici, practic nu sunt
limite teoretice ale "fan-out"-ului, el fiind limitat de fapt numai de sarcina capacitiv de
circa 5pF pentru fiecare intrare CMOS.
De remarcat un parametru de catalog care surprinde la prima vedere, deoarece
curentul de intrare la un circuit CMOS este considerat de obicei nul:
I I DC input current = 10 mA

Este vorba de curentul maxim ce poate trece prin diodele din reeaua de protecie, n orice
sens, deoarece aceste diode se pot deschide fie n conducie direct, fie n conducie invers,
prin efect Zener. Avem de-a face i aici cu o valoare maxim absolut, ca i tensiunea de
alimentare de +18V! Depirea acestor valori are ca efect distrugerea cu mare probabilitate
a structurii!
Comportamentul ieirii este preponderent rezistiv, un tranzistor MOS avnd o
rezisten dren-surs mai mic de 1K n conducie i mai mare de 10M n blocare.
Acest lucru determin o sensibilitate crescut la sarcini capacitive de ieire, sarcini ce
influeneaz viteza de comutare i puterea consumat de circuit. Pe de alt parte, limitarea
curentului de saturaie la tranzistoarele MOS asigur protecia ieirilor la scurtcircuite
accidentale la mas sau la V+ , cu condiia ca valoarea tensiunii de alimentare, durata
scurtcircuitului i numrul de ieiri aflate n scurtcircuit s nu provoace distrugerea
circuitului integrat prin ambalare termic.
V+
D1
Vin

D1

T2

D2

D1

Vout
D2

T1

D2

Fig. 1.12 Circuitul de protecie a intrrii la seria CMOS 4000

14

1 FAMILII LOGICE

1.1.3 Zgomote i reflexii


Zgomotele sunt semnale perturbatoare, nedorite, care pot afecta funcionarea
structurilor numerice. La aplicarea unui algoritm de sintez a unei structuri numerice
proiectantul folosete modele teoretice n care ecuaiile boolene exprim perfect
funciile dorite. La implementarea acestor ecuaii cu circuite integrate reale se constat
c porile logice au anumite limitri, iar firele de conexiune pot distorsiona forma
semnalului transmis. Ne putem atepta n anumite condiii la o funcionare incorect a
structurilor numerice, iar dac aceasta este aleatoare, evenimentul este cu att mai grav.
Structurile numerice implementate n tehnologia CMOS - 4000 se apropie de
modelul ideal. Fiind circuite lente, ele sunt n mic msur afectate de zgomote i
reflexii. Familiile logice rapide pot produce ns mari neplceri, chiar i n cazul unor
conexiuni 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 cazul


neadaptrii dintre impedana de ieire i impedana liniei. Unui semnal care parcurge
linia de transmisiune aceasta i se nfieaz ca o impedan constant numit impedan
caracteristic. Dac se neglijeaz valorile rezistenelor distribuite i se noteaz cu L
inductana liniei pe unitatea de lungime i cu C capacitatea ei pe unitatea de lungime,
atunci impedana caracteristic a liniei este ([Nicula, 1994]):

Z0 =

L
C

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

v=

1
LC

Considerm acum circuitul din figura 1.13, care genereaz la momentul de timp
t = 0 o tranziie de la 0 la V d , tranziie care se propag pe linie pn la destinaia cu
impedana terminal Z t .
Vd
, unde I d este curentul care circul pe linie
La propagarea pe linie Z 0 =
Id
datorit tensiunii Vd . Tensiunea i curentul parcurg linia ca o funcie treapt, aa cum
se vede n figura 1.13. Cnd tranziia atinge destinaia, aceasta se prezint ca o
impedan Z t . Dac Z t = Z 0 atunci legea lui Ohm este n continuare satisfcut i nu
apar reflexii. Dac ns Z t Z 0 , tensiunea i curentul trebuie s se modifice pentru a
asigura verificarea legii lui Ohm i la bornele rezistenei terminale. Schimbarea are ca
efect apariia unui semnal tranzitoriu numit reflexie care va strbate linia n sens invers,
de la destinaie la surs. Dac Z t > Z 0 acest semnal se va aduna la cel original, iar dac
Z t < Z 0 se va scdea din acesta.

15

1.1 Consideraii teoretice

Zs
Z0

Vs

Zt

sursa

destinaia
Circuitul

Vd

distana

Semnalul nainte de atingerea receptorului


Vt distana

Vd
Semnalul dup reflexie (cazul Z t > Z 0)
Vd

Vt distana

Semnalul dup reflexie (cazul Z t < Z 0)

Fig. 1.13 Reflexiile pe liniile de transmisiune


Dac folosim indicii d pentru semnalele directe, i pentru cele inverse i t pentru
cele tranzitorii, atunci putem scrie legile lui Kirchoff considernd rezistena terminal
ca un sistem nchis:
I t = I d + I i i Vt = Vd + Vi
Conform legii lui Ohm: Z t =

Vt
pe sarcin,
It

Z0 =

Vd
V
nainte de sarcin, i Z 0 = i
Id
Ii

dup sarcin. Prin rezolvarea sistemului format din ecuaiile de mai sus se deduce
valoarea saltului de tensiune n funcie de impedana caracteristic i cea de terminaie:

Vi = Vd

Zt Z0
Zt + Z0

Zt Z0
se numete coeficientul de reflexie a tensiunii i msoar
Zt + Z0
raportul dintre tensiunea undei reflectate i tensiunea undei directe.
Unda se va propaga n continuare de la sarcin spre surs, n sens invers. Cnd
unda reflectat atinge sursa se poate produce o nou reflexie dac Z 0 este diferit de
Z S . Reflexiile vor continua ntre surs i destinaie ns amplitudinea lor este atenuat
datorit pierderilor prin rezistenele ohmice ale liniei, care au fost neglijate pn acum.
Efectul reflexiilor se materializeaz prin apariia unor oscilaii care nsoesc
tranziiile ntre cele dou nivele logice. Aceste oscilaii pot fi cauza funcionrii
necorespunztoare a unui sistem numeric.
Exist o metod grafic care permite analiza reflexiilor pe linii, cunoscut ca
metoda diagramelor lui Bergeron. Ea folosete caracteristicile de intrare i ieire ale
Raportul K =

16

1 FAMILII LOGICE

Z 0 = 100
Fig. 1.14 Interconexiunea dintre 2 pori TTL standard
porilor studiate i presupune cunoscut impedana caracteristic a liniei. Vom
exemplifica metoda pentru dou pori TTL standard conectate printr-o linie cu
impedana caracteristic de 100 (pentru circuite imprimate Z 0 are valori cuprinse
ntre 80 i 200).
Figura 1.15 prezint caracteristicile de intrare i cele de ieire pentru cele 2 stri
logice ale unui circuit tipic din seria TTL standard.
Prima diagram este utilizat pentru evaluarea tranziiei logice din 0 n 1.
Dreapta de pant Z 0 ce reprezint linia de transmisie va intersecta caracteristica de
ieire n starea logic 1, punct care va determina la momentul de timp t 0 tensiunea de
ieire a porii emitoare, tensiune de circa 1,75 V. Din acest moment panta liniei de
transmisie devine Z 0 i de aceast dat va intersecta caracteristica de intrare.
Pentru evaluarea tranziiei logice din 1 n 0 se folosete a doua diagram. Dreapta
de pant Z 0 va intersecta caracteristica de ieire n starea logic 0 la circa 0,25V. Din
acest punct, dreapta cu panta modificat intersecteaz caracteristica de intrare la circa
-1,5V, valoarea tensiunii n punctul B, i aa mai departe pn la amortizarea reflexiilor.
Formele de und rezultate n urma tranziiilor sunt reprezentate n figura 1.16, iar
figura 1.17 arat cteva forme de und vizualizate pe osciloscop pentru porile TTL
standard. S observ c poarta de ieire comut normal, n ciuda reflexiilor existente pe
linia de intrare, dar aceste reflexii pun n pericol funcionarea corect a circuitului. La
ora 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 tranziii posibile

17

1.1 Consideraii teoretice


A

[V]

B [V]

B [V]
4

[V]

2
tranziia din 0 n 1

2
tranziia din 1 n 0

Fig. 1.16 Formele de und teoretice n punctele A i B pentru cele 2 tranziii

Fig. 1.17 Forme de und reale vizualizate pe osciloscop


Pentru reducerea efectului reflexiilor se recomand utilizarea unor conexiuni ct
mai scurte (reflexiile se produc pe durata frontului, iar palierele i pstreaz valorile
logice), adaptarea liniei lungi pe rezistena caracteristic prin plasarea unui divizor
rezistiv n punctul B, sau prin folosirea unor pori cu histerezis pentru mrirea marginii
de zgomot n curent continuu. Valorile rezistenelor de adaptare ar putea fi cu pn la
un ordin de mrime mai mari, sau, una dintre ele, ar putea lipsi complet. Se mai poate
mri i impedana de ieire a porii, prin amplasarea unei rezistene de zeci de ohmi
ntre punctele A i B ([Nicula, 1994]).
+5V
150
A

Z 0 = 100
470

Fig. 1.18 Adaptarea liniei pe impedana caracteristic i formele de und reale

18

1 FAMILII LOGICE

Zgomotul generat de diafonia dintre liniile de transmisiune

Datorit apropierii dintre dou linii din circuit, semnalul existent pe una din ele
poate influena nedorit semnalul de pe cealalt linie. Acest cuplaj se face prin
intermediul unor capaciti i inductane mutuale. Dac notm cu Z M impedana
mutual dintre dou linii i pe una din ele avem o tranziie de tensiune VOUT , atunci n
cealalt apare o tranziie de tensiune:

V IN =

Z0
V
=
Z 0 + Z M OUT

1
V
Z M OUT
1+
Z0

Pentru micorarea efectelor diafoniei trebuie mrit impedana mutual Z M i


micorat impedana caracteristic Z 0 . Prima condiie se realizeaz prin folosirea unor
medii izolatoare ct mai bune i evitarea meninerii n paralel a unor trasee apropiate pe
lungime mare. A doua condiie presupune alturarea unor trasee de mas (plan de mas,
fire de mas ntre fire de semnale utile etc.).
Zgomotul generat de injecia de curent

Acest tip de zgomot se manifest la porile cu mai multe intrri. Variaia


curentului printr-un emitor al tranzistorului multiemitor de intrare ntr-o poart TTL
poate fi zgomot pentru celelalte intrri. Se produce de fapt un salt de curent, care
produce un salt de tensiune pe intrrile conectate la impedana caracteristic. Dac
intrarea A a porii I-NU din figura 1.1 este conectat la mas printr-o linie cu
impedana caracteristic de 200, iar intrarea B comut din 0 n 1 logic, atunci n A
apare un salt de curent de la 0,8mA la 1,6mA, care va genera la intrarea A un salt de
tensiune de 0,16V. Acest zgomot este cu att mai mic cu ct curenii de intrare sunt mai
mici i amplitudinea lui este prea mic pentru a produce modificarea parazit a nivelului
logic la intrare. El ar putea ns interveni mpreun cu alte zgomote ntr-o conjunctur
nefavorabil care s perturbe funcionarea corect a circuitului ([Nicula, 1994]).
Reducerea efectelor acestui zgomot se face prin folosirea unei legturi scurte, cu
impedan caracteristic mic i prin evitarea folosirii porilor cu mai multe intrri pe
anumite linii de sistem.
Zgomotul generat de variaia curentului de alimentare

Sursa acestui zgomot o constituie inegalitatea dintre curenii absorbii de circuit


n cele dou stri logice 0 i 1. La comutarea rapid a porilor din circuit apare o
variaie a tensiunii de alimentare a circuitelor integrate, datorit inductanei parazite a
liniei de alimentare. Pe de alt parte, la comutare apar pulsuri tranzitorii de curent
datorit capacitilor parazite de la ieirile porilor din circuit.
Metodele de reducere a zgomotului constau n reducerea inductanei liniei de
alimentare prin utilizarea unor plane de alimentare (trasee ct mai groase) i n plasarea
condensatoarelor ceramice de decuplare care filtreaz pulsaiile tranzitorii de nalt
frecven ce nu pot fi eliminate de condensatoarele electrolitice.

19

1.2 Demonstraii practice

Zgomotul generat de traseele de mas


Cauzele acestui zgomot sunt discontinuitile de impedan a traseelor de mas i
nchiderea curenilor spre mas pe trasee incorecte. Aceste fluxuri de curent determin
cderi de tensiune parazite care se suprapun peste semnalul util.
Reducerea acestui zgomot se face printr-o maxim separare a traseelor de
alimentare pentru fiecare circuit de pe plac i existena unui plan de mas.
Zgomotul generat de interferene electromagnetice
Sursele acestui zgomot pot fi: reeaua de alimentare cu tensiune alternativ,
motoare, relee, ntreruptoare sau alte dispozitive generatoare de cmp electromagnetic.
Reducerea zgomotului se face prin ecranare sau filtre de reea.

1.2 Demonstraii practice


Se alimenteaz panoul logic cu o tensiune de 5V de la o surs de tensiune reglabil.
ATENIE LA RESPECTAREA POLARITII I LA VALOAREA INIIAL A
TENSIUNII! Datorit diodei de protecie la alimentare invers, se msoar cu un
voltmetru tensiunea ntre pinii de alimentare indicai de catalog (la circuitele de pe panou,
ntre pinii 14 i 7, aa cum se arat n figura 1.19). Se pornete de la 0V i se mrete
tensiunea de la surs, pn ce valoarea msurat ajunge la +5V. Aceast tensiune este
tensiunea nominal de alimentare pentru circuitele TTL. Valoarea limit absolut de
catalog este de +7V la circuitele TTL i de +18V la circuitele CMOS seria 4000.
Depirea valorii limit absolute va distruge cu o mare probabilitate circuitul integrat!
Circuitele CMOS din seria 4000 nu au o tensiune nominal precizat. Tensiunea de
alimentare 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 pentru
aceste circuite sunt de +5V, +10V i + 15V.
Observaiile de mai sus sunt valabile pentru toate panourile logice folosite i n alte
capitole, aa c nu vom mai reveni cu aceste indicaii. Dac un panou logic are cordon de
alimentare la reea, atunci exist o surs de alimentare cu tensiune continu ncorporat, iar
panoul NU MAI TREBUIE ALIMENTAT la o surs de tensiune de laborator!
_

14

13

12

11

10

+
V 5 V cc
_
1

Fig. 1.19 Stabilirea tensiunii corecte de alimentare a panoului logic

20

1 FAMILII LOGICE

1.2.1 Se realizeaz montajul din figura 1.20. La intrarea porii I-NU, n tehnologie
TTL standard (circuitul integrat CDB400, echivalent cu SN7400), cu intrrile conectate
mpreun, se aplic o tensiune continu, variabil ntre 0 i 5V, iar valorile msurate ale
tensiunii de ieire se trec ntr-un tabel. Se reprezint punct cu punct caracteristica static de

( )

transfer Vout = f Vin . S se compare cu caracteristica de transfer din figura 1.2, obinut
prin simulare analogic PSPICE. Se repet msurtorile pentru o poart I-NU cu 2 intrri
realizat n tehnologie CMOS 4000 (circuitul integrat MMC4011, echivalent cu CD4011),
avnd grij ca tensiunea de intrare s nu depeasc tensiunea de alimentare. Se folosesc
urmtoarele tensiuni de alimentare: VCC = +5V , VCC = +10V i VCC = +15V . Se msoar
nivelele logice i se compar cu valorile garantate prin standard. Caracteristica de transfer
pentru VCC = +15V se compar cu caracteristica de transfer din figura 1.11, obinut prin
simulare analogic PSPICE. Sarcina porii este considerat rezistena de intrare a
voltmetrului folosit pentru msurare.
Vcc = +5V

+
Vin = 0..5V _

sarcin
+
V Vout
_

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 intrarea
porii I-NU cu intrrile conectate mpreun se aplic un semnal sinusoidal cu amplitudinea
de circa 4V i frecvena de circa 100Hz. Se scoate baza de timp a osciloscopului i pe
ecranul tubului catodic apare caracteristica de transfer. Msurai nivelele logice de ieire i
intrare garantate prin standard. Modificai sarcina porii prin adugarea circuitului care
simuleaz 10 intrri TTL standard (vezi figura 1.24) i refacei msurtorile. Comentai
modificarea caracteristicii cu frecvena semnalului de intrare i explicai ce se ntmpl dac
una dintre intrrile porii este lsat n aer. Se repet montajul pentru poarta CMOS 4000.
Analizai modificarea caracteristicii cu modificarea tensiunii de alimentare i stabilii
tensiunea minim de alimentare. Scurtcircuitai pe rnd ieirea porii la mas i apoi la VCC
i observai ce se ntmpl.
generator
R int

Vin

Vcc = +5V
sarcin
Vout

Fig. 1.21 Montajul pentru vizualizarea caracteristicii de transfer

21

1.2 Demonstraii practice

1.2.3 Se msoar n cazurile cele mai defavorabile curenii de intrare pentru cele
dou nivele logice la poarta TTL standard, folosind montajele din figura 1.22. Testarea n
cazul cel mai defavorabil este realizat pentru toate circuitele, pentru a garanta funcionarea
n toate condiiile posibile. VCC are valoarea maxim admis (+5,25V la seria 74SN) pentru
a maximiza curentul I IL . Cu excepia intrrii supuse testrii, celelalte intrri nefolosite sunt
conectate la 1 logic pentru a maximiza orice contribuie a acestor intrri asupra curentului
de intrare I IL . Acest 1 logic este de 4,5V, valoare n general superioar lui VOH . Comparai
rezultatele obinute prin msurare cu cele din figura 1.4, obinute prin simulare PSPICE.
Valorile obinute trebuie s fie n concordan cu datele de catalog:

I IH I IHMAX = 40A

I IL I ILMAX = 1,6mA
DAC AMPERMETRUL ESTE ANALOGIC
POLARITATE I LA DOMENIUL DE MSUR !

Vcc = +5,25V
VIL = 0,4V _

mA +

+4,5V

(TIP

MAVO-35),

ATENIE

LA

Vcc = +5,25V

I IH
_
VIH= 2,4V +
mA

I IL

Fig. 1.22 Montajele pentru msurarea curentului de intrare la poarta TTL

1.2.4 Folosind montajul din figura 1.23 se traseaz caracteristicile de ieire ale porii
TTL standard. Dac ampermetrul este analogic (tip MAVO-35), atenie la polaritate i la
domeniul de msur! Comparai rezultatele cu cele din figurile 1.5 i 1.6, obinute prin
simulare analogic PSPICE.

Vcc = +5V
I out
_

mA +

(-)
+ (+)
V V
out
_

5K

100

Fig. 1.23 Montajul pentru trasarea caracteristicilor de ieire la poarta TTL

1.2.5 Se msoar timpii de propagare prin poarta TTL cu ajutorul montajului din
figura 1.24. Generatorul furnizeaz la intrare impulsuri TTL cu frecvena de civa MHz.
Circuitul de ieire ( C L = 15 pF ) simuleaz ncrcarea porii cu o sarcin echivalent cu 10
intrri TTL standard. Se msoar timpii de propagare i pentru C L = 220 pF i se compar
rezultatele. Dac performanele osciloscopului nu sunt satisfctoare pentru efectuarea
msurtorii, se poate ncerca nserierea mai multor pori identice i medierea rezultatelor
astfel obinute. Se repet msurtoarea pentru poarta CMOS, folosind la intrare impulsuri de
amplitudine 5V. Sarcina porii este dat acum numai de condensatorul C L , iar intrrile sunt
.

22

1 FAMILII LOGICE

in

50%

generator
TTL
R int

50%

t pHL

CL

50%

50%

400

out

+2,4V
in

t pLH
out

Vcc = +5V

Fig. 1.24 Definirea timpilor de propagare i montajul pentru msurarea lor la poarta TTL
conectate mpreun. Pe un osciloscop cu 2 canale se vizualizeaz att semnalul de intrare ct
i semnalul de la ieirea porii logice. Prin suprapunerea celor dou semnale se msoar cei
doi timpi de propagare t PHL i t PLH . Se verific egalitatea aproximativ a celor doi timpi de
propagare la poarta CMOS. Studiai variaia timpilor de propagare cu modificarea tensiunii
de alimentare i cu modificarea sarcinii de la ieirea porii CMOS i comparai valorile
msurate cu datele de catalog.
V
.

1.2.6 Se realizeaz montajul din figura 1.25, folosind al doilea circuit integrat de pe
panoul logic TTL. Se calculeaz limitele de variaie admise pentru valoarea rezistenei de
colector i se verific dac rezistena de pe panou se ncadreaz ntre aceste limite. Se
verific conexiunea "I cablat" folosind tabelul de adevr al funciei binare Y, precum i
excursia tensiunii la ieire.

Vcc = +5V
RC
A

. .

Y = A B C

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 la


ieirea porii CMOS (tensiunea de ieire) i pe rezistena nseriat n circuitul de alimentare
(curentul consumat de circuitul integrat). Intrrile celorlalte pori logice din circuitul integrat
se conecteaz la nivele logice stabile, 0 sau 1. Astfel consumul de curent al circuitului
integrat este dat n exclusivitate de poarta care comut. Comentai imaginea de pe ecranul
tubului catodic. Ce se ntmpl dac se mrete tensiunea de alimentare? Dar dac se
mrete frecvena impulsurilor aplicate la intrare? Acest comportament se ntlnete la orice
structur CMOS, nu neaprat numai la seria 4000. i procesoarele Pentium au un
comportament similar. Acest consum de curent pe poart la comutare, determin o cretere
accentuat a disipaiei termice odat cu creterea frecvenelor de lucru. Care este soluia
adoptat n ultimul timp pentru rezolvarea acestei probleme? (vezi problema 1.3.5)

23

1.2 Demonstraii practice

VDD = +5V

generator
impulsuri
R int

sarcin

Y1

Vin

Y2

Fig. 1.26 Montaj pentru estimarea consumului circuitului integrat care conine poarta
CMOS din seria 4000
V
1.2.8 Se realizeaz circuitul din figura 1.14 folosind dou pori TTL standard i un
cablu de conexiune lung (de circa 2 m). Se introduce pe intrarea primei pori un semnal TTL
cu o frecven de circa 5 MHz. Se vizualizeaz semnalele n punctele A i B cnd
conductorul AB este scurt i atunci cnd are o lungime de circa 1m. Desenai semnalele
vizualizate i explicai forma lor. Msurai ntrzierea semnalului pe linia lung AB.
V
.

1.2.9 Se dubleaz circuitul din figura 1.14 i cele dou linii lungi se apropie pe o
lungime ct mai mare una de alta. Se aplic un semnal TTL pe intrarea unui circuit i se
vizualizeaz pe linia celuilalt circuit semnalul indus datorit diafoniei.
V
.

1.2.10 Se realizeaz montajul din figura 1.27 pentru vizualizarea zgomotului datorat
injeciei de curent. Se aplic semnal TTL pe linia A, iar linia B se conecteaz la mas prin
intermediul unui conductor lung. Urmrii apariia pulsurilor de tensiune n punctul B
sincron cu semnalul din punctul A i msurai durata i amplitudinea lor.

A
B

Fig. 1.27 Circuit pentru evidenierea zgomotului datorat injeciei de curent la TTL V
1.2.11 Se conecteaz toate porile circuitului integrat TTL la sursa de semnal TTL,
pentru o comutare sincron a lor. Se conecteaz n serie cu sursa de alimentare un fir cu
inductan mare (se bobineaz nite spire pe un tor de ferit). Linia de alimentare poate fi
astfel asimilat unei linii lungi de transport al tensiunii. Se vizualizeaz variaia tensiunii de
alimentare pe pinul Vcc al circuitului integrat. Msurai durata i amplitudinea variaiilor i
desenai formele de und. Repetai msurtorile dup cuplarea unui condensator de
decuplare ntre Vcc i GND.
V
.

1.2.12 S se imagineze i s se experimenteze un montaj pentru vizualizarea


zgomotelor datorate formei traseelor de mas.

.

25

1.3 Probleme rezolvate

VCC VOLMAX
5V 0,4V
=
= 1,437 K
I OLMAX 8 I ILMAX 16mA 8 1,6mA
Se alege pentru rezistena R o valoare standardizat cuprins n intervalul [1,437K
..3,846K]. Nu am luat aici n considerare variaiile admisibile ale tensiunii de alimentare. In
aceast situaie, ar trebui s lum n calcul valoarea care minimizeaz R MAXH , adic VCC min ,
respectiv valoarea care maximizeaz Rmin L , adic VCCMAX .
Rmin L =

c) M L = VOLMAX VILMAX = 0,4V 0,8V = 0,4V

1.3.3 Se nlocuiesc cele 8 inversoare ale circuitului din figura 1.29 cu un numr
necunoscut N de pori I-NU cu cte 2 intrri conectate mpreun, n tehnologie TTL
standard. S se calculeze N, dac se tie c R = 1K i marginea de zgomot n 1 logic
trebuie s fie mai mare de 1V.
Rezolvare:
- pentru starea logic 1:

R (2 I OHMAX + 2 N H I IHMAX ) VCC VIH min M H , adic


VCC V IH min M H 2 R I OHMAX 5V 2V 1V 2 1K 0,1mA
NH
=
= 22,5
2 R I IHMAX
2 1K 0,04mA
Curentul de intrare n poart pentru starea logic 1 este suma curenilor de pe fiecare intrare.
Dac variaz i VCC , atunci se ia n calcul VCC min .
- pentru starea logic 0:

R ( I OLMAX N L I ILMAX ) VCC VOLMAX


VCC + VOLMAX + R I OLMAX 5V + 0,4V + 1K 16mA
NL
=
= 7,12
R I ILMAX
1K 1,6mA
Curentul de intrare n poart pentru starea logic 0 este acelai, indiferent de numrul de
intrri ale porii. Dac variaz i VCC , atunci se ia n calcul VCCMAX .
Deci rspunsul este N = 7.

.

1.3.4 Care este marginea de zgomot asigurat de conexiunea din figur? Porile sunt
TTL standard, dar poarta comandat este un inversor cu histerezis.
V out
VOHmin

Fig. 1.30

Circuitul i caracteristica de transfer


a inversorului cu histerezis
VOLmax
V T-

V in

V T+

Rezolvare:
Inversorul cu histerezis are pragul VT cuprins ntre 0,6V i 1,1V, iar pragul VT + este
cuprins ntre 1,5V i 2V, conform datelor de catalog.
- pentru starea logic 1: M H V H min VT max = 2,4V 1,1V = 1,3V ,
- pentru starea logic 0: M L VT + min VOL max = 1,5V 0,4V = 1,1V .
Marginile de zgomot la o conexiune ntre dou pori TTL standard sunt de numai 0,4V!
.

26

1 FAMILII LOGICE

1.3.5 Se consider inversorul CMOS din figura 1.10 alimentat la tensiunea


V+ = +5V . Tranzistorul T1 suport un curent de dren I D1 = 1mA , iar T2 un curent
I D2 = 1,5mA . Tensiunea de prag a circuitului este VT = 2,5V , iar capacitatea de ieire este
Cout = 20 pF .
a) S se calculeze timpii de propagare pentru ambele tranziii tiind c sarcina
inversorului este format din 10 intrri CMOS, fiecare de 5 pF, iar capacitatea traseelor
exterioare circuitului integrat este de 30 pF.
b) Calculai consumul de putere dinamic i static i artai care sunt modalitile de
reducere a consumului de putere din surs, tiind c frecvena de comutaie a porii este de
1MHz, iar fronturile semnalului de ieire sunt egale cu 100ns.
Rezolvare:
a) Capacitatea total de sarcin este:
C = Cout + N Cin + Ctrasee = 20 pF + 10 5 pF + 30 pF = 100 pF
Pentru tranziia ieirii LOW-HIGH se deschide T2 i se blocheaz T1, iar timpul de
propagare este:
C VT 100 pF 2,5V
t PLH =
=
= 167ns
15
. mA
I D2
Pentru tranziia ieirii HIGH-LOW se deschide T1 i se blocheaz T2, iar timpul de
propagare este:
C (V+ VT ) 100 pF (5V 2,5V )
t PHL =
=
= 250ns
1mA
I D1
b) Puterea disipat n regim dinamic este puterea necesar pentru ncrcarea i descrcarea
periodic a capacitii de sarcin de la ieire:
Pd = V+

C V+
= C V+2 f = 100 pF 52 V 2 1MHz = 2,5mW
T

V+
0V
IM
0A
tr

tf

Fig. 1.31 Aproximarea formelor de und la comutare


Puterea disipat n regim static este puterea disipat n timpul comutrii. Figura 1.31 indic
o reprezentare simplificat a tensiunii de ieire i a curentului consumat pe durata unei perioade.
T

Ps =

u(t ) i(t ) dt
0

V+ I M t r + t f 5V 0,5mA 100ns + 100ns

= 125W
4
T
4
1000ns

Valoarea exact a lui I M este mai greu de apreciat. Avnd ns n vedere datele problemei, valoarea
de 0,5mA este pe deplin acoperitoare.

27

1.3 Probleme rezolvate

Ambele componente ale puterii disipate se reduc odat cu micorarea tensiunii de alimentare
i a frecvenei de comutaie. Capacitatea de sarcin contribuie i ea la expresia puterii n regim
dinamic.

.

1.3.6 Dac pe o intrare CMOS apar tensiuni mai mari dect V + (notat de obicei cu
V DD ) sau mai mici dect potenialul masei (notat de obicei cu VSS ) exist pericolul
distrugerii diodelor din circuitul de protecie al intrrii prin depirea valorii maxime admise
a curentului prin diode. S se realizeze un circuit extern de protecie i s se dimensioneze
elementele de circuit.
Rezolvare:
Se introduce o rezisten serie Rext la intrare care limiteaz curentul la valoarea maxim
I MAX = 10mA . Se stabilesc valorile maxime ale tensiunilor la intrare:
+

V MAX
> VDD i V MAX
< VSS
Dimensionarea rezistenei se face urmrind schema de protecie a intrrii din figura 1.12:
Rext

+
V MAX
VDD V F

,
I MAX

Rext

V MAX
VF

I MAX

VF este cderea de tensiune n conducie direct pe diode. Se alege pentru Rext o valoare care
acoper ambele inegaliti.
O intrare CMOS nu se las niciodat "n aer". Pentru eliminarea eventualelor sarcini statice
induse, se recomand conectarea unei rezistene de circa 100K la mas sau la V+ , dup caz.

.

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


Rezolvare:
Verificm pentru nceput dac o ieire CMOS poate comanda o intrare TTL standard, din
punctul de vedere al tensiunilor i al curenilor:
VOLMAX ( CMOS ) < V ILMAX ( TTL ) , adic 0,05V < 0,8V

VOH min( CMOS ) > V IH min( TTL ) , adic 4,95V > 2V


Din punctul de vedere al tensiunilor inegalitile sunt satisfcute fr probleme, iar la cureni:

I OLMAX ( CMOS ) > I ILMAX ( TTL ) , adic 2mA > 1,6mA


I OHMAX ( CMOS ) > I IHMAX ( TTL ) , adic 2mA > 40A
Relaia subliniat indic faptul c o ieire CMOS poate comanda o intrare TTL standard, dar nu
dou sau mai multe, deoarece nu ar mai putea asigura curentul de intrare pe 0 logic.
Verificm n continuare dac o ieire TTL poate comanda o intrare CMOS:

VOLMAX ( TTL ) < V ILMAX ( CMOS ) , adic 0,4V < 30% 5V = 1,5V
VOH min( TTL ) > V IH min( CMOS ) , adic 2,4V > 70% 5V = 3,5V
I OLMAX ( TTL ) > I ILMAX ( CMOS ) , adic 16mA > 100nA
I OHMAX ( TTL ) > I IHMAX ( CMOS ) , adic 400A > 100nA
Relaia subliniat nu este respectat, deci conexiunea direct TTL-CMOS nu este corect! Pentru
a ridica tensiunea la ieirea porii TTL aflate n 1 logic se conecteaz o rezisten ntre ieirea porii
TTL i tensiunea de alimentare.

28

1 FAMILII LOGICE
Pentru dimensionarea rezistenei:
Rmin L =

VCC VOLMAX ( TTL )


I OLMAX

5V 0,4V
= 0,287 K
16mA

Se alege o valoare mai mare, dar apropiat de R min L , pentru c R MAXH este mai greu de calculat.
Dac consideram i variaia tensiunii de alimentare, foloseam VCCMAX n calculul lui Rmin L , n

scopul maximizrii lui Rmin L .
.

1.3.8 Datorit lipsei circuitelor integrate TTL standard care trebuiau s echipeze un
produs de serie, acesta este realizat cu circuite integrate LSTTL. Garantai o funcionare
corect a circuitului? Dar dac lucrurile ar fi stat exact invers?
Rezolvare:
Nu se poate garanta o funcionare 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 deci
o funcionare defectuoas a circuitului.
Dac n loc de LSTTL se monteaz TTL standard nu mai avem probleme de zgomot, dar
probabil c sistemul nu va funciona din cauza frecvenei prea mari, la care circuitele TTL standard
nu fac fa.

.

1.3.9 Un BUS cu impedana caracteristic Z 0 = 75 este adaptat ca n figura 1.32.


tiind c pe acest BUS pot fi cuplate cel mult 16 intrri TTL standard i c se impune n 1
logic o margine de zgomot de cel puin 0,6V, s se calculeze:
a) valorile rezistenelor R1 i R2.
b) curentul I OLMAX al circuitului ce comand BUS-ul.
+V cc

+V cc

R1

IR 1

R1

IR 2

R2

*
I OH

R2

....
N

Fig. 1.32 Circuitul de adaptare a liniei de magistral


Rezolvare:
a) Din condiia de 1 logic pe linie:

R1 R2 = 2 Z 0

VCC = R1 I R1 + V IH min + M H
2 I R1 = I OH + N I IH + 2 I R 2
V IH min + M H
I R2 =
R2

Necunoscutele sunt I R1 , I R 2 , R1 i R2 . Se rezolv sistemul i se obine:


R1 226 i R2 446

29

1.3 Probleme rezolvate

Fcnd anumite simplificri prin neglijarea lui I IH i I OH obinem rezultate apropiate cu un efort de
calcul mult mai mic.
b) I OLMAX 2 I R1 L + N I ILMAX 2 I R 2 L , indicele L indic starea logic 0 n nodul studiat.
Rezult I OLMAX 64,5mA , o valoare prea mare pentru un circuit integrat. Soluii ns exist: se
poate accepta o margine de zgomot mai mic, de cel puin 0,4V, ca la TTL, sau se pot alege circuite
de cuplare la BUS care au cureni de intrare mai mici. i aici se poate neglija I R 2 L . Marginea de
zgomot n 0 logic este de 0,4V i nu poate fi mrit de proiectant.
V
.

1.3.10 Un BUS cu impedana caracteristic Z 0 = 150 este adaptat ca n figur. Pe


BUS sunt cuplai receptori care au caracteristic de transfer cu histerezis (vezi figura 1.33)
i cureni de intrare neglijabili. tiind c circuitul care comand BUS-ul are I OLMAX = 24mA ,
VOLMAX = 0,4V i I OH 0 , se cere:
a) s se dimensioneze rezistenele R1 i R2.
b) s se calculeze marginea de zgomot garantat n ambele stri logice.
+V cc

Vo

R1

VT- = 0,9V

R2

Vi

VT+ = 1,7V

....

VT-

VT+

Fig. 1.33 Circuitul de adaptare i caracteristica de transfer a porilor cu histerezis


Rezolvare:

R1 R2 = Z 0 . Neglijnd curentul prin R2 n starea 0 logic, obinem:


VCC VOLMAX 5V 0,4V
=
200 . Alegem o valoare standard R1 = 220 . Din prima
R1
24mA
I OLMAX
ecuaie rezult R2 = 470 .
R2
470
VCC =
5V = 3,4V
b) - n starea 1 logic: V H =
R1 + R2
220 + 470
Receptorii vor comuta cnd Vi scade sub valoarea lui VT = 0,9V , deci:
a)

M H V H VT = 3,4V 0,9V = 2,5V


- n starea 0 logic: V L = VOLMAX = 0,4V . Comutarea se face pentru VT + = 1,7V :

M L VT + V L = 1,7V 0,4V = 1,3V

1.3.11 Explicai n ce situaie un circuit integrat CMOS din seria 4000 poate s
funcioneze n lipsa tensiunii de alimentare. Care sunt riscurile unei astfel de situaii i ce
msuri de prevenire recomandai ?
Rezolvare:
Dei este greu de crezut, un circuit integrat CMOS din seria 4000 poate funciona n lipsa
tensiunii de alimentare, cu condiia ca cel puin una din intrrile lui s fie pe 1 logic. Este clar c 1

30

1 FAMILII LOGICE

logic nseamn tensiunea de alimentare, dioda respectiv din reeaua de protecie a intrrii intr n
conducie, iar pe linia de alimentare din circuit apare o tensiune V+ V F , adic cu circa 0,6V mai
mic dect tensiunea de alimentare a sistemului. Dac curentul consumat de partea nealimentat
depete ns valoarea de 10mA i nu exist o limitare a acestui curent pe intrarea de 1 logic
(ieirea unei pori CMOS poate asigura aceast limitare), atunci structura este periclitat. Prevenirea
se face numai prin asigurarea unei alimentri corecte a circuitelor integrate din sistem.

.

1.3.12 Tensiunea de prag a inversoarelor din figura 1.34 este de 2,5V. S se calculeze tensiunea de basculare a circuitului echivalent trigger Schmitt i s se reprezinte
tensiunea la ieire dac pe intrare se aplic semnalul din figur.
Vin

R1

Vin

Vout

2K

+4V

R2

10K

Fig. 1.34 Trigger Schmitt neinversor realizat cu pori CMOS i semnalul de intrare
Rezolvare:
Comutarea ieirii din 0 se va face la o valoare a tensiunii de intrare

VT =

R2
R
2
V1 , deci V1 = 1 + 1 VT = 1 + 2,5V = 3V
R1 + R2
R2
10

Comutarea ieirii din 1 se va face la o valoare a tensiunii de intrare

VT =

V1 :

V2 :

R2
R1
V2 +
V DD , V DD fiind tensiunea de alimentare de 5V.
R1 + R 2
R1 + R 2

1
VT 1 V DD = 1 + 2,5V 5V = 2V .
Rezult: V 2 = 1 +
R2
R2
10
10

Funcionarea circuitului n condiiile cerute de problem este reprezentat n figura 1.35.

Vin
+4V
V1
V2

Vout
+5V

Fig. 1.35 Funcionarea circuitului n condiiile cerute de problem

SISTEME COMBINAIONALE

Aplicaiile din acest capitol i propun s prezinte metodele de analiz i sintez folosite
la implementarea funciilor binare cu pori logice, dar i cu unele circuite integrate pe scar
medie (MSI), cum ar fi multiplexoarele i demultiplexoarele.

2.1 Consideraii teoretice


2.1.1 Implementarea cu pori logice
Structurile numerice combinaionale sau circuitele logice combinaionale (CLC)
implementeaz funcii binare. O funcie binar de n variabile binare independente este o
aplicaie

f : { 0,1} { 0,1} ,
n

unde

domeniul

de

{0,1}n = {( x1x2 ... xn ) x1 {0,1}, x2 {0,1}, ... , xn {0,1}} .

definiie

este

mulimea

Numrul maxim de elemente ale mulimii {0,1} este 2 n , dar nu este absolut necesar
ca funcia s fie definit pentru toate aceste combinaii de variabile. Numrul maxim de
funcii binare de n variabile este:
n

2n

N=

C
i=0

i
2n

= 22

Analiza unui circuit combinaional are ca scop determinarea funciei logice intrareieire. Aceasta se poate exprima fie n limbaj natural, fie algebric prin expresii logice, fie
prin tabele de adevr, fie prin diagrame Veitch-Karnaugh.
Sinteza unui circuit combinaional urmrete determinarea schemei logice, pornind
de la unul dintre modurile de reprezentare enumerate mai sus.

32

2 SISTEME COMBINAIONALE

Orice funcie binar poate fi implementat numai cu pori I-NU. Se spune c


operatorul logic I-NU formeaz un set complet de operatori. Panoul logic conine 3 tipuri
de circuite integrate realizate n tehnologie TTL standard: pori inversoare, pori I-NU cu 2
intrri i pori I-NU cu 3 intrri.
Pentru a gsi circuitul optim care implementeaz funcia cutat este necesar
operaia de minimizare a funciei binare, n urma creia rezult o expresie algebric ct mai
simpl, care permite construcia circuitului folosind un numr minim de pori.
Exist numeroase tehnici de minimizare: pentru calculul manual se prefer utilizarea
diagramelor Veitch-Karnaugh, iar pentru calculul automat metode tabelare cum ar fi
metoda Quine-McCluskey sau metoda Espresso.
Vom prezenta n continuare un exemplu de minimizare a funciei binare f,
reprezentat prin tabelul de adevr din figura 2.1, folosind diagramele Veitch-Karnaugh:
- funcia dat are 4 variabile, deci diagrama Veitch-Karnaugh are 2 4 compartimente,
fiecare corespunznd uneia dintre cele 16 valori ale funciei. Fiecare compartiment este
adresat de o anumit combinaie a variabilelor A, B, C i D. Dup completarea
compartimentelor cu valorile funciei din tabelul de adevr, se grupeaz compartimentele
vecine (difer valoarea unei singure variabile) care conin 1 logic, astfel nct fiecare
grupare s conin un numr de 2 i compartimente, unde i = 0,1,2,3 sau 4. Fiecare grupare
este definit de un produs de variabile, sub form direct sau negat, iar expresia funciei se
obine prin aplicarea funciei 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 lui
DeMorgan" care permite transformarea operaiilor binare SAU n I i invers. Ea permite
implementarea funciilor binare numai cu pori I-NU:

X + Y = X Y , sau relaia dual: X Y = X + Y


A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
1
1
1
0
0
1
0
0
1
1
1
0
1
1
0
0

A
C

Veitch

D
D
D

AB

00

01

11

10

00

01

11 0

CD

10

Karnaugh

Fig. 2.1 Exemplu de folosire a diagramelor Veitch-Karnaugh

33

2.1 Consideraii teoretice


A
C

A A=A

1
A

A 1=A

D
B

Fig. 2.2 Schema logic cu numr minim de pori I-NU


Inversoarele se pot obine din pori I-NU prin conectarea mpreun a intrrilor
(legile de idempoten) sau prin conectarea celorlate intrri la 1 logic (elementul neutru
pentru operaia binar I).

2.1.2 Implementarea cu multiplexoare/demultiplexoare


Funciile binare pot fi implementate cu ajutorul unor structuri combinaionale
MSI, fr a mai fi necesar minimizarea lor.
Una dintre aceste structuri este decodificatorul(DCD). Decodificatorul este un
circuit integrat pe scar medie, care identific un cod de intrare prin activarea unei
singure linii de ieire. Dac circuitul are n variabile binare de intrare, atunci numrul
liniilor de ieire este 2 n . Figura 2.3 arat structura circuitului TTL pentru n = 2.
A
A
0
0
1
1

P0

P1

P2

B 0 1 2 3
0 0 1 1 1
1 1 0 1 1
0 1 1 0 1
1 1 1 1 0

A
B

2
2

DCD

P0 P1 P2 P3

P3

Fig. 2.3 Structura, tabelul de adevr 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 ci
de ieire. Selecia liniilor de ieire se face prin aplicarea unui cod binar pe n linii de
intrare, care devin acum intrri de selecie. Structura demultiplexorului TTL pentru
n = 2 este prezentat n figura 2.4.
A
B
A
B

I
ENABLE

prin conectarea la 0 permite


accesul datelor de pe intrare

)
P0 .I

P1 .I

2
2

DMUX

I
ENABLE

P2 .I P3 .I

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

34

2 SISTEME COMBINAIONALE

Multiplexorul(MUX) realizeaz funcia invers demultiplexorului, adic permite


transmiterea datelor de la una din cele 2 n ci de intrare la o singur cale de ieire.
Selecia unei anumite intrri de date se face prin aplicarea unui cod binar pe n linii de
intrare, linii care sunt intrrile de selecie. Structura multiplexorului TTL pentru n = 2
este prezentat n figura 2.5.
I0

I1

I2

I3

I0 I1 I2 I3

B
E

A
B

MUX

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 mai
eficiente, bazate pe poarta de transmisie CMOS. Circuitele pot fi asimilate cu nite
comutatoare programabile. Aceste comutatoare sunt bidirecionale, deci acelai circuit poate
fi utilizat fie ca multiplexor, fie ca demultiplexor, iar semnalele transmise pot fi i analogice.
Schema simplificat a unui MUX/DMUX cu 3 intrri de selecie n tehnologie CMOS, care
selecteaz intrarea/ieirea cu numrul 5, este dat n figura 2.6.
Aceste structuri combinaionale MSI implementeaz toi termenii produs
fundamentali ai unei funcii cu numr de variabile mai mic sau egal cu numrul de intrri de
selecie n. Din acest motiv, implementarea funciilor binare nu necesit operaii de
minimizare, ci numai alegerea corect a conexiunilor. Dac numrul de variabile ale funciei
este mai mic sau egal cu numrul de intrri de selecie n, atunci implementarea se face
direct, iar n caz contrar mai sunt necesare o serie de transformri algebrice pentru a gsi o
alt structur adiional, format de obicei din pori, care s completeze lipsa intrrilor de
selecie de la MUX sau DMUX.
intrare / ieire
0

A=1
B=0
C=1

2
2

1
0

ieire / intrare

MUX / DMUX

Fig. 2.6 Implementarea funciei cu demultiplexor i cu multiplexor CMOS

35

2.2 Demonstraii practice

Dac ne propunem s implementm cu MUX i apoi cu DMUX funcia binar


f = P0 + P1 + P2 + P6 + P7 , cele dou soluii TTL sunt prezentate n figura 2.7.
2

DMUX
5

MUX

W
f

Fig. 2.7 Implementarea funciei cu demultiplexor i cu multiplexor


Implementarea cu MUX este imediat. Intrrile corespunztoare indicilor termenilor
Pi din suma logic se conecteaz la 1 logic, iar celelalte intrri la 0 logic. Pentru
implementarea cu DMUX ne intereseaz termenii Pi , deci scriem funcia sub forma

f = P0 P1 P2 P6 P7 . Ieirile corespunztoare indicilor termenilor Pi se conecteaz la


intrrile unei pori I-NU.
Dac demultiplexorul este o structur CMOS, atunci la fiecare dintre ieirile 0, , 7
se conecteaz cte o rezisten la V+ . n caz contrar, ieirile care nu sunt selectate rmn n
aer (stare de nalt impedan).

2.2 Demonstraii practice


Consideraiile asupra alimentrii panoului logic, formulate n capitolul anterior,
rmn valabile pentru toate aplicaiile practice din aceast lucrare. Circuitele integrate MSI
au deja o complexitate mai mare dect porile logice i utilizarea lor la implementarea unor
scheme electrice nu se mai poate face fr consultarea foii de catalog.
Panoul logic conine pori logice, dou circuite integrate MSI realizate n tehnologie
TTL standard i un circuit integrat n tehnologie CMOS seria 4000. Circuitul SN 74150
este un multiplexor TTL cu 4 intrri de selecie, deci cu 16 ci de intrare, iar circuitul SN
74155 este un circuit TTL cu funcie dubl: fie un demultiplexor cu 3 intrri de selecie, fie
dou demultiplexoare cu cte 2 intrri de selecie. Circuitul MMC 4097 este un circuit
CMOS care conine dou multiplexoare/demultiplexoare cu cte 3 intrri de selecie.
Foile de catalog furnizeaz informaia complet pentru utilizarea corect a acestor
circuite integrate. Chiar dac circuitele sunt fabricate de alt productor, ele trebuie s
respecte standardul elaborat de firma TEXAS INSTRUMENTS pentru circuitele TTL,
respectiv RCA, pentru circuitele CMOS. Fragmente din foile de catalog, care conin numai
informaiile strict necesare pentru utilizarea acestor circuite integrate sunt prezentate n
figurile 2.8, 2.9 i respectiv 2.10. n cazul structurilor combinaionale, aceste informaii
strict necesare sunt cele care permit realizarea conexiunilor conform schemei logice, adic
configuraia pinilor i tabelul de adevr.

36

2 SISTEME COMBINAIONALE

Fig. 2.8 Configuraia pinilor i tabelul de adevr pentru circuitul SN 74150

Fig. 2.9 Configuraia pinilor i tabelul de adevr pentru circuitul SN 74155


Observm c pinul ENABLE din descrierea teoretic de mai sus se numete aici
STROBE i are rolul de a permite accesul datelor la ieire. El trebuie conectat la mas (0
logic), dup cum rezult din tabelele de adevr. O alt deosebire important const n
notarea variabilelor aplicate pe intrrile de selecie. La sinteza structurilor combinaionale
cu pori logice, sau la prezentarea teoretic de mai sus, s-a notat cu A variabila mai
semnificativ, iar cea mai puin semnificativ cu B, C sau D, funcie de numrul total de
variabile. Convenia adoptat de firma TEXAS INSTRUMENTS, dup cum observm din
tabelele de adevr, este exact invers: C sau D este intrarea de selecie mai semnificativ, iar
A este intrarea de selecie cea mai puin semnificativ. n fond este vorba de o simpl
convenie de care trebuie ns s inem seam pentru folosirea corect a circuitelor. Iat de
ce, printre altele, este obligatorie consultarea foii de catalog atunci cnd proiectm diverse
structuri folosind circuite integrate numerice!
Circuitul integrat MMC 4097(dac este de fabricaie romneasc, sau pur i simplu
4097, precedat de alte caractere, dac este fabricat de alt firm) are un pin numit INHIBIT, cu
aciune contrar pinului ENABLE. Este activ pe 1 logic, avnd rolul de a bloca accesul datelor
.

37

2.2 Demonstraii practice

Fig. 2.10 Configuraia pinilor i tabelul de adevr pentru circuitul MMC 4097
la ieire. El trebuie conectat la mas (0 logic), dup cum rezult din tabelele de adevr.
Convenia de alocare a ponderilor pentru variabilele de selecie se pstreaz la fel ca la TTL:
C este intrarea mai semnificativ, iar A este intrarea cea mai puin semnificativ.
2.2.1 Se face analiza schemei logice din figura 2.11, reprezentnd cele 4 funcii
binare prin expresii algebrice, tabele de adevr i diagrame temporale. Se verific
experimental rezultatele obinute n urma analizei teoretice a circuitului.
A
B

f0
f1
f2
f3

Fig. 2.11 Schema logic a unui decodificator realizat cu pori

2.2.2 Se implementeaz cu numr minim de pori I-NU funcia binar


reprezentat prin tabelul de adevr din figura 2.12 (x este 0 sau 1, dup cum ne
convine). Se realizeaz montajul din figur i se face verificarea sintezei prin analiza
circuitului folosind tabelul de adevr. Schema logic obinut este unic?
A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
0
1
x
x
x
1
1
1
0
1
0
0
0
1
0
x

A
C

0 D

A
f

D
D

C
D

. . .

f=C D+A C= C D A C

Fig. 2.12 Sinteza funciei binare reprezentat prin tabelul de adevr

38

2 SISTEME COMBINAIONALE

2.2.3 Se consider funcia binar definit de tabelul de adevr din figura 2.13. Se
implementeaz folosind circuitul integrat SN 74155 ca demultiplexor cu 8 ci de ieire i se
verific funcionarea circuitului obinut folosind tabelul de adevr. Se repet implementarea
funciei cu circuitul MMC4097 i se verific din nou funcionarea corect a montajului.
C

B A

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

1
0
0
0
1
1
0
1

0
1
0
1
0
1
0
1

1C

A 0

2C

1G

SN 74155
1

2G
7

Fig. 2.13 Implementarea unei funcii binare cu circuitul SN 74155

2.2.4 Un juriu format din 4 persoane decide asupra reuitei unui concurent prin
majoritate de voturi, semnalizate prin aprinderea unui element de afiaj. Se
implementeaz funcia care comand aprinderea LED-ului, reprezentat prin tabelul de
adevr din figura 2.14, folosind circuitul integrat SN 74150. Se verific funcionarea
corect a montajului (n schemele logice cu multiplexoare am folosit pentru intrri
notaia I i ; n foaia de catalog a circuitului 74150 de la TEXAS INSTRUMENTS, ele
sunt notate cu Ei , iar complementarea lor la ieire indic c este disponibil ieirea W ;
informaia din catalog trebuie adaptat la cunotinele noastre i este posibil ca n
cataloagele altor firme s ntlnim alte notaii).
D
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

C
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

B
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

A
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

f
0
0
0
0
0
0
0
1
0
0
0
1
0
1
1
1

1
0
D

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

SN 74150

Fig. 2.14 Implementarea funciei de vot majoritar cu circuitul SN 74150

2.2.5 Se repet implementarea funciei de la punctul 2.2.4, folosind de aceast dat


circuitul integrat SN 74155 ca demultiplexor cu 8 ci de ieire i se verific funcionarea
circuitului obinut folosind tabelul de adevr dat n figura 2.14. S se arate cum s-a fcut
sinteza schemei logice prezentate n figura 2.15.

40

2 SISTEME COMBINAIONALE

2.3 Probleme rezolvate


2.3.1 S se proiecteze un circuit logic combinaional de tip "cheie electronic" cu 3
intrri i o singur ieire. Fiecare intrare reprezint starea unui contact: dac contactul este
deschis, acesta furnizeaz 1 logic pe intrarea respectiv. n starea iniial toate contactele
sunt deschise i ieirea circuitului este n 1 logic, adic alarma este dezactivat.
Dac nchiderea contactelor (care pot aciona, de exemplu, nite zvoare electromagnetice) se face ntr-o anumit ordine prestabilit, atunci ieirea rmne n 1 logic i
alarma nu este declanat. Dac ordinea de nchidere a contactelor nu este respectat, ieirea
trece n 0 logic i se afieaz starea de alarm prin aprinderea unui LED.
Cte combinaii posibile exist? Dar pentru 5 contacte? Explicai cum trebuie s fie
contactele i de ce.
Rezolvare:
S presupunem c ordinea prestabilit de nchidere a contactelor este B, C, A. Tabelul de
adevr pentru implementarea funciei de alarmare, minimizarea funciei cu ajutorul diagramei
Veitch i schema logic obinut sunt date n figura 2.17.
A
0
0
0
0
1
1
1
1

B
0
0
1
1
0
0
1
1

C
0
1
0
1
0
1
0
1

f
1
0
0
0
1
1
0
1

A
f

A
C

B
C

. . A .C

f=B C+A C= B C

Fig. 2.17 Sinteza funciei binare de alarmare


Pentru 3 contacte exist 3! = 6 combinaii posibile, iar pentru 5 contacte avem 120 de
combinaii distincte. Se folosesc ntreruptoare cu meninere, deoarece este necesar memorarea
strilor contactelor la fiecare pas. n lipsa acestor memorii mecanice, sunt necesare memorii
electronice, adic circuite secveniale, deci problema nu este rezolvabil prin metodele prezentate
pn acum n lucrare.
V
.

2.3.2 S se proiecteze un circuit de decodificare pentru afiajul cu 7 segmente din


figura 2.18, care s permit afiarea a 4 stri distincte, prin literele O, L, H i E. Cele 4 stri
distincte sunt date de toate combinaiile posibile realizate cu 2 variabile de intrare, A i B.
Segmentele elementului de afiaj sunt aprinse pentru 0 logic i stinse pentru 1 logic.
a
f

b
c

Fig. 2.18 Notaii folosite pentru cele 7 segmente ale elementului de afiaj
Rezolvare:
Pentru fiecare segment de afiaj se genereaz cte o funcie binar conform cerinelor
problemei. Rezult tabelul de adevr din figura 2.19. Prin minimizare se obin ecuaiile circuitului.

41

2.3 Probleme rezolvate


A B a b c d e f g
0

Simbol

0 0 0 0 0 0 0 1

1 1 1 1 0 0 0 1

0 1 0 0 1 0 0 0

1 0 1 1 0 0 0 0

. . .

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

g =A

a
b
c
d
e
f

b=c= B

d= A B
e=f=0

Fig. 2.19 Sinteza circuitului de decodificare pentru afiajul cu 7 segmente

2.3.3 O companie face angajri de personal pentru diferite compartimente. Candidaii


trebuie s ndeplineasc cel puin una dintre urmtoarele 5 condiii:
- a: brbat, necstorit, cu studii superioare
- b: necstorit(), cu studii superioare, vrsta sub 30 de ani
- c: femeie, necstorit, fr studii superioare
- d: brbat, vrsta sub 30 de ani
- e: necstorit(), vrsta peste 30 de ani
S se proiecteze un circuit pentru selecia candidailor.
Rezolvare:
Se pune problema s gsim o funcie binar f, de mai multe variabile, pentru selecia
candidailor. Dac f = 1 se consider candidat acceptat, iar dac f = 0, atunci avem de-a face cu un
candidat respins.
Stabilim pentru nceput care sunt variabilele funciei:
A - vrsta (A = 1 dac vrsta este sub 30 de ani, i A = 0 n caz contrar)
B - sexul (B = 1 dac este brbtesc i B = 0 dac este femeiesc)
C - starea civil (C = 1 dac este necstorit() i C = 0 dac este cstorit())
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 puin
una dintre condiiile cerute este ndeplinit, adic:
f = a + b + c + d + e , unde

a = BCD, b = ACD, c = BCD, d = AB, e = AC


Expresia algebric a funciei cutate este f = BCD + ACD + BCD + AB + AC , dar aceast
form a funciei nu este minim. Pentru o minimizare rapid i eficient se trec termenii produs
ntr-o diagram Veitch. Soluia problemei este dat n figura 2.20.
A

A
C

0 D

1 D

A
B
f

. .

f = C + A B= C A B

Fig. 2.20 Sinteza funciei binare f(A,B,C,D)

42

2 SISTEME COMBINAIONALE

2.3.4 S se fac sinteza funciei de vot majoritar, reprezentat prin tabelul de adevr
din figura 2.14, cu ajutorul unui demultiplexor cu 8 ci de ieire.
Rezolvare:

Funcia
poate
fi
scris
n
forma
canonic
disjunctiv
sub
forma:
f = P7 + P11 + P13 + P14 + P15 . Observm ns c numrul de variabile ale funciei este mai mare
dect numrul intrrilor de selecie ale demultiplexorului. Din acest motiv vom face o serie de
transformri algebrice care s pun n eviden mintermenii unei funcii de 3 variabile, mintermeni
care sunt disponibili la ieirile demultiplexorului. Cea de-a patra variabil va fi introdus ntr-o
logic combinaional suplimentar, realizat de obicei cu pori logice.
f = P7 + P11 + P13 + P14 + P15 = DCBA + DC BA + DCBA + DCBA + DCBA =

= A( DCB + DC B + DCB + DCB) + ADCB = A( P3' + P5' + P6' + P7' ) + A P7' =

= A( P3' + P5' + P6' ) + P7' = A P3' P5' P6' + P7' = A P3' P5' P6' P7'

Expresia algebric obinut permite implementarea funciei f, conform schemei din figura
2.15. Este evident c oricare alte 3 variabile puteau fi aplicate pe intrrile de selecie ale

demultiplexorului, cu condiia refacerii calculelor de mai sus.

2.3.5 S se proiecteze un convertor de cod din cod binar n cod Gray pentru numere
reprezentate pe 3 bii, folosind:
a) un decodificator cu 3 intrri de selecie.
b) multiplexoare cu cte 2 intrri de selecie.
c) un numr minim de circuite.
Rezolvare:
Dou reprezentri succesive n cod Gray difer printr-un singur bit. Tabelul din figura 2.21
indic corespondena cod binar - cod Gray, iar schema logic alturat prezint soluia de la punctul
a. Pentru sinteza schemelor logice n probleme, propunem ca variabila A s fie aplicat pe intrarea
de selecie cea mai semnificativ. La problema 2.3.4 am pstrat convenia din catalog, pentru c
schema logic obinut este implementat cu circuitul SN 74155, aa cum se vede n figura 2.15.
A
0
0
0
0
1
1
1
1

B C
0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

AG BG CG
0
0
0
0
1
1
1
1

0
0
1
1
1
1
0
0

0
1
1
0
0
1
1
0

DCD
0

AG

BG

CG

Fig. 2.21 Convertor de cod binar - Gray cu decodificator i pori


b) Se pot folosi multiplexoare cu cte 2 intrri de selecie prin transformrile:

AG = ABC + ABC + ABC + ABC = ( AB + AB ) C + ( AB + AB ) C = P2' + P3'

BG = ABC + ABC + ABC + ABC = ( AB + AB ) C + ( AB + AB ) C = P1' + P2'


CG = ABC + ABC + ABC + ABC = ( P0' + P2' ) C + ( P1' + P3' ) C

43

2.3 Probleme rezolvate


1

0
A
B

MUX

A
B

1
2

MUX

A
B

AG

MUX

BG

CG

Fig. 2.22 Convertor de cod binar - Gray cu multiplexoare


Schema logic din figura 2.22 prezint o soluie a problemei. Sunt posibile i alte soluii,
funcie de alegerea variabilelor care se aplic pe intrrile de selecie.
c) Implementarea cea mai simpl este cu pori logice. Prin minimizare cu ajutorul diagramei
Veitch-Karnaugh rezult urmtoarele relaii:
AG = A , BG = AB + AB = A B , CG = BC + BC = B C .
Deci sunt necesare numai dou pori logice SAU-EXCLUSIV.

.

2.3.6 S se implementeze un sumator complet de 1 bit, folosind:


a) multiplexoare cu 4 ci de intrare;
b) demultiplexor cu 4 ci de ieire i pori;
Comparai cele dou soluii din punct de vedere al numrului de circuite integrate i al
timpului de propagare.
Rezolvare:
Sumatorul de 1 bit are dou intrri pentru operanzi, notate aici cu A i B, i nc o intrare
pentru transportul de la sumatorul de rang inferior, notat aici cu C1. Circuitul are dou ieiri,
suma, notat cu S, i transportul, notat cu C. Tabelul de adevr este dat n figura 2.23.

C = P3 + P5 + P6 + P7 = C1 AB + C1 (AB + AB + AB) = P3' + C1 (P1' + P2' )

S = P1 + P2 + P4 + P7 = C1 (AB + AB ) + C1 (A B + AB) = C1 (P1' + P2' ) + C1 (P0' + P3' )


Schemele logice care se obin cu aceste ecuaii sunt date tot n figura 2.23.
C -1 A B

C S

0
0
0
0
1
1
1
1

0
0
0
1
0
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

A
B

C -1

C -1

0
1
1
0
1
0
0
1

MUX

3
E

A
B

MUX

3
E

Fig. 2.23 Sumator complet de 1 bit implementat cu multiplexoare


b) Pentru implementarea cu demultiplexor, se fac urmtoarele transformri (punem n
'

eviden termeni produs Pi ):

C = P3' + C1 (P1' + P2' ) = P3' C1 P1 ' P2'


S = C1 (P1' + P2' ) + C1 (P0' + P3' ) = C1 P1 ' P2' C1 P0' P3'

44

2 SISTEME COMBINAIONALE
A
B

DMUX
0

C -1

Fig. 2.24 Sumator complet de 1 bit implementat cu decodificator i pori I-NU


Dac se compar schemele logice astfel obinute, observm c implementarea cu
demultiplexor este mult prea costisitoare, att din punct de vedere al numrului de circuite integrate,
ct i al timpului de propagare. Implementarea cu multiplexoare este mai rezonabil, dar cea mai
simpl soluie se obine prin minimizarea funciilor i implementare cu pori. Aceast soluie a fost
V
prezentat n curs.
.

2.3.7 Un circuit logic combinaional are 4 intrri, 2 ieiri i funcioneaz astfel nct:
- dac F = 00 , atunci Q = I ;
- dac F = 01 , atunci Q = I + 1 (mod 4) ;
- dac F = 10 , atunci Q = I 1 (mod 4) ;
- dac F = 11, atunci Q = I ,
unde F, Q i I sunt cuvinte de cte doi bii.
a) S se scrie funciile logice Q1 i Q0 asociate ieirilor circuitului.
b) S se implementeze circuitul anterior descris.
Rezolvare:
a) Se poate folosi tabelul de adevr pentru fiecare dintre funciile cerute, dar i o metod mai
rapid care presupune scrierea direct a funciei pornind de la o formulare convenabil n limbaj
natural. Este evident c pentru F1 = 0 i F0 = 0 , Q1 = I 1 i Q0 = I 0 . Pentru F1 = 0 i F0 = 1 , se
impune ca intrarea s fie I 1 = 0 i I 0 = 1 , sau exact invers, I 1 = 1 i I 0 = 0 , deoarece numerele 01
i 10 genereaz prin incrementare bitul cel mai semnificativ, Q1 = 1 . Se pot folosi i diagramele
Veitch Karnaugh de dou variabile, I 1 i I 0 , pentru fiecare combinaie F1 , F0 . Expresiile cerute
n problem devin:

Q1 = F1 F0 I1 + F1 F0 (I1 I 0 ) + F1 F0 I1 I 0 + F1 F0 I1
Q0 = F1 F0 I 0 + F1 F0 I 0 + F1 F0 I 0 + F1 F0 I 0
b) Probabil c implementarea cea mai simpl se poate face folosind dou multiplexoare cu
cte 2 intrri de selecie ( F1 i F0 ) i pori (dou inversoare, o poart SAU-EXCLUSIV i o poart
SAU-EXCLUSIV NEGAT). Lsm n seama cititorului gsirea altor soluii posibile.

.

CIRCUITE DE IMPULS

Aplicaiile din acest capitol i propun s prezinte circuite secveniale regenerative, care
genereaz i prelucreaz impulsuri. Este vorba de clasa circuitelor multivibratoare, care conine
circuite astabile, monostabile sau bistabile, realizate cu pori logice sau cu circuite integrate
specializate.

3.1 Consideraii teoretice


3.1.1 Circuite astabile
Circuitele astabile sunt circuite basculante care nu au nici o stare stabil. Ele au
numai dou stri cvasistabile, iar trecerea de la o stare la alta se face fr comand din
exterior. Circuitul este de fapt un oscilator care genereaz semnal numeric.
Cvasistabilitatea nu se refer la nivelele logice ale semnalului generat, ele sunt 0 logic
sau 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 meninut la ieire un
interval de timp orict de mare. De aici rezult i denumirea circuitului.
Durata i frecvena impulsurilor generate de circuitul astabil depind de parametrii
acestuia, de obicei determinai de reele RC. Pentru o stabilitate ridicat a frecvenei se
utilizeaz cristale de cuar.
Circuitele astabile pot funciona i n regim de sincronizare declanat sau
comandat. n primul caz, la fiecare impuls de declanare astabilul pornete cu faz fix
a oscilaiilor. n al doilea caz, se genereaz impulsuri att timp ct la intrare exist un
semnal de comand activ pe unul dintre cele dou nivele logice.
Circuitele astabile se pot implementa cu componente discrete, cu pori logice sau
cu circuite integrate specializate. Nu vom discuta n acest capitol implementrile cu
tranzistoare, iar folosirea circuitelor integrate specializate va fi discutat n seciunea
urmtoare a acestui capitol.

46

3 CIRCUITE DE IMPULS

Vout
V2

V1

Vout

0V
V1

VT
0V

Fig. 3.1 Circuit astabil cu pori CMOS


O schem simpl de circuit astabil cu pori CMOS este prezentat n figura 3.1. Vom
neglija ntrzierea semnalelor prin pori i vom presupune c nivelul de tensiune la ieire se
schimb instantaneu cnd tensiunea de intrare atinge valoarea de prag VT.
Dac V1 atinge valoarea lui VT, inversoarele comut i ieirea Vout trece n 1 logic.
Acest salt de tensiune este transmis prin condensator i V1 devine VT + V+, unde V+ este
tensiunea de alimentare a circuitului. De fapt, tensiunea nu poate fi chiar att de mare,
pentru c intervine limitarea din reeaua de protecie a intrrii, dar deocamdat s neglijm
i acest lucru. Condensatorul ncepe s se descarce prin rezistena R, iar cnd tensiunea pe el
atinge din nou valoarea VT porile comut din nou. Se produce un nou salt de tensiune pe
intrarea V1, de la VT la VT - V+, cu aceeai observaie de mai sus. Condensatorul se ncarc
acum, iar cnd 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 o
periodicitate determinat de elemente pasive R, C i de pragul de tensiune VT. Pentru
VT = V+/2 factorul de umplere este , iar frecvena este dat de relaia: f =

1
. Cu
2,2 R C

acest circuit se pot genera impulsuri cu o frecven stabil de pn la 1MHz.


Pentru obinerea unor frecvene stabile n timp (ceasuri electronice, calculatoare etc.)
se folosesc astabile cu cristal de cuar. Din punct de vedere electric, cristalul ofer o
impedan cu proprieti de circuit rezonant cu factor de calitate foarte mare. n figura 3.2 se
prezint simbolul convenional pentru cristalul de cuar, circuitul electric echivalent i
variaia reactanei cu frecvena (dac se neglijeaz rezistena r).
Se constat existena unei rezonane serie la frecvena S = 1 , i a unei
LC

rezonane paralel la frecvena P =

1
C C0
L
C + C0

L
C0

X>0
(inductiv)
fp

fs
X<0
(capacitiv)

Fig. 3.2 Cristalul de cuar, circuitul echivalent i dependena reactanei de frecven

47

3.1 Consideraii teoretice


Rf
out

Q
CS

CT

CS

R
CT

Fig. 3.3 Reeaua de reacie i oscilator CMOS cu cuar


Oscilatoarele cu rezonan serie sunt proiectate s oscileze la frecvena de
rezonan serie. Cele cu rezonan paralel oscileaz la frecvene cuprinse ntre cele dou
frecvene de rezonan serie i paralel, n funcie de valoarea ncrcrii capacitive a
cuarului. Circuitele cu rezonan paralel au performane mai bune cnd lucreaz cu
amplificatoare cu impedan mare de intrare, deci ele sunt cele mai rspndite pentru
oscilatoarele cu cuar care utilizeaz amplificatoare CMOS.
Figura 3.3 ilustreaz configuraia adecvat pentru o reea de reacie a unui
oscilator cu rezonan paralel, reea care asigur un defazaj de 1800, iar schema practic
de oscilator mai conine un inversor CMOS pe post de amplificator care realizeaz un
defazaj de 1800, polarizat prin rezistena R f , pentru a ndeplini condiia
Vout = Vin = V+ / 2 . Valoarea acestei rezistene este suficient de mare pentru a preveni
ncrcarea reelei de reacie, dar mic n comparaie cu rezistena de intrare a
amplificatorului inversor.
Principalul dezavantaj al oscilatoarelor cu pori CMOS seria 4000 l constituie
frecvena redus a semnalelor generate. La frecvene ce depesc 4MHz stabilitatea
funcionrii circuitului pune mari probleme. Pentru frecvene de ordinul zecilor de MHz se
folosesc circuite cu pori TTL.
Figura 3.4 prezint schema complet a unui oscilator cu cuar i pori TTL. Abaterea
de frecven este de ordinul 10 6...10 7 i poate atinge valori de 10 8...10 9 dac cuarul este
introdus ntr-o incint termostatat ([Nicula, 1994]).
Q

R1
820

R2
C

820
out

7404

1n

7404

7404

Fig. 3.4 Oscilator cu cuar i pori TTL

48

3 CIRCUITE DE IMPULS

3.1.2 Circuite monostabile


Circuitele monostabile sunt circuite basculante cu o singur stare stabil i cu o
stare cvasistabil. Trecerea n starea cvasistabil se realizeaz sub aciunea unei
comenzi exterioare, iar revenirea se face dup un anumit timp, dependent numai de
parametrii circuitului i nu de semnalele externe de comand.
Durata strii cvasistabile este dat de circuitul extern de temporizare format
dintr-un grup RC. Stabilitatea acestei durate este una din cerinele principale impuse
unui monostabil.
Un circuit monostabil poate fi fcut s funcioneze i n regim de redeclanare
(retriggerable), cnd procesul cvasistaionar poate fi renceput chiar n timpul
desfurrii ciclului de temporizare.
Circuitele monostabile se pot implementa cu componente discrete, cu pori logice
sau cu circuite integrate specializate. Nu vom discuta n acest capitol implementrile cu
tranzistoare, iar folosirea circuitelor integrate specializate va fi discutat n seciunea
urmtoare a acestui capitol.
O schem simpl de circuit monostabil cu pori CMOS este prezentat n figura 3.5.
Pulsul de declanare aplicat pe intrarea porii SAU-NU va determina comutarea ieirii porii
din 1 n 0 logic. Condensatorul C, nencrcat, transmite impulsul spre poarta inversoare,
care comut i ea, iar Vout devine 1 logic. Ieirea Vout se aplic prin reacie celeilalte intrri
n poarta SAU-NU, care poate substitui impulsul iniiator (bucla s-a nchis). Durata minim
a impulsului de iniiere trebuie s fie egal cu suma timpilor de propagare prin cele dou
pori. Tensiunea pe condensator crete cu o constant de timp RC i atunci cnd atinge
valoarea de prag VT , inversorul comut , iar tensiunea la ieire revine la 0 logic.
Dac tensiunea de prag este cam jumtate din tensiunea de alimentare, atunci durata
temporizrii este de circa 0,69 R C , valoare ce rezult din rezolvarea ecuaiei de ncrcare
a unui condensator ntre dou limite de tensiune cunoscute.
Stabilitatea acestui circuit este destul de bun pentru c tensiunile de prag la
circuitele CMOS nu sunt influenate de temperatur. Dup cum indic i relaia de mai sus,
durata pulsului poate fi modificat prin reglarea valorilor rezistenei (R) i a condensatorului
(C). Este ns evident c o structur de circuit integrat specializat ofer performane
superioare n privina stabilitii duratei pulsului i a parametrilor formelor de und de la
ieire.
Vin
0V
V+
V1
R
0V
C
Vin
Vout V2
V2
V1
0V
Vout
0V

Fig. 3.5 Circuit monostabil cu pori CMOS

49

3.1 Consideraii teoretice

3.1.3 Circuite bistabile


Circuitele bistabile sunt circuite basculante care au dou stri stabile. Trecerea de
la o stare la alta se face cu ajutorul unor semnale de comand aplicate din exterior.
n general, bistabilele au dou ieiri complementare notate cu Q i Q. Ele pot
bascula asincron, imediat ce primesc comanda la intrare, sau sincron cu un impuls de
ceas care condiioneaz bascularea.
Un exemplu de bistabil asincron n sensul definiiei de mai sus este circuitul din
figura 3.6. Strile logice la ieiri sunt complementare i comut la fiecare acionare a
comutatorului cu 2 poziii de la intrare. Dac comutatorul nu mai este acionat, durata
fiecrei stri logice, 0 sau 1, este nelimitat, cu condiia ca circuitul s rmn alimentat
pe toat durata experimentului.
Q

Fig. 3.6 Latch pentru filtrarea impulsurilor parazite pe contacte


Circuitul se mai numete LATCH, sau element de memorare, i probabil c aplicaia
principal a acestui circuit este filtrarea impulsurilor parazite care apar la comutarea
contactelor mecanice.
Bistabilele cu ceas, sau bistabilele sincrone, sunt structuri mai complexe, uneori cu
mai multe etaje comandate de semnalul de ceas, semnal furnizat de cele mai multe ori de un
astabil. Modificarea strii la ieiri se face pe fronturile semnalului de ceas. Pentru ca
tranziiile efectuate de bistabile s fie corecte, pe intrrile lor se aplic semnale de
comand sintetizate pe baza tabelelor de tranziie corespunztoare tipurilor de bistabile
utilizate.
Figura 3.7 reprezint tabelele pentru bistabilul de tip D. Cele dou tabele sunt
perfect echivalente. Primul tabel se numete de obicei tabel de adevr, datorit
asemnrii cu un tabel de adevr pentru circuite combinaionale: intrrile sunt n
coloanele din stnga, iar ieirea Q+ este n dreapta. Aici avem o singur intrare de date,
notat cu D. Notaia Q indic starea actual a ieirii Q, iar Q+ indic valoarea viitoare a
ieirii Q, dup apariia frontului de ceas care comut bistabilul. Ieirea Q este ignorat,
ea fiind mereu complementul lui Q. Tabelul tranziiilor conine n stnga coloanele Q i
Q+, iar n dreapta valorile D ale intrrii care ar genera tranziia respectiv din Q n Q+.

D Q+
0 0
1 1
tabel de adevr

Q+ D

0
0
0
0
1 1
1
0
0
1
1 1
tabel de tranziie

Fig. 3.7 Tabele de tranziie pentru bistabilul de tip D

50

3 CIRCUITE DE IMPULS

J K Q+
0 0 Q
0 1 0
1 0 1
1 1 Q
tabel de adevr

Q+ J K
0
0
0 x
0
1
1 x
1
0
x 1
1
1
x 0
tabel de tranziie

Fig. 3.8 Tabele de tranziie pentru bistabilul de tip JK


Figura 3.8 reprezint tabelele pentru bistabilul de tip JK. De data aceasta exist
dou intrri separate de date, notate cu J i K, iar funcionarea acestui bistabil este mai
complex. El nu mai este un simplu element de memorie ca bistabilul de tip D, fiind
capabil de complementarea strii prezente, oricare ar fi ea, prin aplicarea lui 1 logic pe
cele dou intrri: Q+ = Q. Simbolul x are semnificaia cunoscut: dont care.
Aceste dou tipuri de bistabile sunt implementate n structurile integrate care
conin bistabile separate. Bistabilele de tip SR au fost mai puin utilizate datorit
restriciei impuse intrrilor, iar bistabilele de tip T sunt utilizate numai n circuite care
realizeaz funcia de numrare.

3.2 Demonstraii practice


Consideraiile asupra alimentrii panoului logic, formulate n primul capitol, rmn
valabile i aici. Pentru circuitele integrate specializate care sunt folosite n aceast aplicaie
avem din nou nevoie de foile de catalog.
Panoul logic conine pori logice, trei circuite integrate CMOS i un circuit integrat
TTL. Primul circuit integrat folosit n aplicaie este MMC 4047, un circuit cu funcie de
astabil sau monostabil, dup cum este conectat. Configuraia pinilor i tabelul de funcionare
sunt prezentate n figura 3.9.

Fig. 3.9 Configuraia pinilor i tabelul de funcionare pentru circuitul MMC 4047

3.2 Demonstraii practice

51

Fig. 3.10 Configura!ia pinilor "i rela!ia de calcul al frecven!ei pentru circuitul SN 74S124
Circuitul integrat SN 74S124 conine dou oscilatoare controlate n tensiune identice,
realizate n tehnologie Schottky TTL. O aplicaie frecvent a circuitului este realizarea unei
bucle cu calare de faz(PLL Phase Locked Loop), care permite implementarea
sintetizoarelor de frecven, a demodulatoarelor etc. Noi am folosit aici numai oscilatorul
comandat n tensiune(VCO Voltage Controlled Oscillator) pentru a verifica modul n care
se face controlul frecvenei astabilului comandat.
Cele dou circuite CMOS care conin bistabile integrate sunt frecvent utilizate de
proiectanii care lucreaz la acest nivel de integrare. Circuitul MMC 4013 conine 2
bistabile de tip D, iar circuitul MMC 4027 conine dou bistabile de tip JK. Informaia
esenial 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

52

3 CIRCUITE DE IMPULS

3.2.1 Se realizeaz circuitul din figura 3.1, folosind o rezisten de 10K i un


condensator de 1nF. Comparai formele de und cu cele din figur i justificai eventualele
diferene, dac acestea exist. Variai tensiunea de alimentare i observai dac se produc
modificri. Calculai frecvena de oscilaie cu formula dat la pagina 46 i msurai
frecvena real a oscilaiei. Care este eroarea i explicai care sunt cauzele acestei diferene.
Modificai valorile componentelor RC i vizualizai formele de und.

.

3.2.2 Se realizeaz circuitul din figura 3.4. Vizualizai i desenai formele de und la
intrrile i ieirile tuturor inversoarelor din circuit. Care este frecvena semnalului la ieire?
Comparai aceast valoare cu cea nscris pe capsula cristalului de cuar. Care este rolul
porii inversoare de la ieire? Este ea absolut necesar?

.

3.2.3 Se realizeaz circuitul din figura 3.5, folosind o rezisten de 10K i un


condensator de 1nF. Declanai circuitul cu un impuls de circa 1s i comparai formele de
und n noduri cu cele date n figur. Modificai tensiunea de alimentare n limitele permise
i observai dac se produc modificri. Calculai limea pulsului de ieire cu formula dat la
pagina 48 i msurai durata real a lui. Care este eroarea i explicai care sunt cauzele
acestei diferene. Modificai valorile componentelor RC i vizualizai formele de und. 
.

3.2.4 Se realizeaz un circuit astabil folosind circuitul integrat MMC 4047 i


informaiile din catalog, date n figura 3.9. Verificai funcionarea circuitului n toate
modurile de lucru. Msurai perioada oscilaiei i verificai formula dat n catalog
( TQ 4,4 R C ). Care este eroarea i explicai care sunt cauzele acestei diferene. Folosii i
alte componente RC de pe panoul logic. Pentru modul de lucru de astabil cu funcionare
continu (prima linie din tabel) se folosete schema din figura 3.13.

.

C
1

5
6

don't care

4
8

E A0
T1

E A1
T0

R-C

MMC 4047
I RT
12

MR

13

10

11

ieiri

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 i
informaiile din catalog, date n figura 3.9. Verificai funcionarea circuitului n toate
modurile de lucru. Msurai durata strii cvasistabile i verificai formula dat n catalog
( TQ 2,48 R C ). Se folosesc diverse rezistene i condensatoare de pe panoul logic. Pentru
modul de lucru de monostabil cu declanare pe front cresctor se folosete schema din
figura 3.14. Realizai o schem de monostabil retriggerabil i verificai funcionarea
circuitului. Pentru generarea fronturilor de comand se folosesc impulsuri de la generatorul
de semnal.

54

3 CIRCUITE DE IMPULS

3.3 Probleme rezolvate


3.3.1 Se d circuitul din figur realizat cu pori TTL standard.
a) S se explice funcionarea circuitului i s se deseneze formele de und n nodurile
1, 2, 3 i 4.
b) S se calculeze frecvena de oscilaie i s se explice de ce primul inversor din
schem trebuie s aib caracteristic de transfer cu histerezis (trigger Schmitt).
c) Exist limitri n alegerea valorilor componentelor RC?

R
C

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

55

3.3 Probleme rezolvate

Este evident c semnalul din nodul 2 este un semnal numeric. Celelalte sunt interpretate ca
semnale analogice. Funcionarea circuitului se bazeaz pe ncrcarea i descrcarea condensatorului
C prin rezistena 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 ncrcarea
condensatorului V(1) scade pn la atingerea pragului de 2V la care se produce comutarea: V(3) = 0
care produce o scdere instantanee a lui V(1) cu circa 2,4V, V(4) = 1 i se reia ncrcarea
condensatorului de la nodul 4 la nodul 3. Tensiunea V(1) ncepe s creasc, iar la atingerea pragului
de 0,8V se produce o nou comutare i ciclul se reia. Modelul PSpice pentru inversorul TTL
folosete cele 2 praguri de 0,8V i 2V pentru comutare. Palierele semnalelor V(3) i V(4) nu sunt
constante, datorit variaiilor de curent la ncrcarea i descrcarea condensatorului.
b) Condensatorul se ncarc prin rezistena R de la -0,4V la +0,8V i se descarc prin
rezistena R de la +3,2V la +2V. Pentru calculul timpului de ncrcare se particularizeaz relaia:
u( t ) = u( ) [u( ) u( 0) ] e

t
RC

pentru condiiile la limit: u( ) = 2,4V , u( t ) = 0,8V , u( 0) = 0,4V . Se obine:


u( ) u( t )
2,4V 0,8V
= 300 10nF ln
= 1,678s
u( ) u( 0)
2,4V ( 0,4V )
Pentru calculul timpului de descrcare, condiiile la limit sunt: u( t ) = 2V , u( 0) = 3,2V i
u( ) = 0V . Rezult :
u( ) u( t )
2V
t 2 = RC ln
= 300 10nF ln
= 1,410s
u( ) u( 0)
3,2V
t1 = RC ln

Perioada semnalului generat este T = t1 + t 2 = 1,678s + 1,410s 3,1s , care corespunde unei
1
frecvene f = = 322,5KHz . Perioada semnalelor obinute prin simulare PSPICE este T 3,5s ,
T
corespunztoare unei frecvene de 285,7 KHz.
Exist o variaie lent a semnalului V(1) care poate produce oscilaia inversorului conectat
ntre nodurile 1 i 2. Pentru tensiuni de intrare cuprinse ntre pragurile de 0,8V i 2V tranzistorii din
etajul final sunt n regiunea activ normal i apare o reacie pozitiv (crete curentul de colector al
lui T2, deci i potenialul bazei lui T3, scade tensiunea de ieire, crete curentul de colector al lui
T4, deci i cel de baz i curentul de colector al lui T2 va crete i mai mult).
c) Condensatorul poate avea orice valoare, dar trebuie s fie nepolarizat, ns valoarea
maxim a rezistenei nu trebuie s depeasc n principiu 300 , pentru c intervine curentul de
intrare n poart care afecteaz marginea de zgomot (vezi problema 1.3.1).
V
.

3.3.2 S se reprezinte formele de und n timp i s se calculeze durata strii


cvasistabile pentru monostabilul realizat cu pori TTL din figura 3.18.
In

Out

100n

Out

390

Fig. 3.18 Monostabil cu dou pori I-NU n tehnologie TTL standard

56

3 CIRCUITE DE IMPULS

Rezolvare:
Formele de und obinute prin simulare PSPICE sunt date n figura 3.19. Pentru a calcula
t

durata impulsului generat folosim relaia u( t ) = u( ) [u( ) u( 0) ] e RC , unde: u( t ) = 1,4V ,


u( ) u( t )
1,4V
u( 0) = 2,4V i u( ) = 0V . Rezult : TM = RC ln
= 390 100 nF ln

(
)
(
)
u u 0
2,4V
21s , 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. Desenai
formele de und n nodurile 1, 2 i 3 ale circuitului i calculai frecvena de oscilaie.

10n

R 100K
1

Out

Fig. 3.20 Astabil cu pori CMOS


Rezolvare:
Ca i la porile TTL, modelele PSPICE pentru porile CMOS folosesc dou praguri diferite
pentru comutare: 30% i 70% din valoarea tensiunii de alimentare. Din relaia cunoscut rezult
1
1
f
=
= 1,428 KHz .
0,7 RC 0,7 100 K 10nF

Fig. 3.21 Formele de und pentru circuitul din figura 3.20

57

3.3 Probleme rezolvate

3.3.4 S se reprezinte diagramele de timp pentru astabilul din figura 3.22. S se


calculeze frecvena i factorul de umplere pentru semnalul generat, dac:
a) se utilizeaz o poart I-NU cu dou intrri cu trigger Schmitt din
familia TTL standard. Se cunosc: VOH = 3,6V , VOL = 0,2V , I IL R = 0,2V , V p1 = 1,1V ,
V p 2 = 1,9V , R = 1K ;
b) se utilizeaz o poart I-NU cu trigger Schmitt din familia CMOS. Se
cunosc: VDD = 5V , V p1 = 2,3V , V p 2 = 3,3V , I IL = I IH = 0 , R = 10K .
R

OUT
10 nF

Fig. 3.22 Circuit astabil cu trigger Schmitt


Rezolvare:
Funcionarea circuitului este descris de formele de und din figura 3.23. Tensiunea pe
condensator la momentul de timp t este:
t
RC

, unde u() = VOH , u(0) = VP1 , iar u(t1 ) = VP 2


V V
Rezult de aici valoarea lui t1 : t1 = RC ln OH P1 .
VOH VP 2
u(t ) = u() [u() u(0)] e

Pentru calculul lui t 2 , mrimile devin: u() = VOL + I IL R , u(0) = VP 2 i u(t 2 ) = VP1
V V I R
Se obine valoarea lui t 2 : t 2 = RC ln P 2 OL IL .
VP1 VOL I IL R
a) Dac nlocuim acum numeric, cu valorile pentru TTL, obinem:
t1 = RC ln

t 2 = RC ln

VOH VP1
3,6 1,1
= 103 10 8 ln
3,9s ;
VOH VP 2
3,6 1,9

VP 2 VOL I IL R
1,9 0,2 0,2
= 103 108 ln
7,6s ,
VP1 VOL I IL R
1,1 0,2 0,2

deci f = 87 KHz, iar factorul de umplere este 0,34.


b) Similar, nlocuind valorile pentru CMOS, se obine t1 4,6s , t 2 3,6s , deci frecvena
de 122 KHz i un factor de umplere de 0,56.
VOUT
VOH
VOL
0
VC

VP2
VP1
0

t1

t2

Fig. 3.23 Circuit astabil cu trigger Schmitt

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;
Comparai cele dou soluii din punct de vedere al gradului de structurare.
Rezolvare:

a) Avem la dispoziie un bistabil de tip JK i dorim s realizm un circuit care s aib


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

CLC

CLK
K

CLK

Fig. 3.24 Structura bistabilului de tip D


Dac noul circuit este superior structurat, atunci reacia care aduce la intrarea n CLC
informaia asupra strii prezente a sistemului este necesar. n caz contrar aceast legtur va
dispare n procesul de minimizare a funciilor J i K.
Q+
0
0
1
1

Q
0
1
0
1

D
0
0
1
1

J
0
x
1
x

D D
Q 0 1

K
x
1
x
0

Q x

D D
Q x x

Q 1

J=D

K=D

Fig. 3.25 Sinteza bistabilului de tip D


b) Avem la dispoziie un bistabil de tip D i dorim s realizm un circuit care s aib
comportarea unui bistabil de tip JK.
Q

CLK Q

CLC

K
CLK
J
0
0
0
0
1
1
1
1

K
0
0
1
1
0
0
1
1

Q
0
1
0
1
0
1
0
1

Q+
0
1
0
0
1
1
1
0

D
0
1
0
0
1
1
1
0

J
1
1
0
0 0 1
K K
K

Q 0
Q 1

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 (conine o reacie n plus). 

SISTEME SECVENIALE

Aplicaiile din acest capitol i propun s prezinte circuite secveniale sincrone i


asincrone cu un nivel de structurare superior fa de cel al circuitelor prezentate n capitolul
anterior. Pentru sinteza i analiza acestor circuite exist algoritmi, n timp ce un circuit de
impuls este folosit atunci cnd este cazul, prin simpla introducere a lui n sistem.

4.1 Consideraii teoretice


4.1.1 Sisteme secveniale asincrone
Circuitele prezentate n capitolul anterior erau circuite secveniale, adic circuite
cu pori, care conineau bucle de reacie, conexiuni de la ieirile sistemului la intrri.
Funcionarea acestor circuite nu poate fi explicat dect dac inem seama de timpii de
propagare prin pori, condiie ignorat de obicei la sistemele combinaionale. Modelul
logic asincron, care este folosit pentru analiza i sinteza acestor sisteme, echivaleaz
poarta logic real cu o poart logic ideal(realizeaz aceeai funcie logic, dar timpul
de propagare este nul) i un element de ntrziere, aa cum se poate vedea n figura 4.1.
Funcionarea latch-ului cu inversoare, prezentat n capitolul anterior, este uor
explicat folosind modelul logic asincron. Bistabilele de tip D sau JK au n componen
structuri de pori cu numeroase bucle interne, deci blocuri asincrone, dei pe ansamblu,
ele au fost astfel construite nct momentul de timp la care se modific ieirile s fie
.

poarta real

poarta ideal + element de ntrziere


Fig. 4.1 Modelul logic asincron

60

4 SISTEME SECVENIALE

un front al semnalului de ceas. Dac ns bistabilele componente ale unui sistem secvenial
complex nu primesc acelai semnal de ceas, deci nu comut simultan, atunci spunem c
sistemul secvenial este asincron.
Un astfel de sistem asincron este numrtorul asincron, sau divizorul de frecven.
Bistabilele din numrtoarele asincrone funcioneaz ntr-un singur fel, i anume, ca
divizoare de frecven prin 2. Prin urmare, bistabilele din structur, fie c sunt de tip D
sau de tip JK, sunt transformate n bistabile de tip T, avnd intrarea de date T conectat
la 1 logic. Schimbndu-i starea pe fiecare front activ al ceasului, ele divizeaz prin 2
frecvena semnalului aplicat pe intrarea de ceas.
Figura 4.2 reprezint schema unui divizor de frecven de 4 bii realizat cu bistabile
T. Dac acceptm c bistabilele comut pe frontul descresctor al ceasului, atunci se obin
formele de und prezentate n figura 4.3. La scara de timp la care s-a fcut simularea
funcionrii nu se observ nimic deosebit i diagrama strilor pare a fi cea ideal. Dac
privim ns printr-o lup de timp poriunea selectat, vom obine formele de und din
figura 4.4. Frontul descresctor al semnalului CLK produce comutarea primului bistabil , iar
ieirea lui, notat cu Q1 , se modific cu o mic ntrziere, dat de timpul de propagare a
informaiei prin porile din structura bistabilului. Semnalul Q1 este ceasul pentru bistabilul
2, iar semnalul Q2 se modific i el cu o mic ntrziere fa de Q1 , i aa mai departe. Deci
pe lng cele 16 stri permanente, exist un numr de stri tranzitorii.
1
T

T
CLK

T
CLK

T
CLK

CLK

Q8

Q4

Q2

Q1

Fig. 4.2 Divizor de frecven de 4 bii

Fig. 4.3 Forme de und pentru divizorul de frecven de 4 bii

Fig. 4.4 Forme de und vzute printr-o lup de timp

CLK

61

4.1 Consideraii teoretice

Avnd n vedere funcionarea lor, analiza i sinteza numrtoarelor asincrone nu


ridic probleme deosebite. n schimb, analiza i sinteza sistemelor asincrone cu pori logice
este dificil, pentru c timpul nu este discretizat ca la sistemele sincrone. Starea urmtoare
nu apare dup o perioad de ceas, ci poate apare dup un multiplu de , fiind timpul de
propagare prin poart.
Circuitul din figura 4.5, de exemplu, poate fi analizat prin stabilirea numrului minim
de bucle. Considernd porile ideale i singurele ntrzieri fiind introduse de cele 3 bucle ale
latch-urilor S R , tabelul tranziiilor este cel alturat circuitului din figur. Tabelul
conine curse(starea urmtoare difer prin cel puin 2 bii fa de starea prezent), dar
ele nu sunt critice(cursa critic apare dac exist posibilitatea ca strile urmtoare s fie
diferite, adic s avem o funcionare imprevizibil). Tabelul tranziiilor poate fi redus
prin eliminarea strilor care nu sunt total stabile (nencercuite).
q + q +q +

CLK D

q 1+

00

01

11

10

000
001
010
011
100
101
110
111

010
011
010
011
010
011
010
011

010
011
110
111
010
011
110
111

000
000
110
111
111
111
111
111

000
000
000
000
111
111
111
111

q1
q 3+
q3

CLK

1 2 3

q1 q2 q3
Q
Q

q+
2

q2

Fig. 4.5 Structura unui bistabil de tip D i tabelul tranziiilor


Pentru sinteza unui sistem secvenial asincron, codificarea strilor din tabelul redus
este important. Pentru eliminarea curselor critice, putem fi obligai s introducem stri
suplimentare. Exemplul din figurile 4.6 i 4.7 elimin complet cursele prin codificarea
adiacent a strilor ntre care au loc tranziii.
P R
q

00

IDLE

IDLE

q+
11
01
IDLE

RES

P R
q

00

q+
11
01
RES

10

IDLE

IDLE

IDLE

PLS

PLS

PLS

IDLE RESA

_
IDLE

PLS

PLS

IDLE

RES

PLS

RESA

RES

IDLE

IDLE

RES

RES

RES

IDLE

10

PLS

PLS

RES

RES

RES

Fig. 4.6 Tabelul redus i tabelul fr curse


P
R

00 IDLE

RES 10

PLS

RESA 11

01

Fig. 4.7 Schema logic a circuitului i diagrama de adiacen a strilor

62

4 SISTEME SECVENIALE

4.1.2 Sisteme secveniale sincrone


Analiza i sinteza sistemelor sincrone este mult mai comod pentru proiectant,
pentru c putem ignora ntrzierile logicii combinaionale, cu condiia ca duratele
strilor, date de frecvena ceasului, s fie semnificativ mai mari dect ntrzierile prin
pori. Timpul se transform astfel dintr-o mrime continu ntr-una discret, perfect
controlabil prin semnalul de ceas aplicat sistemului.
Sistemele secveniale sincrone, ca i cele asincrone de altfel, pot fi uor tratate folosind
teoria automatelor cu stri finite. Un automat cu stri finite se definete formal prin cvintuplul
A = ( X , Y , Q, , ) , unde entitile componente au urmtoarea semnificaie:

X = {x1 , x2 ,..., xn } - mulimea configuraiilor binare de intrare,


Y = { y1 , y2 ,..., yr } - mulimea configuraiilor binare de ieire,

Q = q1 , q 2 ,..., q p

} - mulimea configuraiilor binare de stare,

: X Q Q - funcia de tranziie a strilor,


: X Q Y - funcia de tranziie a ieirilor.
Datorit faptului c mulimile X , Y i Q sunt finite, circuitul se numete automat cu
stri finite. Spaiul timpului nu apare explicit n descrierea de mai sus. El este discret i este
format din mulimea numerelor ntregi care semnific multiplul de T , unde T este perioada
dup care se comand o nou modificare n circuit. Funciile de tranziie se pot defini i
reprezenta prin tabele de tranziii, grafuri, sau organigrame. Schema din figura 4.8
reprezint un automat finit ale crui ieiri apar cu ntrziere deoarece sunt trecute prin
memorie. Ele pot fi obinute i imediat, de la ieirea CLC-ului.
X
Q

CLC

CLK

MEMORIE
Y

Fig. 4.8 Structura general a unui automat finit


Fr a fi absolut necesar, aceast separare n dou blocuri funcionale, logica
combinaional 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 un
numr suficient de bistabile, n funcie de codificarea adoptat pentru strile sistemului, iar
blocul de prelucrare este format dintr-o logic combinaional mai complex i mai greu de
definit. Efortul de proiectare este orientat spre sinteza circuitului combinaional.
Problema fundamental care se pune la sinteza automatelor finite este o problem de
optimizare. Proiectantul nu poate aciona asupra numrului de intrri i ieiri din sistem,
deoarece ele sunt date prin specificaiile de proiectare, dar are deplina libertate de a aciona
asupra mulimii strilor sistemului. Prin reducerea numrului de stri scade numrul
.

63

4.1 Consideraii teoretice


0

Q 1Q 2

00

Q
y1 y2

YY
Y1=1
Y1
11 ===111
YY2
Y2=0
2 ==00

0
01

C
0

01

00

CLK
X

Y1 = 0
Y2 = 1

Y1 = 0
Y2 = 0

10

11

Q1

Q2
Y1
Y2

Fig. 4.9 Exemplu de automat finit i cteva moduri de reprezentare


elementelor de memorie, deci a bistabilelor din structur, i se reduce numrul funciilor de
excitaie, cu alte cuvinte complexitatea circuitului combinaional.
Poate c cea mai important chestiune este codificarea strilor rmase dup reducere.
Dac variabilele de intrare sunt sincrone, adic se modific n funcie de semnalul de ceas,
atunci o codificare care respect anumite principii poate genera un circuit combinaional
foarte apropiat de optim, n timp ce o codificare ntmpltoare poate genera un circuit mult
prea complicat. Dar n orice situaie, circuitul obinut va funciona corect. Dac ns
variabilele de intrare sunt asincrone, adic se pot modifica oricnd n timp, apare din nou
problema ntlnit la cursele critice, iar rezolvarea ei se face prin alocarea unor coduri
adiacente strilor care urmeaz testrii variabilei asincrone (principiul dependenei reduse
de o variabil). La nevoie, se pot introduce i aici stri suplimentare.
Sistemul din figura 4.9 are o singur intrare notat cu x, s presupunem deocamdat
c este sincron, dou ieiri notate cu y1 i y 2 , i un numr de trei stri notate cu A, B i C.
O codificare binar minimal a strilor se poate face folosind numai 2 bii, adic dou
circuite bistabile, avnd ieirile Q1 i Q2 .

4.1.2 Hazard
Prin hazard sau risc, nelegem posibilitatea de modificare neateptat a ieirii,
pentru o durat foarte mic de timp, datorit ntrzierilor prin pori. El poate fi static,
dac are loc o singur comutare a ieirii la modificarea unei variabile, sau dinamic, dac
apar comutri multiple datorit unei singure tranziii a unei intrri. Structurile
combinaionale cu dou nivele de logic, care pot fi implementate ntr-o structur
programabil PLD, nu genereaz hazard dinamic.
n sistemele secveniale sincrone nu se pune de obicei problema analizei hazardului,
pentru c frontul activ al ceasului se aplic dup ce logica combinaional a livrat valorile
logice ateptate ale funciilor de excitaie. n sistemele asincrone ns, aceast analiz a
hazardului i gsirea unor modaliti de eliminare a lui, este absolut necesar.

64

4 SISTEME SECVENIALE

4.2 Demonstraii practice


Consideraiile asupra alimentrii panoului logic, formulate n primul capitol, rmn
valabile i aici. Panoul logic conine circuitele integrate MMC 4013 i MMC 4027, studiate
n capitolul anterior. Pentru implementarea automatului finit prezentat mai sus, se folosete
un panou care conine, conform figurii 4.14, 4 circuite integrate CMOS: MMC 4013,
MMC 4052(2 buc.) i MMC 4011. Circuitul MMC 4052 conine cte 2 multiplexoare, dar
foaia lui de catalog nu a mai fost dat, deoarece conexiunile conform schemei din figur
sunt deja realizate. Porile I-NU ale circuitului MMC 4011 sunt folosite pentru generarea
semnalului de CLK, prin apsarea butonului cu revenire de pe panou. Biii de stare i de
ieire sunt vizualizai prin intermediul a 4 LED-uri. Starea 1 logic este semnalizat prin
aprinderea LED-ului corespunztor, iar cea de 0 logic prin stingerea lui. Montajul se poate
alimenta cu orice tensiune continu, cuprins ntre 5 i 15 Vcc.
Un alt panou logic, destinat implementrii aceluiai automat cu bistabile de tip D
i memorie, este implementat dup schema din figura 4.16. Panoul conine dou circuite
de memorie: 82S147, care este o memorie PROM i MMN 2114, o memorie RAM
static. Placa mai conine circuitele MMC 4013, MMC 4011 i MMC 4066, ultimul
avnd n structur 4 comutatoare CMOS necesare pentru nscrierea, respectiv citirea
datelor din memoria RAM. Vizualizarea strii i a ieirii se face tot cu ajutorul a 4
LED-uri. Despre memorii vom discuta n capitolul urmtor, dar circuitul este deja cablat
i utilizarea lui aici se poate face fr a avea prea multe cunotine despre memorii.
Montajul se alimenteaz cu tensiunea de 5 Vcc, datorit prezenei circuitelor de
memorie. De fapt, tensiunea sursei este de circa 5,6 - 5,7 V din cauza diodei serie de
protecie la alimentare invers. Din acest motiv se msoar cu voltmetrul tensiunea
de 5 Vcc ntre catodul diodei de protecie i mas.
4.2.1 Se implementeaz numrtorul asincron din figura 4.1, folosind bistabile de
tip D. Rezult circuitul din figura 4.10. Se verific funcionarea montajului. Se pot
vizualiza strile tranzitorii? Modificai circuitul pentru a obine un numrtor asincron
cu 16 stri care s numere n sens descresctor. Repetai implementrile folosind
bistabile de tip JK i verificai funcionarea corect a circuitelor.
Q

CLK

CLK

Q2

CLK

Q3

Q4

CLK

Q1

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

65

4.2 Demonstraii practice

4.2.2 Se realizeaz numrtorul sincron din figura 4.12, care realizeaz tranziiile
Q1Q2 = 00 10 11 01 00 . Sinteza circutului se face cu ajutorul tabelului
tranziiilor din figur. Folosind tabelul tranziiilor pentru bistabilul de tip JK se deduc
funciile de excitaie pentru fiecare dintre cele dou bistabile. De ce spunem c este un
numrtor sincron? Refacei circuitul pentru a modifica sensul de numrare i verificai
funcionarea lui. Putei construi acelai numrtor, dar folosind bistabile de tip D? Care
dintre cele dou soluii este mai avantajoas i de ce?

Q1
0
1
1
0

Q2 Q1
0
1
0
1
1
0
1
0

Q2

J1
1
x
x
0

0
1
1
0
J

CLK

K1 J2
x 0
0 1
1 x
x x
Q

CLK
K

Q1

K2
x
x
0
1
J

J1 = Q 2

K1 = Q 2

J2 = Q 1

K2 = Q1

Q2

CLK
Q

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 folosete panoul logic cu bistabile D i multiplexoare pentru


implementarea automatului finit reprezentat n figura 4.9. Schema logic a circuitului
este dat n figura 4.14. Se verific funcionarea corect a montajului prin urmrirea tuturor
tranziiilor posibile din organigram sau tabel. Figura 4.15 reprezint tabelul tranziiilor,
tabel ce a fost construit pe baza tranziiilor din organigram i care este foarte util pentru
sinteza schemei logice a circuitului.
Simbolul d poate fi 0 sau 1 logic(don' t care). S-a folosit aceast notaie pentru a evita
confuzia cu semnalul de intrare, notat aici cu X. Implementarea memoriei se face cu doi
bistabili de tip D care comut sincron. Circuitul logic combinaional are intrrile X, Q 1 i
Q 2 i trebuie s genereze la ieire funciile binare Q 1+ = D 1 i Q +2 = D 2 . Nu este necesar
minimizarea funciilor binare D 1 i D 2 pentru c toi termenii canonici sunt disponibili la
ieirile multiplexoarelor. Reacia de la ieirea memoriei la intrarea n CLC se realizeaz prin
conectarea ieirilor Q 1 i Q 2 la intrrile de selecie ale multiplexoarelor. Conexiunile la
intrrile multiplexoarelor se realizeaz n funcie de alegerea conexiunilor de reacie.

66

4 SISTEME SECVENIALE
Q1
X

1 MUX

3 1
2

CLK

MUX
CLK

3 1
2

0 2

MUX
w

Y1

Y2
w

MUX

Q2
CLK

Fig. 4.14 Schema logic! a automatului implementat cu multiplexoare


X

Q1

Q2

0
1
d
0
1

0
0
0
1
1

0
0
1
1
1

+
Q 1+ Q 2
0
1
1
1
0
0
0
1
1
1

Y1

Y2

1
1
0
0
0

0
0
0
1
1

Fig. 4.15 Tabelul tranzi"iilor


Dac privim tabelul tranziiilor observm c pentru starea prezent A, codificat prin
Q 1 Q 2 = 00 , starea urmtoare este fie B(codul Q 1Q 2 = 11 ), fie C(codul Q 1Q 2 = 01 ). Decizia

este luat n funcie de valoarea logic a variabilei de intrare X. Se vede c pentru strile B
i C valoarea lui Q 2 este o constant, Q 2 = 1 , iar valoarea lui Q 1 este dependent de
valoarea lui X : pentru X = 0 , Q 1 = 0 , iar pentru X = 1 , Q 1 = 1 . Deci putem spune c Q 1 = X .
Celelalte dou multiplexoare au prima intrare(notat cu 0) conectat la valorile logice ale
ieirilor n starea prezent A, adic Y1 = 1 i Y2 = 0 . Acelai raionament se face i pentru
celelalte stri.
V
.

4.2.4 Se folosete panoul logic cu bistabile D i memorii. Cele dou circuite


integrate, memoria PROM 82S147 i memoria RAM MMN 2114, sunt destinate
implementrii logicii combinaionale a automatului finit. Blocul de memorie din figura 4.8
este un registru destinat memorrii strii curente i este realizat, ca i pn acum, cu cele
dou bistabile de tip D. Memoria de tip ROM este un circuit combinaional, care furnizeaz
la ieiri informaia coninut n harta memoriei (tabelul din figura 4.17), n timp ce memoria
RAM este un emulator de ROM, adic un circuit care simuleaz prezena unei memorii
ROM n circuit. Memoria RAM nu conine o informaie util la cuplarea alimentrii i de
aceea n primul rnd trebuie s nscriem datele din tabel n memorie (vezi subcapitolul 5.1).

67

4.2 Demonstraii practice


A9
A8
A7
A6
A5
A4
A3
X

O1

PROM

A2

Q1

CLK

O2
O3

Y1

Q2

CLK

A1
O4

A0

Y2
CLK

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


A2
X

A1
Q1

A0
Q2

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

O1 O2
+
Q 1+ Q 2
0
1
0
0
d
d
0
1
1
1
0
0
d
d
1
1

O3
Y1

O4
Y2

1
0
d
0
1
0
d
0

0
0
d
1
0
0
d
1

Fig. 4.17 Harta memoriei pentru schema logic! din figura 4.#6
Circuitul 82S147 este realizat n tehnologie Schottky TTL i conine 512 cuvinte de
cte 8 bii. Memoria RAM MMN 2114 este realizat n tehnologie NMOS i conine 1024
cuvinte de cte 4 bii. Memoria PROM din figura 4.16 este un circuit generic de 1024
cuvinte (10 linii de adresare A 9 ...A 0 , care sunt intrri) de cte 4 bii (4 linii de date O 4 ...O1 ,
care sunt ieiri). Automatul conceput folosete numai 6 dintre cele 1024 cuvinte, conform
tabelului de tranziii din figur.
Verificarea funcionrii circuitului cu memorie PROM se face imediat, prin simpla
verificare a tranziiilor din tabel. Comentai 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 cuplarea
alimentrii (A2 = A1 = A0 = 0), comutatorul S2 are prghia nspre comutatoarele S1 i S3(n
jos), 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 bii pe cuvnt n
memorie. Dac prghia este n jos, bitul corespunztor este pe 0 logic, iar dac este n sus,
pe 1 logic. Dup fixarea cuvntului dorit prin poziionarea celor 4 comutatoare, acesta este
introdus n memorie prin ridicarea i coborrea napoi a prghiei comutatorului S2
(activarea i dezactivarea semnalului WE - WRITE ENABLE ). Pe urm se modific adresa
pentru introducerea unui nou cuvnt prin acionarea n cele dou sensuri a comutatorului S3
(pentru a genera cele 2 fronturi ale semnalului de ceas CLK - CLOCK ). Pentru introducerea
datelor n memorie urmrim harta memoriei din figura 4.17. Dac n locul comutatoarelor
S2 i S3 exist butoane cu revenire, atunci ele sunt acionate o singur dat.
.

69

4.3 Probleme rezolvate

4.2.6 Ce nseamn codificare care urmrete principiul dependenei reduse fa de o


variabil? n cazul nostru variabila X poate fi asincron? Alegei o alt codificare a strilor
i artai sub form tabelar harta memoriei precum i operaiunile necesare pentru
nscrierea datelor n memorie. Verificai funcionarea circuitului obinut.

.

4.3 Probleme rezolvate


4.3.1 S se analizeze circuitul din figura 4.19 i s se reprezinte formele de und i
diagrama strilor. S se stabileasc numrul de stri netranzitorii P i raportul de divizare N.

Q1

CLK

CLK

Q 2 = out

CLK
Q

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, innd seam de
ntrzierile prin pori i bistabile. Figura 4.20 prezint analiza PSpice a circuitului. Strile
tranzitorii se datoreaz timpilor de propagare prin bistabile. Diagrama strilor pentru
circuitul analizat este: Q1Q2 = 00 10 11 01 11 10 00 , unde strile tranzitorii sunt
subliniate. Rezult imediat P = 4 i N = 3 .
V
.

4.3.2 S se proiecteze un circuit basculant cu 3 bucle, unde reprezint ntrzierea


proprie circuitelor logice i traseelor de conexiune. n repaus, intrrile I 1 , I 2 i I 3 sunt n 0
logic. Atunci cnd intrarea I i trece n 1 logic, ieirea y i trece n 1 logic dac era n 0 logic,
.

I1
I2
I3

CLC

Fig. 4.21 Un circuit secvenial asincron

y1
y2
y3

70

4 SISTEME SECVENIALE

sau i pstreaz starea dac era n 1 logic. La revenirea intrrii I i n 0 logic, ieirile y i i
pstreaz vechea valoare. Admitem c se modific o singur intrare, iar comenzile se exclud
reciproc, adic I 1 I 2 = I 1 I 3 = I 2 I 3 = I 1 I 2 I 3 = 0 .
Rezolvare:
n conformitate cu cerinele problemei, formele de und ar putea fi cele din figura 4.22.
Dup evidenierea strilor distincte ale sistemului se construiete tabelul tranziiilor i al ieirilor din
figura 4.23, valorile din tabel fiind starea urmtoare i ieirile Q + y1 y2 y3 :

I1
I2
I3
y1
y2
y3
0

0 2

5 4 5

Fig. 4.22 Strile sistemului deduse din formele de und


Q +, y1 y2 y3
I1I2 I3

000

001

010

011

100

101

110

111

0
1
2
3
4

0,100
0,100
3,010
3,010
5,001

4,001
4,001
4,001
4,001
4,001

2,010
2,010
2,010
2,010
2,010

1,100
1,100
1,100
1,100
1,100

5,001 4,001 2,010

1,100

Fig. 4.23 Tabelul tranziiilor i al ieirilor


Cele 6 stri ale sistemului sunt compatibile dou cte dou, deci avem n final 3 stri
distincte. Pentru prevenirea hazardului i a curselor critice, dou stri succesive trebuie s aib
coduri adiacente(care difer printr-un singur bit). Cum ntre fiecare dintre cele 3 stri exist tranziii
bilaterale, o codificare binar minimal cu 2 bii nu este posibil. Folosim pentru fiecare stare un
cod de 3 bii, astfel nct s existe o coresponden direct ntre variabilele de stare Q1 , Q2 i Q3 i
ieirile sistemului y1 , y2 i respectiv y3 : Qi = yi , unde i = 1, 2 i 3. Atribuim deci, conform
formelor de und stabilite n figura 4.22, strilor 0 i 1 codul 100, strilor 2 i 3 codul 010, iar
strilor 4 i 5 codul 001. Pentru a respecta i condiiile de adiacen, mai introducem starea 000,
care este atins la fiecare tranziie pentru foarte scurt timp(stare tranzitorie).
Tabelul tranziiilor strilor sau al ieirilor este reprezentat n figura 4.24. Folosind diagrame
Veitch-Karnaugh pentru 6 variabile, se minimizeaz funciile Qi+ , i = 1, 2 i 3, iar cu ajutorul
ecuaiilor obinute se construiete schema logic a circuitului, care este prezentat n figura 4.25.
Aici ntrzierile ntre stri nu sunt date de un ceas extern, ci numai de timpii de propagare prin pori.

71

4.3 Probleme rezolvate


I1I2 I3
Q 1Q 2Q 3
000
001
010
011
100
101
110
111
Q3
I2
I2

d
0
d
0
I1

+ + +
Q 1Q 2Q 3
000

001

010

011

100

101

110

111

001
010
100
-

001
001
000
000
-

010
000
010
000
-

100
000
000
100
-

Q3

1 0 0 I3
d d 0
I3
d d d
d d 0 I3
I1 I1

Q 1 Q 2 = 00

0 0 d
0 d d
d d d
0 d d

d
d
d
d

d
d
d
d

Q 1 Q 2 = 01

d
d
d
d

d
d
d
d

d
d
d
d

1 1 d d
0 d d d
d d d d
0 d d d

Q 1 Q 2 = 11

Q 1 Q 2 = 10

Fig. 4.24 Tabelul tranziiilor i diagramele Karnaugh pentru funcia Q1+


Dac grupm zerourile din diagrama prezentat n figura de mai sus, obinem expresia lui
Q : Q1+ = I 2 + I 3 + Q2 + Q3 , sau Q1+ = I 2 + I 3 + Q2 + Q3 . n mod asemntor rezult i celelalte
+
1

ecuaii: Q2+ = I 1 + I 3 + Q1 + Q3 i Q3+ = I 1 + I 2 + Q1 + Q2 .


Q 1 = y1
I1
I2

Q 2 = y2

I3

Q 3 = y3
Fig. 4.25 Schema logic a circuitului

Fig. 4.26 Formele de und obinute prin simulare PSPICE

72

4 SISTEME SECVENIALE

Figura 4.26 verific corectitudinea sintezei prin analiz, folosind o simulare PSPICE.
Formele de und coincid cu cele din figura 4.22, cu excepia strii iniiale, n care toate intrrile sunt
la 0 logic. Ieirile circuitului au o valoare logic necunoscut, pentru c circuitul nu a fost iniializat.
n circuitele reale exist cu siguran la ieiri una dintre cele dou valori logice posibile, 0 sau 1.
Aceeai problem apare i la sistemele secveniale sincrone cu bistabile integrate.


4.3.3 S se analizeze sistemul secvenial din figura 4.27, reprezentnd cronograma,


tabelul tranziiilor i diagrama strilor acestuia. Artai c circuitul este un oscilator i
stabilii perioada de oscilaie.

Q1

Q2

Q3

Fig. 4.27 Schema logic a circuitului


Rezolvare:
Dac inem seama de ntrzierile prin pori, rezult formele de und din figura 4.28.
Semnalele la ieirile porilor sunt periodice, cu perioada T = 2 (1 + 2 + 3 ) . Tabelul tranziiilor
i diagrama strilor sunt prezentate n figura 4.29.

Q1
Q2
Q3
1 2 3 1 2 3

Fig. 4.28 Cronograma circuitului din figura 4.27

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

+
Q +1 Q 2 Q +
3
011
110
010
101
001
100
-

Q1Q2Q3

001

001

001

001

001

Fig. 4.29 Tabelul tranziiilor i diagrama strilor

001

4.3.4 S se proiecteze un bistabil D cu basculare dubl pe front, respectiv care


basculeaz pe ambele fronturi ale semnalului de ceas.

73

4.3 Probleme rezolvate


Rezolvare:

Circuitul cutat este un sistem secvenial asincron, implementat cu pori, care trebuie s
basculeze ca un bistabil D la aplicarea unui front cresctor, sau descresctor, pe intrarea de ceas.
Notm cu C intrarea de ceas i cu D intrarea de date, iar cu Q ieirea. Ca orice bistabil, trebuie s
aib i o ieire Q, dar deocamdat ea nu ne preocup, pentru c o putem obine cu un simplu
inversor de la ieirea Q. Formele de und care descriu funcionarea circuitului sunt date n figur.

D
C
Q
1 2

3 4

5 6

8 7 9 5

Fig. 4.30 Formele de und i strile sistemului

D C

Q
1
2
3
4

00
1,0
-

Q +, y
01
11
-

10

1,0

5,0
4,1
4,1

3,1
3,1
-

2,0
2,0
-

1,0

5,0

6,0

6,0

7,1

7
8

8,1
8,1

7,1
7,1

9,1

5,0

Fig. 4.31 Tabelul tranziiilor i al ieirii


Tabelul tranziiilor din figura 4.31 sugereaz c sistemul are 4 stri distincte. Respectnd
condiia ca dou stri ntre care au loc tranziii s aib coduri adiacente, alegem urmtoarele coduri
binare: strile compatibile 1 i 2 primesc codul 00, strile compatibile 3 i 4, codul 10, strile
compatibile 5 i 6, codul 01, iar strile compatibile 7, 8 i 9 primesc codul rmas 11. Evident c
sunt posibile i alte codificri binare.
Cu aceste coduri, rezult tabelul redus al tranziiilor din figura 4.32. Se descompune n 3
diagrame Veitch-Karnaugh i se deduc expresiile minime pentru funciile Q1+ , Q2+ i Q3+ .
+
Q+
1 Q2 , y

DC
Q1 Q2

00

01

11

10

00

00,0

01,0

10,1

00,0

01

00,0

01,0

01,0

11,1

11

11,1

01,0

11,1

11,1

10

00,0

10,1

10,1

Fig. 4.32 Tabelul redus al tranziiilor i codificarea strilor

74

4 SISTEME SECVENIALE

Rezult urmtoarele ecuaii:


Q1+ = D Q1 + C Q1 Q2 + C D Q2 + C Q1 Q2 + C D Q2
Q2+ = D Q2 + Q1 Q2 + C D Q1
y = Q1+
Dac implementm acum sistemul folosind numai dou nivele de logic (pori I i pori
SAU), obinem un circuit care conine 14 pori logice, iar analiza circuitului prin simulare PSpice
genereaz formele de und din figura 4.33. Verificai dac circuitul funcioneaz corect i comentai
apariia spike-ului la momentul de 13s pe traseul lui Q2 .
Ce se ntmpl dac dorim s folosim un circuit cu numr mai mic de pori? Ecuaiile de mai
sus se pot transforma aa cum se vede mai jos i rezult un circuit care conine numai 10 pori
logice. Verificai prin simulare PSPICE funcionarea circuitului i comentai rezultatele obinute.
Q1+ = D Q1 + (C Q2 ) (D + Q1 )
Q2+ = (D + Q1 ) Q2 + C D Q1
y = Q1+

Fig. 4.33 Formele de und obinute prin simulare PSPICE

4.3.5 S se proiecteze un sistem numeric care s asigure funcionarea automat a


barierelor la o trecere la nivel peste calea ferat. Sistemul are 2 intrri, notate cu x1 i x 2 ,
date de strile unor contacte amplasate de o parte i de alta a oselei. Ieirea y comand
nchiderea barierelor.
Rezolvare:
Avem de proiectat un sistem sincron cu comportament asincron, datorit intrrilor, care se
pot modifica n orice moment de timp. Frecvena semnalului de ceas CLOCK, este mult mai mare
dect rata de modificare a intrrilor. Presupunem c atunci cnd contactele sunt nchise(trece trenul)
avem 1 logic pe intrri, iar comanda de nchidere a barierelor se d pentru 1 logic la ieire. Strile
sistemului 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 stri distincte, numerotate de la 0 la 8

75

4.3 Probleme rezolvate

Q +, y
Q
0
1
2
3
4
5
6
7
8

x1x2

00

01

0,0
2,1
2,1
0,0
5,1
5,1
0,0
-

4,1
3,1
3,1
4,1
3,1
-

Q +, y
11
7,1
8,1
7,1
8,1

Codificarea binar a strilor: 0

10
1,1
1,1
6,1
6,1
6,1

x1x2
Q
0
1= 2 = 7
3=6
4 = 5= 8

00 , 1 = 2 = 7

00

01

0,0
2,1
0,0
5,1

4,1
3,1
3,1
4,1

01, 3 = 6

11
7,1
8,1

11, 4 = 5 = 8

10
1,1
1,1
6,1
6,1

10

Fig. 4.35 Tabelul tranziiilor. Reducerea i codificarea strilor


Dup reducerea strilor rmn 4 stri distincte, care sunt codificate aa cum se arat n
figura 4.35. Se minimizeaz funciile de excitaie i ieirea, rezultnd ecuaiile care permit
implementarea circuitului cu bistabile de tip D i pori logice:
D1 = x1 x 2 + x1Q1 + Q1Q2 ,
D2 = x1 x 2 + x 2 Q2 + Q1 Q2 , i

y = Q1 + Q2 .

Ar putea exista probleme n funcionare, dac ne uitm la tabelul tranziiilor i la codurile


alese? Observm c exist o situaie n care se face o tranziie de la o stare la alta, dei cele dou
stri nu au coduri adiacente. Este aceasta o problem real i dac da, atunci cum ar putea fi
V
rezolvat?

4.3.6 Un sistem secvenial are 2 intrri i o ieire care detecteaz orice secven de 4
stri succesive pentru care cele dou intrri sunt identice. La detectarea acestei secvene
ieirea capt valoarea logic 1 att timp ct intrrile sunt identice. S se proiecteze
sistemul.
Rezolvare:
Avem de proiectat un sistem sincron cu comportament sincron, deoarece modificarea
intrrilor este dat de semnalul de ceas. Strile sistemului au fost marcate direct pe formele de und
rezultate prin simulare PSPICE din figura 4.36. Se observ din tabelul tranziiilor dat n figura 4.37
c sistemul are 4 stri distincte. Codificarea propus a strilor genereaz urmtoarele expresii pentru
funciile de excitaie i ieire: D1 = x1 x 2 ( Q1 + Q2 ) , D2 = x1 x 2 Q1 i y = x1 x 2 Q1 Q2 .
Problema se putea rezolva mai simplu, dac observam de la nceput c x1 = x 2 nseamn
x1 x 2 = 1 i obineam un sistem cu o singur intrare x = x1 x 2 .

Fig. 4.36 Sistemul are 5 stri distincte, numerotate de la 1 la 5

76

4 SISTEME SECVENIALE

Q +, y
x1x2

Q
1
2
3
4
5

00

01

11

10

Sistemul are 4 stri distincte.

2,0
3,0
4,0
5,1
5,1

1,0
1,0
1,0
1,0
1,0

2,0
3,0
4,0
5,1
5,1

1,0
1,0
1,0
1,0
1,0

Alegem urmtoarele coduri binare


1
00
2
01
3
11
10
4=5

Fig. 4.37 Tabelul tranziiilor. Reducerea i codificarea strilor

4.3.7 Se consider automatul finit descris de organigrama din figur. S se


implementeze circuitul folosind bistabile de tip D i avnd:
a) numr minim de pori
b) multiplexoare cu 4 ci de intrare
c) memorie ROM de 32 cuvinte a cte 4 bii
d) un circuit combinaional format din memorie ROM de 4 cuvinte a cte 4 bii i
multiplexoare. Reprezentai harta memoriei.
Q1Q2
00

A
0

X1

11

C
10

D
X4

B
X2

01

X3

Fig. 4.38 Organigrama care descrie funcionarea automatului finit


Rezolvare:

Construim tabelul tranziiilor urmrind organigrama. Sistemul are 2 bistabile i 4 intrri, al


cror sincronism cu ceasul nu ne preocup, codurile strilor fiind deja date. Oricum, dac
variabilele X1 i X3 pot fi i asincrone, variabilele X2 i X4 sunt obligatoriu sincrone.

X1 X2 X3 X4
x
x
x
0
x
x
x
1
x
0
x
x
x
1
x
x
x x
0
x
x x
1
x
x x
x
0
x x
x
1

Q1

Q2

0
0
0
0
1
1
1
1

0
0
1
1
1
1
0
0

+
Q 1+ Q 2
0
0
0
1
1
1
0
0
0
0
1
0
0
0
1
1

Fig. 4.39 Tabelul tranziiilor pentru organigrama din figura 4.38

77

4.3 Probleme rezolvate

a) Pentru implementarea cu pori este necesar minimizarea funciilor binare Q 1+ = D 1 i


Q +2 = D 2 . Folosim diagramele Veitch-Karnaugh condensate.
b) Urmrind tabelul tranziiilor se poate face uor implementarea funciilor cu
multiplexoare, la fel ca n exemplul prezentat la punctul 4.2.3.

Q1 Q1
Q 2 0 x4
Q 2 x2 x3

Q1 Q1
Q 2 x1 x 4
Q 2 x2 0

0 x2 x 4 x3
Q1
Q2

21
20

Q1
Q2

MUX
W

21

MUX

20

D1

D2

D1

x1 x 2 x 4 0

D2

b
Fig. 4.40 Soluiile problemei pentru punctele a i b

c) Cele 6 variabile necesit folosirea unui numr de 2 cipuri de memorie ROM de 32


cuvinte (2 5 ) , avnd ieiri cu 3 stri (figura 4.41.a). Variabila suplimentar, aici x1 ,
selecteaz citirea datelor numai de la circuitul selectat. Se poate utiliza i un singur
circuit de memorie de 32 cuvinte a cte 4 bii i dou multiplexoare cu cte 2 intrri.
Desenai schema logic i comparai cele dou implementri propuse.
d) O alt soluie de implementare cu memorie este dat n figura 4.41.b. Orice soluie care
folosete un cip de memorie ROM trebuie s aib i harta memoriei, care indic
coninutul memoriei ROM. Deci soluia din figura 4.41.b este complet. Este evident c
toate aceste soluii implementeaz numai logica combinaional a automatului finit. Se
vede c cele dou bistabile de tip D nu sunt reprezentate n scheme.
x2
x3
x4
Q1
Q2

A4

O0

A3
A2

ROM

A1
A0

OE

O1

x1 x 2 x 4 x 3

D1
D2

Q1
Q2

O2

Q1

A1

ROM
O0

A3
A2

ROM

A1
A0

OE

MUX

20

O3

x1
A4

21

O1

Q2

A0
OE

O0

O1

O2

O3

MUX

D1

MUX

D2

O2
O3

A1
0
0
1
1

A0 O0 O1 O2 O3
0 0 0 0
1
1 1 0
1 0
0 0 1 0
1
1 0 1 0 0

a
Fig. 4.41 Soluiile problemei pentru punctele c i d

b


4.3.8 S se fac sinteza unui circuit de generare a strilor de WAIT pentru


microprocesoarele 8080, 8085 i Z80, folosind formele de und din figura de mai jos. ncercai
i o soluie de implementare cu registre de deplasare. Artai modul de conectare a circuitului
la fiecare dintre cele trei microprocesoare pe 8 bii.

78

4 SISTEME SECVENIALE
CLK
WAIT REQUEST (intrare)
READY (ieire)
WAIT (ieire)

Fig. 4.42 Formele de und pentru problema 4.3.8


Rezolvare:

Semnalul de intrare WAIT REQUEST este considerat asincron, dei ar putea fi chiar sincron
sau sincronizabil cu semnalul de ceas. Pentru simplitate vom nota acest semnal cu x, iar ieirile
READY i WAIT cu y1 i respectiv y 2 .
CLK

1
2
3
4

y1
y2

2,11
3,00
4,01
4,11

1,11
1,11

Fig. 4.43 Strile circuitului i tabelul tranziiilor


Dac alocm celor 4 stri codurile Q1Q2 : 1 = 00, 2 = 01, 3 = 11 i 4 = 10, atunci obinem
urmtoarele ecuaii pentru logica combinaional: D1 = Q2 + Q1 x , D2 = Q1 x , y1 = Q2 i
y 2 = Q1 + Q2 . Desenai schema logic a circuitului.
O soluie alternativ, agreat de multe ori n practic, este implementarea cu registru. Chiar
dac ea introduce un bistabil n plus, se reduce numrul de pori folosite. Funciile de ieire READY
i WAIT sunt generate pentru anumite secvene ale intrrii WAIT REQUEST. Att timp ct intrarea
este n 1 logic, READY = WAIT = 1, condiie ce trebuie ndeplinit pentru oricare dintre strile
interne Q2 Q1Q0 = 000, 100, 110 sau 111 ale sistemului. La trecerea intrrii n 0 logic, ieirile
Q2 Q1Q0 ale bistabilelor trec succesiv prin strile 011, 001 i una dintre strile deja menionate
anterior. n starea Q2 Q1Q0 = 011 ieirile circuitului sunt y1 y 2 = 00 , iar n starea Q2 Q1Q0 = 001
ieirile sunt y1 y 2 = 01 . Se construiete tabelul de adevr pentru funciile de ieire, avnd ca
variabile ieirile bistabilelor, se minimizeaz folosind diagramele Veitch-Karnaugh i se obine
schema logic din figura 4.44. Pentru conectarea acestui circuit la o schem cu microprocesor
trebuie s avem informaii de catalog despre microprocesorul utilizat.
WAIT REQUEST

2
CLK

Q
R

D
CLK

READY

0
Q

D
CLK

Q
R

WAIT

CLK
RESET

Fig. 4.44 Schema logic a circuitului implementat cu registru

STRUCTURI PROGRAMABILE

Aplicaiile din acest capitol i propun s prezinte funcionarea circuitelor de memorie


ROM(Read Only Memory) i RAM(Random Access Memory), a structurilor programabile
PLD(Programmable Logic Devices), structuri care conin reele programabile de pori logice i
bistabile, precum i a structurilor FPGA(Field Programmable Gate Arrays), reele complexe de
blocuri logice programabile i resurse de interconectare a lor, care se configureaz prin
programare pentru o anumit aplicaie.

5.1 Consideraii teoretice


5.1.1 Memoria ROM
Memoria ROM este un circuit combinaional care stocheaz permanent date binare, iar
aceast informaie poate fi numai citit. Aceast structur este de obicei definit ca un
convertor de cod compus dintr-un decodificator i un codificator. Vectorul de intrare n
decodificator este interpretat ca o adres, iar datele obinute la ieirea codificatorului
reprezint informaia memorat la adresa respectiv.
n figura 5.1 s-a luat un exemplu de memorie ROM care conine 8 cuvinte de cte 4
bii. O combinaie binar care se aplic pe cele 3 intrri de adres, A2 , A1 i A0 , selecteaz
unul dintre cele 8 cuvinte, iar cei 4 bii de date ai cuvntului selectat sunt disponibili la
ieirile O0 , O1 , O2 i O3 , cu condiia ca intrarea OE (Output Enable) s fie activat (n
exemplul nostru activarea se face pe 0 logic). Dac OE = 1 ieirile memoriei sunt n
starea de nalt impedan (high Z). Tabelul de adevr din figur este numai un exemplu
care arat o posibilitate de implementare a 4 funcii binare de cte 3 variabile.
Exist mai multe tipuri constructive de memorie ROM. Memoriile ROM sunt de
obicei considerate cele care sunt ncrcate cu date n procesul de fabricaie al circuitului
integrat, deci care nu sunt programabile de ctre utilizator. Utilizatorul poate introduce
datele lui o singur dat ntr-o memorie PROM(Programmable ROM), sau de mai multe
.

80

5 STRUCTURI PROGRAMABILE

ROM
O0

A2

0
0
0
0
1
1
1
1
x

O1

A1
A0

A2 A1

O2
OE O3

0
0
1
1
0
0
1
1
x

A 0 OE
0
1
0
1
0
1
0
1
x

0
0
0
0
0
0
0
0
1

O0

O1

O2

O3

1
1
1
0
0
0
0
1

1
1
0
1
0
0
1
0

1
0
1
1
0
1
0
0

0
1
1
1
1
0
0
0

high Z high Z high Z high Z

Fig. 5.1 Memorie ROM de 8 cuvinte de 4 bii i harta memoriei


ori, n memoriile EPROM(Erasable PROM) sau EEPROM (Electrically EPROM), diferena
fiind dat de modalitatea de tergere a datelor din memorie. Memoriile EPROM conin
tranzistoare MOS care conin o poart suplimentar, izolat de restul circuitului. Aceast
poart permite stocarea pe termen lung a sarcinii electrice necesare pentru memorarea
bitului respectiv de informaie. tergerea se face prin expunere la radiaii ultraviolete. La
memoriile EEPROM izolaia porii este mult mai subire i sarcina electric n exces poate fi
eliminat prin aplicarea unei tensiuni de polaritate invers pe poarta tranzistorului care nu
este flotant, deci tergerea se face pe cale electric.
Circuitul integrat 82S147, care este o memorie PROM n tehnologie Schottky
TTL, a fost utilizat deja n aplicaiile prezentate n capitolul anterior. Rolul lui era de a
implementa logica combinaional a unui automat cu stri finite (vezi punctul 4.2.4 i
problema 4.3.7).

5.1.2 Memoria RAM


Memoria RAM este un circuit care stocheaz bii de informaie ntr-o matrice de
memorie, la fel ca memoria ROM. Diferena const n faptul c informaia util memorat n
RAM trebuie mai nti s fie scris acolo, nainte de a fi citit.
DIN3

DIN2

DIN1

DIN0

A2
A1
A0

DCD

MATRICE DE MEMORIE
8 4
WR
LATCH

DIN
WE

SEL
WR

CS

DOUT
CL

un bit de memorie

OE
DOUT3

DOUT2

DOUT1

DOUT0

Fig. 5.2 Structura unei memorii SRAM de 8 cuvinte de 4 bii

81

5.1 Consideraii teoretice

Exist dou tipuri constructive de memorie RAM: RAM static sau SRAM, n care
biii de date, odat ce au fost nscrii, sunt memorai att timp ct circuitul integrat este
alimentat cu tensiune, i RAM dinamic sau DRAM, n care datele memorate trebuie s fie
mereu remprosptate prin citirea i apoi rescrierea lor periodic n locaiile respective de
memorie, n caz contrar ele pierzndu-se definitiv.
Structura unei memorii SRAM este asemntoare 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 intrrile de date la adresa indicat de intrrile de adres. Se poate vedea n
figura 5.2 c celula de memorie de un bit conine un latch de tip D, iar memorarea datelor se
face pe palierul de 1 logic al ceasului, adic atunci cnd sunt activate semnalele WR i
SEL , acesta din urm fiind generat de una din ieirile decodificatorului liniilor de adres.
Activarea semnalului WR este o consecin a activrii semnalelor de intrare WE i CS .
Circuitul integrat MMN 2114, care este o memorie SRAM n tehnologie NMOS,
a fost utilizat deja n aplicaiile prezentate n capitolul anterior. Rolul lui era de a emula
o memorie ROM care implementa logica combinaional a unui automat cu stri finite
(vezi punctul 4.2.4).

5.1.3 Structuri PLD


Structurile PLD conin pori logice i, n unele cazuri, circuite bistabile, aranjate n
aa fel nct interconectrile dintre componente s poat fi modificate pentru a implementa
diverse funcii binare.
Structurile PLD combinaionale conin numai pori logice cu conexiuni
programabile, care permit implementarea comod a funciilor binare reprezentate n form
disjunctiv. Circuitele reprezentative din aceast categorie sunt structurile PLA
(Programmable Logic Arrays) i structurile PAL (Programmable Array Logic). Acestea
din urm sunt marc nregistrat a firmei AMD.
Un exemplu de circuit PLD secvenial de tip registru este circuitul integrat
GAL16V8, marc nregistrat a firmei Lattice Semiconductor, circuit care conine 8 intrri,
8 intrri/ieiri cu 3 stri i 8 macrocelule programabile, numite aici OLMC (Output Logic
Macro Cell). Schema complet a circuitului este dat n figura 5.3. Terminaia QS din codul
circuitului integrat provine de la Quiet Series i are n vedere modificarea traseului intern
de mas n scopul reducerii zgomotelor. Matricea de pori I conine 2048 de conexiuni
programabile, iar porile SAU au conexiuni fixe (vezi figura 5.4). Matricea de conexiuni
programabile permite conectarea oricrei intrri numerice, n form direct sau negat, la
orice termen produs. Fiecare macrocelul programabil mai conine cte 10 conexiuni
programabile, care stabilesc modul de lucru. n sfrit, un numr de 64 de conexiuni
programabile, grupate n 8 octei, stabilesc o semntur digital a utilizatorului, adic cel
care programeaz circuitul integrat, pentru secretizarea hrii de conexiuni i evitarea
multiplicrii neautorizate a unui produs care conine astfel de circuite.
Schema intern a unei macrocelule programabile este dat n figura 5.4. Ieirea porii
SAU poate fi complementat sau nu cu poarta SAU-EXCLUSIV i aplicat direct la intrarea
porii cu 3 stri de la ieire printr-un canal de multiplexor, sau poate fi aplicat la intrarea
unui bistabil D, a crui ieire se poate trimite la exterior, sau returna spre matricea de
.

82

5 STRUCTURI PROGRAMABILE

Fig. 5.3 Structura circuitului GAL 16V8


comutatoare programabile de la intrare. Fluxul datelor prin circuit este stabilit cu ajutorul
unor multiplexoare cu intrri de selecie programabile. Exist legturi ntre macrocelule, pe
de o parte, pentru transfer de date, iar pe de alt parte, comutatorul AC0 se conecteaz fie la
0 logic, fie la 1 logic pentru toate macrocelulele din structur. Comutatoarele AC1, XOR i
PTD se programeaz independent, pentru fiecare celul n parte, dup necesiti.
Proiectantul nu este obligat s cunoasc structura intern a circuitului integrat, dect dac
stabilete manual harta de conexiuni, lucru foarte plictisitor i cu mare ans de eroare.
Exist programe care realizeaz automat harta de conexiuni, pornind de la ecuaiile furnizate
de proiectant i folosind un model software al circuitului PLD folosit.

83

5.1 Consideraii teoretice

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 elemente
constructive de baz care se repet ori de cte ori este necesar n structur: blocul logic,
blocul de intrare-ieire, i resursele de interconectare ale blocurilor, de fapt matrici de
comutatoare programabile, numite i switchbox-uri. Blocul logic poate conine sute sau mii
de pori logice i poate fi configurat diferit n funcie de aplicaie. Realizarea
interconexiunilor permite o utilizare superioar a resurselor logice fa de structurile PLD.
Resurse de interconectare
Bloc
logic
Bloc de
intrare
ieire

Switch Box

Fig. 5.5 Arhitectura FPGA

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 n
figura 5.6. Modulele F i G sunt generatoare de funcii binare programabile cu cte 4 intrri,
iar mpreun cu modulul H, care este tot un generator de funcii binare, permit
implementarea unor funcii cu 9 variabile independente. Blocul logic mai conine o logic
combinaional de selecie i 2 bistabile de tip D pentru stocarea rezultatelor date de
generatoarele de funcii. Ieirile generatoarelor de funcii se pot utiliza independent de
ieirile elementelor de stocare de tip registru.
Fiecare bloc de intrare/ieire controleaz un singur pin al circuitului integrat i se
poate configura ca port de intrare, port de ieire sau port bidirecional. Semnalele de intrare
se pot aplica direct sau prin bistabile de intrare. Semnalele de ieire, care se pot inversa n
interiorul blocului, se pot conecta direct la ieirea pinului sau la bistabilul de ieire. Matricea
de cuplare programabil, sau switchbox-ul, este alctuit din conexiuni programabile care
permit realizarea oricrei configuraii posibile de conexiuni.

5.2 Demonstraii practice


Consideraiile asupra alimentrii panoului logic, formulate n primul capitol, rmn
valabile i aici. Panourile logice folosite n aplicaii, fie au surse proprii de alimentare
(programatorul de memorii EPROM sau sistemul de dezvoltare cu FPGA), fie se
alimenteaz cu o tensiune nominal de 5Vcc (panoul logic cu memorie RAM sau panoul cu
GAL), n cazul n care acestea din urm nu sunt i ele prevzute cu surse proprii de
alimentare.

5.2 Demonstraii practice

85

5.2.1 Se conecteaz programatorul de memorii EPROM la portul paralel al unui


calculator. Se pornete calculatorul i apoi se alimenteaz i programatorul de la sursa
proprie de alimentare, care furnizeaz toate tensiunile necesare pentru citirea i
programarea unei memorii EPROM de tipul 2716 sau 2732. Memoria 2716 are
2Kcuvinte de cte 8 bii, iar memoria 2732 are 4Kcuvinte de cte 8 bii.
Se lanseaz aplicaia Programator EPROM, care deschide fereastra
reprezentat n partea stng a figurii 5.7. Din lista de opiuni se selecteaz tipul
memoriei EPROM, din butoanele radio operaia dorit, iar offset-ul reprezint adresa de
la care se ncepe citirea sau programarea memoriei. Operaia de elaborare a fiierului
surs deschide o a doua fereastr, dat n partea dreapt a figurii 5.7, prin care se
introduce ntr-un fiier valoarea coninut de fiecare adres, de la offset +1 i pn la
offset + numr de locaii. n exemplul dat, prin apsarea butonului Save, se introduce
numrul binar 01101001 la adresa 5, offset-ul fiind 0. Fiierul construit n acest mod va
fi folosit la operaia de programare a memoriei.
Introducei n soclu o memorie EPROM de tipul 2716, dup ce ai oprit mai nti
tensiunea de alimentare a programatorului, i apoi citii coninutul ei. Toate locaiile
sunt programate? Dac nu, atunci introducei n locaiile imediat urmtoare offset-ului
10 cuvinte identice alese de dumneavoastr. Citii din nou memoria pentru a verifica c
datele au fost nscrise corect. Oprii tensiunea de alimentare a programatorului i apoi
alimentai din nou programatorul. Verificai dac datele nscrise s-au pstrat. Consultai
foaia de catalog i observai cronogramele ciclurilor de citire i programare.
Repetai operaiile de mai sus pentru o memorie EPROM de tipul 2732. Nu am
precizat exact codurile memoriilor EPROM, pentru c ele depind de productor: I 2716,
dac circuitul este fabricat de INTEL, MMN 2716 dac este fabricat de
Microelectronica Bucureti, sau K573P2 (echivalent cu 2716) dac este fabricat n
Rusia. Dac avei la dispoziie o lamp cu ultraviolete, ncercai s tergei memoriile
EPROM i verificai dac acest lucru s-a realizat (toi biii sunt poziionai pe 1 logic).

Fig. 5.7 Dou ferestre ale aplicaiei Programator EPROM

5.2.2 Se studiaz memoria RAM static de tipul 2114, care are o capacitate de 1K
de cte 4 bii. Panoul logic folosit deja la automatele cu memorie RAM are un circuit
integrat MMN 2114. Se reia scrierea datelor n memorie, aa cum se arat la pagina 68,

86

5 STRUCTURI PROGRAMABILE

i se justific operaiile care se fac. Se citete memoria, msurnd de aceast dat


ieirile memoriei i se verific dac datele introduse au fost memorate corect. Se
ntrerupe tensiunea de alimentare cteva secunde i, dup revenirea ei, se citesc din nou
datele de la adresele respective. Ce constatai? Justificai rspunsul i indicai o soluie
pentru pstrarea datelor chiar i dup decuplarea temporar a tensiunii de alimentare.
Se repet operaiile de mai sus pentru panoul logic care conine o memorie RAM
static de tipul 2102, cu o capacitate de 1K de cte 1 bit i linii separate pentru intrarea i
ieirea bitului de date. O schem simplificat a panoului logic este dat n figura 5.8. De
aceast dat adresarea locaiilor de memorie se face cu ajutorul a dou numrtoare de
cte 5 bii (MMC 4024), care pot fi uor poziionate n orice stare dorit cu ajutorul
unui ceas manual, realizat cu comutator mecanic i latch. Astfel se poate fixa orice
adres din spaiul de 1024 adrese disponibile. Datele se introduc pe linia de intrare
printr-un comutator cu dou poziii, iar linia de ieire arat coninutul memoriei prin
starea unui LED. Semnalul R W este generat tot cu un latch.
+V cc

+Vcc
LATCH
+Vcc
LATCH

Q6
RESET
CLK
4024
Q5 Q4 Q3 Q2 Q1

Q6

RESET
CLK
Q5 Q4 Q3 Q2 Q1

4024

LATCH
+V cc

A9 A8 A7 A6 A5
A4 A3 A2 A1 A0
D IN
R/W
2102
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 circuit


GAL16V8 i se conecteaz programatorul la portul paralel al unui calculator. Se
pornete calculatorul i apoi se alimenteaz i programatorul de la sursa proprie de
alimentare. Se lanseaz programul freeware galprog2, care permite prin intermediul
unei interfee grafice selecia portului paralel, a tipului de GAL, ncrcarea datelor din
fiier i salvarea lor n fiierul JEDEC, care conine harta conexiunilor programabile,
.

Fig. 5.9 Dou interfee pentru programarea circuitelor GAL 16V8 i GAL20V8

88

5 STRUCTURI PROGRAMABILE

5.1 Probleme rezolvate


5.3.1 S se implementeze cu memorie ROM un generator al funciei sinus, tiind c
argumentul funciei variaz ntre 0 i /2 cu pai de /512. Se cere rezultatul cu 4 zecimale
exacte n cod BCD.
Rezolvare:
Patru cifre zecimale n cod BCD se reprezint pe 16 bii, deci cuvintele memoriei sunt
structurate pe 16 bii. Numrul de cuvinte de memorie N este dat de raportul dintre interval i
512
numrul de pai, deci: N =
= 256 . Deci memoria necesar are 256 cuvinte a cte 16 bii.
2
Dac folosim, de exemplu, cipuri de 256 cuvinte a cte 8 bii, atunci schema logic ar fi cea
din figura 5.11.
A 7 ... A 0
8

A 7 ... A 0

A 7 ... A 0

ROM 1
D 7 ... D 0

ROM 2
D 7 ... D 0

OE

D 15 ... D 8

OE

D 7 ... D 0

Fig. 5.11 Extinderea numrului de bii pe cuvnt


Un fragment din harta memoriei pentru ntregul sistem (cele dou cipuri mpreun) este
prezentat n figura 5.12.
A7 A6
0 0
0 0
0 0
0 0
1
1

A5 A4 A3 A2 A1
0 0 0 0 0
0 0 0 0 0
0 0 0 0 1
0 0 0 0 1
......
1 1 1 1 1 1
1 1 1 1 1 1

A 0 D 15
0
0
1
0
0
0
0
1
0
1

1
1

D 14 D 13
0 0
0 0
0 0
0 0
0
0

0
0

D 12 D 11 D 10
0
0 0
0
0 0
0
0 0
0
0 0
1
1

1
1

0
0

D9 D 8
0 0
0 0
0 0
0 0
0
0

1
1

D7 D6 D5 D4 D3 D2 D1 D0
0 0 0 0
0 0
0 0
0 0 0 0
0 0
0 0
0 0 0 0
0 0
0 0
0 0 0 0
0 0
0 0
.........
1 0 0 1
1 0
0 1
1 0 0 1
1 0
0 1

Fig. 5.12 Harta memoriei pentru generatorul funciei sinus

5.3.2 Folosind o memorie EPROM s se implementeze un circuit care realizeaz


nmulirea M N = P , 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 cte 4 bii, deci memoria trebuie s aib 8 bii de
adres. Valoarea maxim a produsului P este 9 9 = 81 , numr care se reprezint n binar pe 7
bii, deoarece 2 6 < 81 < 2 7 . n cod BCD numrul P se reprezint ns pe 8 bii, fiind format din
dou cifre BCD. El se obine la ieirile de date ale memoriei. Deci, memoria are 256 cuvinte de
cte 8 bii fiecare. Figura 5.13 reprezint schema logic i un fragment din harta memoriei.

89

5.3 Probleme rezolvate


EPROM

A7
A6
A5
A4

A3
A2
A1
A0

D7
D6
D5
D4
D3
D2
D1
D0

A7 A6 A5 A4 A3 A2
0 0 0 0 0 0
......
0 0 1 0 0 0
0 0 1 0 0 1
......
0 1 1 1 0 1
......
1 0 0 1 1 0

A1 A0 D7 D6 D5 D4 D3 D2 D1 D0
0
0 0 0
0 0
0 0
0 0
......
0
0 0 0
0 1
1 1
1 0
0
0 0 0
1 0
0 0
0 0
......
0
0 1 1
0 1
0 1
0 1
......
0 1
1
0 0 0
0 0
0 1

Fig. 5.13 Circuit de nmulire cu memorie EPROM i un fragment din harta memoriei

5.3.3 S se implementeze cu memorie ROM i apoi cu o structur PLA urmtorul set


de funcii binare:
f 1 = P1 + P3 + P4 + P8 + P12 + P14 + P15
f 2 = P0 + P1 + P5 + P8 + P12
f 3 = P2 + P4 + P5 + P8 + P13 + P15
Rezolvare:
Implementarea funciilor binare cu memorii ROM presupune stabilirea capacitii
memoriei necesare, alegerea tipului potrivit de memorie din oferta disponibil n catalog i
stabilirea hrii memoriei. De obicei se urmrete utilizarea unui numr minim de circuite
integrate, chiar dac memoria ROM rmne parial nefolosit.
n exemplul considerat, termenul canonic de rang maxim este P15 , deci sunt necesare 4
intrri de adrese. Pentru cele 3 funcii binare sunt necesare 3 ieiri de date. Folosim o memorie
de 16 cuvinte de cte 4 bii. Soluia cu memorie ROM este prezentat n figura 5.14.
Implementarea cu o structur PLA este prezentat n figura 5.15.
ROM
A

A3

D3

f1

A2

D2

f2

A1

D1

f3

A0

D0

A3 A2
0 0
0 0
0 0
0 0
0 1
0 1
0 1
0 1

A1A0

D3 D2 D1 D0

0
0
1
1
0
0
1
1

0
1
0
1
1
0
0
0

0
1
0
1
0
1
0
1

1
1
0
0
0
1
0
0

0
0
1
0
1
1
0
0

X
X
X
X
X
X
X
X

A3 A2
1 0
1 0
1 0
1 0
1 1
1 1
1 1
1 1

A1A0

D3 D2 D1 D0

0
0
1
1
0
0
1
1

1
0
0
0
1
0
1
1

0
1
0
1
0
1
0
1

1
0
0
0
1
0
0
0

1
0
0
0
0
1
0
1

X
X
X
X
X
X
X
X

Fig. 5.14 Implementarea sistemului de 3 funcii binare cu memorie ROM


A
B
C
D

f1
f2
f3

Fig. 5.15 Implementarea sistemului de 3 funcii binare cu PLA

90

5 STRUCTURI PROGRAMABILE

5.3.4 S se implementeze o memorie EPROM de 2 K 32 , folosind o memorie


EPROM de 64 K 1 . Se pot utiliza circuite auxiliare SSI/MSI i se presupune c
dispunem de un semnal de ceas cu o perioad ceva mai lung dect timpul de acces la
memoria de 64 K 1 . Care este timpul de acces al memoriei de 2 K 32 ?
Rezolvare:
Capacitatea total a memoriei rmne neschimbat, se modific numai organizarea ei. O
soluie este prezentat n figura 5.16, unde spaiul adreselor este mprit n dou, cei 5 bii mai
puin semnificativi fiind generai intern, cu ajutorul unui numrtor n inel comandat de
semnalul de ceas. La fiecare perioad de ceas, un alt bit este memorat n registru, astfel nct,
dup 32 perioade de ceas dispunem de un cuvnt de 32 bii la ieirea registrului. Timpul de
acces al memoriei este de 32 de ori mai mare dect perioada ceasului. Presupunem c timpul
de acces la memoria ROM este suficient de mare pentru a evita orice probleme legate de
metastabilitate.
ROM 64K
11

ADRESE

A 15 ... A 5
Registru serie de 32 bii

OUT

5
CLK

Numrtor

CLK

32

A 4 ... A 0

DATE IEIRE

Fig. 5.16 Schema simplificat a unei memorii de 2K 32

5.3.5 S se proiecteze un numrtor binar reversibil pentru controlerul unui lift


ntr-o cldire cu 20 etaje, folosind un singur circuit PAL16R6. Numrtorul trebuie s
aib o intrare care permite numrarea i o intrare care stabilete sensul de numrare. La
numrarea napoi trebuie s se blocheze n starea 1, iar la numrarea nainte trebuie s
se blocheze n starea 20. n orice sens de numrare se sare peste starea 13. Reprezentai
diagrama strilor i ecuaiile scrise n ABEL.
Rezolvare:
Circuitul integrat PAL16R6 are 8 intrri, 2 intrri/ieiri programabile i 6 bistabile de
tip D avnd ieirile cu 3 stri. Matricea de 64 32 comutatoare programabile permite
implementarea oricrei funcii binare. Pentru cele 20 stri sunt necesare 5 bistabile. Dac
notm cu E intrarea care permite numrarea (activ pe 1 logic) i cu S intrarea de sens (S = 1
cresctor, iar S = 0 descresctor), atunci diagrama strilor este cea din figura 5.17. Detalii
despre limbajul ABEL sunt date n curs. O implementare complet de automat finit cu
PAL16R4 este dat n capitolul urmtor.
0X

ES

0X
11

11
10

0X

2
10

0X
11

3
10

11
12

10

11
14

10

0X

0X

0X

11
20

19
10

11

10

Fig. 5.17 Diagrama strilor pentru numrtorul din problema 5.3.5

ANALIZA I
SINTEZA AUTOMAT

Aplicaiile din acest capitol i propun s prezinte posibiliti de analiz i sintez a


sistemelor numerice folosind programe de calculator concepute n acest scop. Un standard
pentru analiza circuitelor prin simulare pe calculator, fie ele analogice sau numerice, este
programul SPICE(Simulation Program with Integrated Circuit Emphasis), elaborat la
Universitatea Berkeley din California i perfecionat pe parcursul ctorva decenii. Limbajul
VHDL(Very High Speed Integrated Circuit Hardware Description Language), folosit astzi pe
scar larg de proiectanii de sisteme numerice, este destinat sintezei structurilor numerice de
mare complexitate, fiind standardizat de IEEE n 1993.

6.1 Consideraii teoretice


6.1.1 Analiza circuitelor prin simulare PSPICE
Pachetul de programe SPICE nu a fost iniial conceput pentru calculatoare personale.
Odat cu apariia PC-urilor, au aprut i programe de analiz a circuitelor pe PC, similare cu
programul SPICE, cunoscute de obicei sub numele PSPICE (PC SPICE).
Programul PSPICE folosit este Design Center 5.2, un mediu integrat sub Windows
3.X, produs de firma american MicroSim. Acest mediu conine subprograme de editare,
analiz i prezentare a rezultatelor obinute. Cea mai important parte a programului de
simulare o reprezint subprogramul de analiz, care execut analizele de circuit specificate
n fiierul editat, ieirile din acest subprogram furniznd date pentru a fi utilizate ulterior de
subprogramul de prezentare a rezultatelor, care materializeaz rezultatele sub form de
grafice i texte. Subprogramul de analiz conine procedeele numerice ale reprezentrii
matematice a circuitului. Pentru a trece de la circuitul propriu-zis la un sistem matematic de
ecuaii, elementele de circuit (rezistoare, condensatoare, surse, diode, tranzistoare, pori
logice, bistabile, registre etc.) sunt reprezentate prin modele matematice. Sistemul de ecuaii
care descrie ntregul circuit este determinat de ecuaiile modelului fiecrui element i

92

6 ANALIZA I SINTEZA AUTOMAT

relaiile topologice care sunt date de interconectarea elementelor. Relaiile topologice au la


baz legile lui Kirchhoff iar comportarea general a circuitului este descris printr-un sistem
de ecuaii difereniale, ale crui soluii se obin prin analiza circuitului, pentru diferite cazuri
particulare de abordare: analiza de curent continuu (.DC), analiza de curent alternativ
(.AC), analiza regimurilor tranzitorii (.TRAN) i altele. Aceste analize se realizeaz pe
baza unor metode numerice, care presupun formularea ecuaiilor, rezolvarea ecuaiilor
liniare, a ecuaiilor neliniare i integrarea numeric.
Pe msur ce crete experiena lucrului cu PSPICE se pun tot mai clar n eviden
avantajele simulrii. n afar de faptul c simularea este mult mai ieftin dect realizarea
experimental a circuitului, ea permite efectuarea unor analize imposibil de realizat pe
model experimental: cum am putea msura de exemplu tensiunea ntr-un nod din interiorul
unui circuit integrat sau comportarea unui tranzistor la temperatura de 120 grade Celsius?
Dei primele variante ale programelor PSPICE au fost concepute n exclusivitate
pentru analiza circuitelor analogice, Design Center 5.2 i variantele ulterioare permit i
analiza circuitelor numerice. Opiunea DIGITAL SIMULATION permite modelarea
comportrii unui numr mare de dispozitive numerice (pori, bistabile, registre,
numrtoare, dispozitive logice programabile etc.), numite primitive. Aceste primitive sunt
folosite de o bibliotec numeric DIGITAL.LIB pentru a modela un numr mare de
componente care pot fi introduse direct n circuit printr-un apel de subcircuit.
PSPICE recunoate trei tipuri de noduri: analogice, numerice i de interfa. Dac la
un nod sunt conectate numai dispozitive analogice, atunci el este analogic. Dac sunt
conectate numai dispozitive digitale, atunci el este digital. Dac la nod sunt conectate att
dispozitive analogice ct i digitale, atunci avem nod de interfa. PSPICE separ automat
nodurile de interfa n analogice i numerice, insernd una sau mai multe circuite de
interfa analog/numerice.
Nivelele logice utilizate n PSPICE nu trebuie s fie neaprat tensiuni. Ele sunt:
0
LOW
1
HIGH
R
RISE ( cresctor, de la 0 la 1)
F
FALL ( descresctor, de la 1 la 0)
X
necunoscut
n situaia conectrii mai multor ieiri logice mpreun, pentru determinarea nivelului
logic corect al nodului, s-a asociat fiecrei ieiri cte o intensitate, a crei valoare este
determinat n raport cu intensitile celorlalte ieiri. Nodurile conduse de ieiri cu aceeai
intensitate, dar de nivele diferite, vor avea nivelul logic X. Pspice are 64 de nivele de
intensitate, cea mai slab fiind Z (nalt impedan), iar cea mai puternic, intensitatea de
forare (scurtcircuitul). Aceste nivele se fixeaz prin parametrii DIGDRVZ i DIGDRVF ai
comenzii OPTIONS.
Programul de simulare numeric PSPICE definete trei noduri numerice globale,
avnd urmtoarele nume i valori:
$D_HI
1
$D_LO
0
$D_X
X
Ele sunt folosite pentru a menine un pin al unui dispozitiv sau subcircuit, la nivelul logic
dorit, pe tot parcursul simulrii. La aceste noduri nu se conecteaz dispozitive analogice. n
simularea numeric, tot nod global este considerat i nodul analogic de mas (potenial nul
sau nod logic 0).

6.1 Consideraii teoretice

93

Pentru a furniza semnalele de intrare necesare simulrii funcionrii unui circuit


numeric, programul PSPICE pune la dispoziia utilizatorului dou tipuri de dispozitive.
Primul dispozitiv este un generator de impuls, care permite obinerea unei game largi de
semnale numerice, n mod asemntor cu cele generate la simularea circuitelor analogice.
Al doilea dispozitiv este un fiier de impulsuri, care permite obinerea unui numr orict de
mare de forme de und dintr-un fiier extern. n aplicaiile noastre vom utiliza un fiier de
impulsuri pentru generarea semnalelor de intrare.
Dac circuitul supus analizei conine att dispozitive analogice ct i numerice, cum
este cazul oscilatorului din figura 6.1, se face o simulare mixt analog/numeric. Figura 6.2
arat formele de und rezultate n urma simulrii. n partea de sus sunt reprezentate formele
de 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 prin
inversorul cu colector n gol U3 la nodul 1 al oscilatorului, pentru stabilirea condiiilor
iniiale de simulare.

Fig. 6.1 Schem electric editat n Design Center 5.2

Fig. 6.2 Formele de und rezultate n urma simulrii

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 Fiierul text INPUT.STM

Figura 6.3 prezint fiierul text pentru generarea semnalului RESET. Numele
fiierului este INPUT.STM i este introdus n schema electric prin directiva INCLUDE
(vezi figura 6.1). Circuitul realizat fizic funcioneaz i fr semnal de reset, dar simulatorul
are nevoie de stri iniiale, nainte de a ncepe analiza. n lipsa semnalului de reset, se
pornete de la o stare logic necunoscut i analiza nu se poate face.
Fiierul text INPUT.STM se editeaz cu un simplu editor de text, de exemplu
NOTEPAD. Formatul generatorului de impuls pentru un semnal este urmtorul:
U<nume> STIM(<lime>,<format>)
+ <nod alimentare numeric> <nod mas numeric>
+ <nod>
+ <nume (Model de I/E)>
+ [IO_LEVEL = <valoare (selectare subcircuit interfa)>]
+ [TIMESTEP = <pas>]
+ <(comand)>
unde <lime> specific numrul semnalelor de ieire furnizate de generator, iar <format>
specific formatul valorilor utilizate n definirea impulsului. <nume (Model de I/E)> este de
cele mai multe ori modelul IO_STM. IO_LEVEL este un parametru opional prin care se
pot selecta subcircuitele interfa numeric analogice; el a fost fixat nainte de analiz la
valoarea recomandat 3 (prin comanda ANALYSIS, urmat de SETUP, i OPTIONS din
meniul principal, s-a fixat parametrul DIGIOLVL = 3). TIMESTEP reprezint timpul pe un
ciclu de tact sau un pas, iar <comand> este o descriere a semnalului prin valorile logice ale
acestuia la valori ale timpului care sunt multipli de TIMESTEP.
Dup desenarea schemei electrice a circuitului, se selecteaz ANALYSIS din meniul
principal i apoi ANNOTATE (numai dac se dorete o renumerotare a componentelor din
circuit) 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 CREATE
NETLIST i pe urm se alege tipul de analiz dorit. Acest lucru se face prin comanda
ANALYSIS, urmat de SETUP i TRANSIENT. Pentru analiza tranzitorie s-a fixat o
durat total de 10 sec, cu un pas de 0,1 sec. Nu uitai selectarea opiunii ENABLED
nainte de a prsi fereastra de setare a tipului de analiz.
Urmeaz rularea programului de analiz, cu comanda RUN PSPICE. La terminarea
rulrii, care poate dura de la fraciuni de secund la zeci sau sute de secunde, funcie de
complexitatea circuitului, tipul de analiz, numrul de pai ales i viteza sistemului de
calcul, apare ecranul mediului PROBE cu un alt meniu specific. Comanda TRACE, urmat
de ADD afieaz o fereastr cu toate semnalele din circuit. Se selecteaz semnalele pe care
vrem s le vizualizm i obinem formele de und n timp, ca cele din figura 6.2.

95

6.1 Consideraii teoretice

Ne propunem n continuare s proiectm o interfa calculator-microcalculator cu 4


intrri i cu 4 ieiri, sincron cu ceasul microcalculatorului. Semnalele sunt reprezentate n
figura 6.4, iar organigrama de funcionare a circuitului, n figura 6.5. Vom verifica dac
sinteza este corect, fcnd analiza circuitului rezultat prin simulare PSPICE.
START

ATTENTION

INACTIVE

READY

Calculator

Interfa

T/R

CYCLE

Micro calculator

CYEND

F/E

CLK

Fig. 6.4 Semnalele interfeei calculator-microcalculator


.

A
0

Q2 Q1 Q0

000
1

START

001
B
ATTENTION

010

READY

INACTIVE

D
0

011
100

T/R

E
CYCLE

110
F

CYEND

F/E

Fig. 6.5 Organigrama interfeei


Cele 6 stri ale automatului finit sunt codificate binar minimal folosind 3 bii.
Semnalele de ieire sunt generate pe stare, iar codurile strilor succesoare strilor n care
sunt testate intrrile asincrone START i T/R sunt adiacente. Vom implementa circuitul
ntr-o prim variant folosind 3 bistabile de tip JK i pori logice, iar pe urm vom face o
implementare cu un singur circuit PLD de tip PAL. Ne ocupm n aceast seciune numai de
sinteza schemelor logice, iar analiza schemelor electrice, prin simulare PSPICE, va fi fcut
n seciunea 6.2.

96

6 ANALIZA I SINTEZA AUTOMAT


Start

Ready

T/R

Cyend

Q2

Q1

Q0

Q2+

Q1+

Q0+

Atten
tion

Inac
tive

Cycle

F/E

0
1
x
x
x
x
x
x
x
x

x
x
0
1
x
x
x
x
x
x

x
x
x
x
x
0
1
x
x
x

x
x
x
x
x
x
x
0
1
x

0
0
0
0
0
0
0
1
1
1

0
0
0
0
1
1
1
0
0
1

0
0
1
1
0
1
1
0
0
0

0
0
0
0
0
0
1
1
1
0

0
0
0
1
1
0
0
0
1
1

0
1
1
0
1
0
0
0
0
1

0
0
1
1
0
0
0
0
0
0

0
0
0
0
1
0
0
0
0
0

0
0
0
0
0
0
0
1
1
0

0
0
0
0
0
0
0
0
0
1

Fig. 6.6 Tabelul tranziiilor i al ieirilor


Tabelul tranziiilor i al ieirilor este dat n figura 6.6. Dac construim n
continuare coloanele funciilor de excitaie pentru implementarea cu bistabile JK i
minimizm aceste funcii folosind diagrame Veitch-Karnaugh, obinem urmtoarele
ecuaii:
J 2 = T / R Q1 Q 2
K2 = Q1
i
J 1 = READY Q 0 + CYEND Q 2

J 0 = Q2 START + Q1

K 0 = READY + Q1

K1 = Q 0

READY

CLK

2
K

T/R

CLK

CLK

CYEND
START
CLK

Fig. 6.7 Schema logic a interfeei implementate cu bistabile JK i pori


Q

Q1
Q0

22
21
0
2 0

DCD
1

INACTIVE
ATTENTION

CYCLE
F/E

Fig. 6.8 O soluie posibil pentru sinteza ieirilor

97

6.1 Consideraii teoretice

Folosind ecuaiile de mai sus rezult schema logic a circuitului, reprezentat n


figura 6.7, iar schema din figura 6.8 ofer o soluie de implementare cu decodificator a
funciilor de ieire, fr 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.
Observm c ieirile bistabilelor sunt trecute prin inversoare cu 3 stri nainte de a ajunge la
pinii de ieire ai circuitului. Atribuim ieirea O6 lui Q2, O5 lui Q1 i O4 lui Q0. Aria
combinaional implementeaz funciile D2, D1 i D0 cu pori I-SAU i conine 2048 de
fuzibile ce pot fi arse o singur dat. Ecuaiile lor, deduse cu ajutorul tabelului din figura 6.6,
sunt:
Q2+ = Q2 Q1 + Q1 Q0 + T/ R Q1

Q1+ = Q2 Q1 Q0 + Q1 Q0 + READY Q 0 + CYEND Q 2 Q1


Q0+ = Q2 Q1 + Q1 Q0 + READY Q0 + Q1 Q0 START

Celelalte 4 semnale de ieire ATTENTION, INACTIVE, CYCLE i F/E sunt


atribuite ieirilor I/O8, I/O7, I/O2 i respectiv I/O1, care au i ele inversoare cu 3 stri pe
ieire. Ecuaiile lor devin:
ATTENTION = Q1 + Q0 ;

CYCLE = Q2 + Q1 ;

INACTIVE = Q 2 + Q1 + Q 0 ;

F/ E = Q2 + Q1 ;

Semnalele de intrare START, READY, T/R i CYEND sunt atribuite intrrilor I1, I2,
I3 i respectiv I4, iar pe I5 se aplic intrarea RESET, absolut necesar i aici, din motivul
iniializrii bistabilelor la nceputul simulrii.

6.1.2 Sinteza circuitelor folosind limbajul VHDL


Limbajul VHDL este cel mai cunoscut i cel mai puternic limbaj de descriere hardware
a circuitelor. Pe lng modelarea i simularea sistemelor numerice, el permite sinteza
structurilor numerice la orice nivel, de la structuri alctuite din cteva pori logice pn la un
sistem 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 interfeelor lor, precum i pentru completarea ulterioar
a detaliilor. Dup scrierea propriu-zis a codului VHDL pentru fiecare dintre elementele
menionate mai sus, se compileaz proiectul, iar dac nu avem erori, se trece la etapa de
simulare. De fapt, simularea este doar un fragment al unei etape mai ample, numit verificare.
Este vorba de o verificare funcional, n care se verific logica circuitului, fr a ine seam de
aspectele de temporizare (ntrzierile introduse de pori se consider nule), urmat de o
verificare temporal, care are un caracter preliminar. Dup verificare se trece la stadiul de
finalizare a proiectului. Descrierea VHDL se transpune ntr-un set de primitive ce pot fi
asamblate n tehnologia propus. Aceste primitive se aplic resurselor de dispozitive
disponibile, folosind un instrument de aplicare, iar n final, se face o verificare temporal final
a circuitului rezultat dup aplicare.

98

6 ANALIZA I SINTEZA AUTOMAT


A

p1

B
C

p2

S1
p3

S2

Fig. 6.9 Schema logic a unei structuri combinaionale


Pentru a introduce cteva dintre conceptele limbajului VHDL vom considera
circuitul foarte simplu din figura 6.9. Pentru verificarea codului creat i simularea circuitului
am folosit versiunea freeware a programului VHDL Simili 2.2, realizat de firma Symphony
EDA. Aceast versiune are unele limitri funcionale i poate fi folosit timp de cteva luni.
La depirea acestui timp, se poate descrca din Internet o versiune actualizat freeware a
programului.
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
entitii. n exemplul din figura 6.10 s-a fcut o descriere comportamental a arhitecturii
circuitului, n care ansamblul celor 3 pori logice este vzut ca o component, numit
GATES, creia i se specific intrrile i ieirile, iar relaia dintre ele este dat de ecuaia
F <= not((A and B) or (not C)). Mai exist o declaraie a semnalelor A, B, C i F, precum i
variaiile lor n vederea simulrii. n final aceste semnale sunt mapate pe intrrile i ieirile
componentei GATES, n ordinea n care au fost declarate.
Componenta Sonata din VHDL Simili 2.2 ofer un mediu IDE (Integrated
Development Environment) prietenos. Se creaz de la nceput un nou proiect prin File i
NewWorkspace. Din acest moment toate aciunile din meniul principal devin posibile i se
.

library IEEE;
use IEEE.STD_LOGIC_1164.all;
entity FUNC is
end;
architecture VAR1 of FUNC is
component GATES
port (A, B, C: in STD_LOGIC;
F: out STD_LOGIC);
end component;
signal A, B, C, F: STD_LOGIC;
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;
F <= not((A and B) or (not C));
M: GATES port map (A, B, C, F);
end VAR1;

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

6.1 Consideraii teoretice

99

Fig. 6.11 Mediul Sonata i cteva ferestre reprezentative


creaz dou fiiere cu extensiile .sws i .sym. Se asociaz un set de fiiere VHDL cu biblioteca
curent (fiierul surs tut.vhd n exemplul nostru), iar modulele entitate i arhitectur apar ca
subcomponente ale fiierului tut.vhd n workspace. n figura 6.11 sunt prezentate patru ferestre
reprezentative ale mediului Sonata: workspace, editorul de text, lista semnalelor vizualizate i
fereastra de consol, care informeaz n permanen programatorul asupra aciunilor
desfurate n mediul prezentat.
Se face compilarea setului de fiiere ataat, sau a fiierului n exemplul nostru, i dac
nu sunt semnalate erori n fereastra de consol, se poate trece la faza de simulare. Semnalele
declarate sunt prezente n fereastra Scope i ele pot fi trimise n fereastra Signals prin
procedeul Drag and Drop.

Fig. 6.12 Mediul Sonata i fereastra Waveforms

100

6 ANALIZA I SINTEZA AUTOMAT

Simularea se poate face fie n regim continuu, pn la valoarea de timp stabilit de


proiectant, fie n pai care au o anumit durat ce poate fi selectat dup dorin. Formele de
und din figura 6.12 (dreapta, sus) arat c funcionarea circuitului este corect. Este
adevrat c n aceast simulare s-au neglijat timpii de propagare prin pori.
Poriunea de cod din figura 6.13 genereaz o arhitectur structural a circuitului,
fcnd o descriere la nivel de componente i interconexiuni. Circuitul este descris ca o
interconectare a unor blocuri sau componente disponibile (pori logice, multiplexoare,
memorii etc.). n acest context clasa signal va putea fi interpretat ca interconexiune.
Descrierea structural este echivalent schemei electrice. Fiecare poart logic este
introdus prin directiva component, se declar semnalele de intrare/ieire A, B, C, F, dar i
semnalele interne S1 i S2 (vezi figura 6.9). Se precizeaz apoi variaia semnalelor de
intrare, iar semnalele de intrare/ieire pentru fiecare component de circuit sunt mapate pe
intrrile/ieirile fiecrei componente, conform schemei electrice a circuitului.
Declaraiile de tip de componente sunt ns fr coninut deoarece lipsesc
informaiile despre obiectele la care se refer. Aceste declaraii asigur denumiri formale
proprii fiecrui fiier surs. Atribuirea coninutului se face prin asocierea numelor
componentelor declarate cu entitile utilizate pentru fiecare component. n acest fel se
pstreaz rezultatele anterioare la eventuale modificri de context, asigurndu-se
modularitatea proiectrii, un mare avantaj al limbajului VHDL ([Burdia,1999]). Alte
avantaje remarcabile ale limbajului VHDL sunt portabilitatea, independena proiectrii de
tehnologia de integrare i simularea comportamental a circuitelor.
architecture VAR2 of FUNC is
component and2gate
port (A, B: in STD_LOGIC;
F: out STD_LOGIC);
end component;
component invgate
port (A: in STD_LOGIC;
F: out STD_LOGIC);
end component;
component nor2gate
port (A, B: in STD_LOGIC;
F: out STD_LOGIC);
end component;
signal A, B, C, F: STD_LOGIC;
signal S1, S2: STD_LOGIC;
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;
p1: and2gate port map(A, B, S1);
p2: invgate port map(C, S2);
p3: nor2gate port map(S1, S2, F);
end VAR2;

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

101

6.2 Demonstraii practice

6.2 Demonstraii practice


6.2.1 Se lanseaz n execuie editorul grafic Schematics din mediul Design Center
5.2. Se deseneaz schema oscilatorului din figura 6.1 i se salveaz ntr-un fiier cu extensia
.sch. Se editeaz n NOTEPAD fiierul text Input.stm, dat n figura 6.3, i se salveaz n
acelai director cu fiierul 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 aleg
formele de und care ne intereseaz. Se verific dac ele corespund cu cele din figura 6.2 i
se repet simularea cu modificarea unor parametri (constanta de timp RC, durata simulrii,
pasul simulrii etc.).
V
.

6.2.2 Se deseneaz n editorul grafic Schematics, pe aceeai foaie de lucru,


schemele din figurile 6.7 i 6.8. Se editeaz n NOTEPAD un fiier de stimuli dup modelul
din figura 6.14. Acest fiier, care are extensia *.stm, se salveaz n acelai director cu
fiierul surs *.sch i se include n desen prin directiva INCLUDE. Se face analiza .TRAN
i se confrunt rezultatul obinut cu cel din figura 6.15. Observai modul n care este generat
semnalul de ceas n fiierul de stimuli. Observai modul n care sunt generate celelalte
semnale de intrare. Explicai de ce s-au luat pai diferii pe scara timpului pentru semnalele
START i T/R. Explicai de ce nivelele logice ale ieirilor nu sunt cunoscute n primele
momente de timp de la nceputul simulrii i artai care este rolul semnalului RESET,
semnal care nu apare n organigram. Verificai dac formele de und reprezint absolut
toate tranziiile posibile din organigram i, n caz contrar, construii un alt fiier de stimuli
care s evidenieze i acele tranziii care lipsesc. Se repet simularea i pentru alte semnale
de intrare, punnd n eviden asincronismul intrrilor 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

UREADY STIM(1,1) $G_DPWR $G_DGND


+
READY
+
IO_STM
+
TIMESTEP=0.5u
+
0c
0
+
20c
1
+
25c
0

URESET STIM(1,1) $G_DPWR $G_DGND


+
RESET
+
IO_STM
+
TIMESTEP=0.5u
+
0c
1
+
2c
0
+
6c
1

UT/R STIM(1,1) $G_DPWR $G_DGND


+
T/R
+
IO_STM
+
TIMESTEP=0.2u
+
0c
0
+
53c
1
+
84c
0

USTART STIM(1,1) $G_DPWR $G_DGND


+
START
+
IO_STM
+
TIMESTEP=0.2u
+
0c
0
+
29c
1
+
57c
0

UCYEND STIM(1,1) $G_DPWR $G_DGND


+
CYEND
+
IO_STM
+
TIMESTEP=0.5u
+
0c
0
+
40c
1
+
50c
0

Fig. 6.14 Fiier de stimuli

102

6 ANALIZA I SINTEZA AUTOMAT

Fig. 6.15 Simularea PSPICE a funcionrii interfeei

6.2.3 Se analizeaz schema din figura 6.16 i se discut problema metastabilitii.


Structura interfeei este memorat n aria combinaional prin starea fuzibilelor. Fiierul
care conine aceast informaie se numete PAL.JED i este un fiier n format standard
JEDEC (Joint Electronic Device Engineering Council). Figura 6.17 arat coninutul acestui
fiier pentru exemplul considerat. Formele de und obinute n urma simulrii sunt practic
identice cu cele obinute n figura 6.15, cu excepia semnalului RESET, care se activeaz de
aceast dat pe 1 logic. Fiierul PAL.JED ncepe cu caracterul 02H (start of text) i se
termin cu caracterul 03H (end of text) i este divizat n cmpuri, separate prin asterisc (*).
Primul cmp este de identificare i conine numele circuitului, atribuirea pinilor i alte
informaii. D este un identificator pentru tipul circuitului, G este fuzibilul de siguran, QF
indic numrul total de fuzibile, iar F reprezint starea implicit a fuzibilelor. L este un
identificator pentru lista fuzibilelor, numerotate de sus n jos i de la dreapta la stnga,
ncepnd de la L0000. Structura intern a circuitului PAL 16R4 este dat n figura 6.18.

Fig. 6.16 Schema electric a interfeei realizat cu PAL16R4

103

6.2 Demonstraii practice


$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 Coninutul fiierului PAL.JED

6.2.4 Se lanseaz n execuie mediul Sonata din programul Symphony EDA, grupul
VHDL Simili 2.2 i se introduce numele unui nou proiect, selectnd din meniul File
opiunea NewWorkspace. Se verific faptul c toate aciunile din meniu devin posibile
(compilarea, simularea etc.). Se editeaz n fereastra de editare codul VHDL propus n
figura 6.10 i se salveaz ntr-un fiier .vhd, fiier care se asociaz cu biblioteca curent. Se
compileaz fiierul creat (prima opiune din meniul Compile) i dac nu exist erori n
fereastra de consol, atunci se poate simula funcionarea circuitului. Dup alegerea pasului
de simulare (de exemplu 100ns), din meniul Simulate se alege opiunea Go i la apariia
ferestrei formelor de und se selecteaz prin Drag and Drop semnalele pe care dorim s le
vizualizm din lista de semnale existente n fereastra Scope. n continuare, la fiecare apsare
de buton se deseneaz noile forme de und pe durata pasului de simulare. Verificai c
semnalele obinute coincid cu cele din figura 6.12. Complicai fiierul surs, introducnd i
timpii de ntrziere prin pori i reluai simulrile de mai sus.
V
.

6.2.5 Se modeleaz automatul finit descris prin organigrama din figura 6.5.
Modelarea se poate face folosind instruciunea case. Variantele definite n instruciunea
case 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 entitii interfaa se pot introduce separat cu ajutorul
unui fiier de comenzi, sau pot fi descrise ntr-un alt fiier .vhd, care se compileaz
mpreun cu fiierul care descrie circuitul. Vizualizai formele de und i verificai
comportarea automatului pentru toate tranziiile posibile. ncercai s construii un nou fiier
surs care s realizeze o descriere structural a automatului, asemntoare celei din figura
6.13. Verificai prin simulare funcionarea corect a structurii.

104

6 ANALIZA I SINTEZA AUTOMAT

Fig. 6.18 Structura intern a circuitului PAL16R4

106

6 ANALIZA I SINTEZA AUTOMAT

6.3 Probleme rezolvate


6.3.1 Nivelele logice ale semnalelor de ieire reprezentate n figura 6.15 nu sunt
cunoscute n prima microsecund de la nceputul simulrii. Explicai de ce i artai cum se
poate rezolva aceast problem.
Rezolvare:
Este exact aceeai problem semnalat la oscilatorul din figura 6.1. Bistabilele din structura
PAL nu sunt iniializate, deci valorile ieirilor Q2 , Q1 i Q0 , precum i valorile ieirilor
ATTENTION, INACTIVE, CYCLE i F/E, care la rndul lor sunt generate de ieirile bistabilelor,
nu sunt cunoscute la nceputul simulrii. Aici nu este vorba de starea de nalt impedan (high Z),
ci de nivele logice 0 sau 1, dar care sunt necunoscute pentru simulator.
Soluia const n introducerea unui semnal de RESET, care aplic un nivel logic de 0 pe
intrrile bistabilelor din structur, iar la activarea semnalului de ceas acestea se reseteaz. Din acest
moment toate ieirile automatului sunt cunoscute i simulatorul poate analiza funcionarea
circuitului. Spre deosebire de bistabilele discrete, cele din structura PAL nu sunt prevzute cu intrri
asincrone de SET i RESET.
Este evident c la circuitele reale aceast problem nu apare pentru c ieirile bistabilelor au
o valoare logic ferm la cuplarea alimentrii, deci ele sunt automat iniializate, iar comportarea lor
viitoare depinde de semnalele aplicate pe intrrile circuitului.
V
.

6.3.2 Scriei o secven de cod VHDL pentru generarea unui semnal periodic de ceas
necesar sistemelor secveniale sincrone.
Rezolvare: (dup [Burdia, 1999])
Cea mai simpl metod de generare a unei secvene periodice este utilizarea instruciunii 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 iniializare nu mai este 0, ca la tipul bit,
ci U, adic necunoscut. Deci expresia not U rmne tot U i semnalul apare ca fiind
necunoscut pe toat durata simulrii.
O alt variant de generare a acestui semnal este utilizarea ntr-un proces a instruciunii
wait, cu observaia c trebuie s existe o limitare explicit a timpului simulat printr-o introducere
condiionat fr limit de timp a lui wait. Codul pentru acest proces este dat mai jos:
process
begin
wait for 10 ns;
a <= 1;
wait for 20 ns;
a <= 0;
end process;
V

6.3.3 Scriei un program VHDL pentru un decodificator BCD 7 segmente.


Rezolvare: (dup [Crstea, 2001])
Considerm c vectorul aplicat pe cele 7 segmente ale afiajului este abcdefg, pstrnd
notaiile din problema 2.3.2. Codul VHDL pentru acest circuit este dat n figura 6.20.

6.3 Probleme rezolvate

107

library IEEE;
use IEEE.std_logic_1164.all;
entity decodificator is
port (CNTIN: in STD_LOGIC_VECTOR (3 downto 0);
CNTOUT: out STD_LOGIC_VECTOR (6 downto 0));
end decodificator;
architecture dec_arch of decodificator is
begin

WITH CNTIN SELECT


CNTOUT <= "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;

end dec_arch;

Fig. 6.20 Un program VHDL pentru decodificatorul BCD 7 segmente


Entitatea decodificator este format dintr-un bloc care are 4 bii de intrare grupai n
magistrala CNTIN i 7 bii de ieire grupai n magistrala CNTOUT. Aceste semnale sunt tratate ca
vectori. Arhitectura circuitului este de tip comportamental, urmrind cazurile posibile descrise n
tabelul de adevr al decodificatorului BCD-7segmente.
Instruciunea WITH CNTIN SELECT specific faptul c valorile celor patru elemente
componente ale vectorului CNTIN se vor utiliza mpreun pentru a selecta o valoare care va fi
ncrcat n cele 7 elemente ale vectorului CNTOUT.
Observm c LED-urile afiajului sunt aprinse pentru valoarea logic 1 aplicat segmentului
respectiv, deci pentru celelate combinaii binare care sunt interzise n codul BCD segmentele
afiajului sunt stinse.
V

6.3.4 Scriei un program VHDL pentru un automat finit cu dou intrri sincrone A i
B i cu o ieire Y. Ieirea trebuie s fie 1 dac numrul de valori 1 aplicate pe cele 2 intrri,
dup ultima reiniializare, este multiplu de 4; iar n celelalte cazuri ieirea 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 bii. Apoi
declarm un semnal COUNT de acest tip, pentru a pstra numrul valorilor 1, i o constant ZERO,
de acelai tip, pentru iniializarea i verificarea valorii COUNT.
n cadrul procesului, se verific apariia frontului cresctor al ceasului, iar clauza if face o
reiniializare sincron, n timp ce else adaug la COUNT un 0, 1 sau 2, dup cum apar biii de 1
pe intrrile A i B. Expresia de tipul (0,X) este o variabil literal tablou, iar tipul ei este
compatibil cu UNSIGNED. Deci se poate face operaia de adunare, definit n pachetul
std_logic_arith. n exteriorul procesului, instruciunea simultan de atribuire a semnalelor impune
valoarea 1 la ieirea Y atunci cnd COUNT este zero.

108

6 ANALIZA I SINTEZA AUTOMAT


library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;
entity numarator is
port(CLOCK, RESET, A, B: in std_logic;
Y: out std_logic);
end numarator;
architecture automat_finit of numarator is
subtype COUNTER is UNSIGNED (1 downto 0);
signal COUNT: COUNTER;
constant ZERO: COUNTER := "00";
begin
process(CLOCK)
begin
if CLOCK'event and CLOCK = '1' then
if RESET = '1' then COUNT <= ZERO;
else COUNT <= COUNT + ('0', A) + ('0', B);
end if;
end if;
end process;
Y <= '1' when COUNT = ZERO else '0';
end automat_finit;

Fig. 6.21 Un program VHDL pentru automatul de numrare a valorilor de 1 pe intrri

6.3.5 Reluai problema 6.3.4 i modificai procesul VHDL pentru acelai automat,
artnd care sunt opiunile posibile folosind o instruciune case.
Rezolvare: (dup [Wakerly, 2002])
Vom prezenta n figura 6.22 numai modificarea adus procesului. Prin formularea
corespunztoare a opiunilor dintr-o instruciune case, devine posibil funcionarea n paralel a celor
dou circuite de incrementare, iar pentru selecia uneia dintre ieiri se poate folosi un multiplexor.
process(CLOCK)

variable ONES: STD_LOGIC_VECTOR (1 to 2);


begin
if CLOCK'event and CLOCK = '1' then

ONES := (A, B);


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

else case ONES is


when "01" | "10" => COUNT <= COUNT + "01";
when "11"
=> COUNT <= COUNT + "10";
when others
=> null;
end case;

end if;
end if;
end process;

Fig. 6.22 Un alt proces VHDL pentru automatul de numrare a valorilor de 1 pe intrri

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