Documente Academic
Documente Profesional
Documente Cultură
RO Electronica Digitala Aplicatii 104 Pag PDF
RO Electronica Digitala Aplicatii 104 Pag PDF
Prefa
Familii logice
11
14
19
24
Sisteme combinaionale
31
31
31
33
35
40
Circuite de impuls
45
45
45
48
49
50
54
Sisteme secveniale
59
59
59
62
4.1.3 Hazard
4.2 Demonstraii practice
63
64
69
Structuri programabile
79
79
79
80
81
83
84
88
91
91
91
97
101
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.
R2
1K6
4K
R4
130
T4
T1
A
B
T2
DA DB
Vcc
R3
1K
D1
A
Vout
T3
A. B
1 FAMILII LOGICE
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:
- 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 .
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.
10
1 FAMILII LOGICE
R1
Vcc
R2
RC
T1
A
B
1K6
4K
T2
Vout
A.B
T3
R3
DA D B
RC
1K
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
pentru 0 logic:
11
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
12
1 FAMILII LOGICE
V+
2
5
3
0
13
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
14
1 FAMILII LOGICE
Z0 =
L
C
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
Zs
Z0
Vs
Zt
sursa
destinaia
Circuitul
Vd
distana
Vd
Semnalul dup reflexie (cazul Z t > Z 0)
Vd
Vt distana
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.
17
[V]
B [V]
B [V]
4
[V]
2
tranziia din 0 n 1
2
tranziia din 1 n 0
Z 0 = 100
470
18
1 FAMILII LOGICE
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
19
14
13
12
11
10
+
V 5 V cc
_
1
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
_
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
21
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
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
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"
23
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
.
25
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 =
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:
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
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
C V+
= C V+2 f = 100 pF 52 V 2 1MHz = 2,5mW
T
V+
0V
IM
0A
tr
tf
Ps =
u(t ) i(t ) dt
0
= 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
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.
.
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 =
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.
.
+V cc
R1
IR 1
R1
IR 2
R2
*
I OH
R2
....
N
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
29
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
.
Vo
R1
VT- = 0,9V
R2
Vi
VT+ = 1,7V
....
VT-
VT+
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
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
Vin
+4V
V1
V2
Vout
+5V
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.
f : { 0,1} { 0,1} ,
n
unde
domeniul
de
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
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:
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
33
A A=A
1
A
A 1=A
D
B
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
)
P0 .I
P1 .I
2
2
DMUX
I
ENABLE
P2 .I P3 .I
34
2 SISTEME COMBINAIONALE
I1
I2
I3
I0 I1 I2 I3
B
E
A
B
MUX
A=1
B=0
C=1
2
2
1
0
ieire / intrare
MUX / DMUX
35
DMUX
5
MUX
W
f
36
2 SISTEME COMBINAIONALE
37
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
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
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
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
SN 74150
40
2 SISTEME COMBINAIONALE
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
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
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
A
C
0 D
1 D
A
B
f
. .
f = C + A B= C A B
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( 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
43
0
A
B
MUX
A
B
1
2
MUX
A
B
AG
MUX
BG
CG
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
44
2 SISTEME COMBINAIONALE
A
B
DMUX
0
C -1
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.
46
3 CIRCUITE DE IMPULS
Vout
V2
V1
Vout
0V
V1
VT
0V
1
. Cu
2,2 R C
1
C C0
L
C + C0
L
C0
X>0
(inductiv)
fp
fs
X<0
(capacitiv)
47
Q
CS
CT
CS
R
CT
R1
820
R2
C
820
out
7404
1n
7404
7404
48
3 CIRCUITE DE IMPULS
49
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
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.9 Configuraia pinilor i tabelul de funcionare pentru circuitul MMC 4047
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.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?
.
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
54
3 CIRCUITE DE IMPULS
R
C
300
10n
55
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
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
.
Out
100n
Out
390
56
3 CIRCUITE DE IMPULS
Rezolvare:
Formele de und obinute prin simulare PSPICE sunt date n figura 3.19. Pentru a calcula
t
(
)
(
)
u u 0
2,4V
21s , valoare foarte apropiat de cea din figura 3.19.
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
57
OUT
10 nF
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
VP2
VP1
0
t1
t2
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:
CLC
CLK
K
CLK
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
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
SISTEME SECVENIALE
poarta real
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
CLK
61
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
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
00 IDLE
RES 10
PLS
RESA 11
01
62
4 SISTEME SECVENIALE
Q = q1 , q 2 ,..., q p
CLC
CLK
MEMORIE
Y
63
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
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
CLK
CLK
Q2
CLK
Q3
Q4
CLK
Q1
CLK
65
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
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
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
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
.
67
O1
PROM
A2
Q1
CLK
O2
O3
Y1
Q2
CLK
A1
O4
A0
Y2
CLK
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
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:
I1
I2
I3
CLC
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
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
1,100
71
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
Q 2 = y2
I3
Q 3 = y3
Fig. 4.25 Schema logic a circuitului
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.
Q1
Q2
Q3
Q1
Q2
Q3
1 2 3 1 2 3
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
001
73
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
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
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
74
4 SISTEME SECVENIALE
75
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
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
y = Q1 + Q2 .
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 .
76
4 SISTEME SECVENIALE
Q +, y
x1x2
Q
1
2
3
4
5
00
01
11
10
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
A
0
X1
11
C
10
D
X4
B
X2
01
X3
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
77
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
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
78
4 SISTEME SECVENIALE
CLK
WAIT REQUEST (intrare)
READY (ieire)
WAIT (ieire)
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
2
CLK
Q
R
D
CLK
READY
0
Q
D
CLK
Q
R
WAIT
CLK
RESET
STRUCTURI PROGRAMABILE
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
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
81
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).
82
5 STRUCTURI PROGRAMABILE
83
Fig. 5.4 Structura unei macrocelule programabile din circuitul GAL 16V8
Switch Box
84
5 STRUCTURI PROGRAMABILE
85
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
+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.9 Dou interfee pentru programarea circuitelor GAL 16V8 i GAL20V8
88
5 STRUCTURI PROGRAMABILE
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
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
89
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
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
f1
f2
f3
90
5 STRUCTURI PROGRAMABILE
ADRESE
A 15 ... A 5
Registru serie de 32 bii
OUT
5
CLK
Numrtor
CLK
32
A 4 ... A 0
DATE IEIRE
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
ANALIZA I
SINTEZA AUTOMAT
92
93
94
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
ATTENTION
INACTIVE
READY
Calculator
Interfa
T/R
CYCLE
Micro calculator
CYEND
F/E
CLK
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
96
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
J 0 = Q2 START + Q1
K 0 = READY + Q1
K1 = Q 0
READY
CLK
2
K
T/R
CLK
CLK
CYEND
START
CLK
Q1
Q0
22
21
0
2 0
DCD
1
INACTIVE
ATTENTION
CYCLE
F/E
97
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.
98
p1
B
C
p2
S1
p3
S2
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
99
100
Fig. 6.13 O alt descriere VHDL pentru circuitul din figura 6.9
101
102
103
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*
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
106
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
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
end dec_arch;
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.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)
end if;
end if;
end process;
Fig. 6.22 Un alt proces VHDL pentru automatul de numrare a valorilor de 1 pe intrri