Documente Academic
Documente Profesional
Documente Cultură
A N A L IZ A Ş I S IN T E Z A D IS P O Z IT IV E L O R
NUMERICE
Bibliografie
1. Circuite de comutare aplicate în calculatoarele electronice, V. Pop,
Volker Popovici, ed. Facla, 1976
2. C ircuite integrate d igitale, G h. Ş tefan, I. D răgh ici, T . M ureşan, E .
Barbu, EDP, 1983
3. De la poarta T T L la m icroprocesor, I. S ztojanov ş.a., E T , 1987
4. P roiectarea cu circu ite logice M S I şi L S I stand ard, T .R . B lak eslee, E T ,
1988
5. Circuite integrate digitale, Gh. Stefan, V. Bistriceanu, Probleme,
proiectare, EDP, 1992
6. Circuite integrate digitale, Gh. Stefan, V. Bistriceanu, Probleme,
proiectare, E d. A lbastră, 2000
7. A utom atizări discrete în industrie, C u legere d e prob lem e, N .
S prânceană, R . D obrescu, T h. B orangiu, E T , 1978
8. Sisteme numerice cu circuite integrate, Culegere de probleme, Sanda
Maican, ET, 1980
9. A naliza şi sinteza disp ozitivelor nu m erice, I.A . L eţia, Înd rum ător d e
laborator, I.P. Cluj-Napoca, 1985
10. A naliza şi sinteza disp ozitivelor num erice, A . N eţin, O . C reţ,
Îndrum ător de lab orator, U T P ress. C luj-Napoca, 1998
Curs 1
CAPITOLUL I
ELEMENTE DE AL G E B R Ă B O O L E A N Ă
1.1. G en eralităţi
T ransferu l, p relucrarea şi păstrarea datelor nu m erice sau
nenu m erice în in terioru l unui calculator se realizează prin interm ed iul
circuitelor d e com utare. A ceste circuite se caracterizează prin faptu l că
prezintă d ouă stări stabile care se d eoseb esc calitativ în tre ele. S tările su nt
puse în coresp ond en ţă cu valorile b inare “0” şi “1” sau cu valorile logice
“ad evărat” şi “fals” (d in acest m otiv se m ai num esc şi circuite logice).
Pornind de la aceste considerente, un domeniul al logicii matematice,
(ştiinţa care utilizează m etod e m atem atice în solu ţionarea prob lem elor de
logică) num it “algebra logicii” şi-a găsit o largă ap licare în analiza şi
sinteza circuitelor logice. A lgebra logicii op erează cu p rop oziţii care p ot
fi adevărate sau false. U nei prop oziţii ad evărate i se atribuie valoarea “1 ”,
iar un ei prop oziţii false i se atribu ie valoarea “0”. O prop oziţie nu p oate fi
sim u ltan ad evărată sau falsă, iar d ouă prop oziţii sunt ech ivalen te d.p.d.v.
al algebrei logice, dacă sim u ltan ele sunt ad evărate sau false. P rop oziţiile
pot fi sim p le sau com puse, cele com pu se obţin ându -se din cele simple
prin legătu ri logice de tipu l conjuncţiei , disjuncţiei sau negaţiei .
Bazele algebrei logice au fost puse de matematicianul englez
George Boole (1815-1864) şi ca urm are ea se m ai nu m eşte şi algeb ră
booleană. E a a fost concepu tă ca o m etodă sim b olică p en tru tratarea
funcţiilor logicii form ale, dar a fost ap oi d ezvoltată şi ap licată şi în alte
domenii ale matematicii. În 1938 Claude Shannon a folosit-o pentru
prim a dată în analiza circu itelor d e com u taţie.
2
A xiom ele algebrei booleen e sunt urm ătoarele:
F ie o m u lţim e M com pusă din elem en tele x 1, x2,… x n, îm preună cu
op eraţiile şi + . A ceastă m u lţim e form ează o algebră dacă:
1) M u lţim ea M con ţin e cel puţin 2 elem en te distincte x 1 x2
(x1,x2 M);
2) Pentru x1 M, x2 M avem:
x1 + x2 M şi x 1 x2 M
3) O peraţiile şi + au urm ătoarele prop rietăţi:
a. sunt comutative
x1 x2 = x2 x1
x1 + x2 = x2 + x1
b. sunt asociative
x1 (x2 x3) = (x1 x2) x3
x1 + (x2 + x3) = (x1 + x2) + x3
c. sunt distribu tive una faţă de cealaltă
x1 (x2 + x3) = x1 x2 + x1 x3
x1 + (x2 x3) = (x1 + x2) (x1 + x3)
4) A m bele op eraţii adm it câte un elem en t neu tru cu prop rietatea:
x1 + 0 = 0 + x1 = x1
x1 1 = 1 x1 = x1
unde 0 este elem entu l nu l al m u lţim ii, iar 1 este elem entu l
unitate al m u lţim ii.
5) D acă m u lţim ea M nu con ţin e d ecât d ou ă elem en te, acestea
trebuie să fie ob ligatoriu elem en tu l nul 0 şi elem en tu l unitate 1;
atunci pentru x M există un elem en t unic n otat cu x cu
prop rietăţile:
x x = 0 princip iu l contradicţiei
x+x=1 princip iu l terţu lu i exclus
x este inversul elementului x.
În definirea axiom atică a algebrei s-au folosit diferite n otaţii. În
tab elu l urm ător se dau d enu m irile şi n otaţiile sp ecifice folosite p entru
diverse domenii:
3
1.3. P rop rietăţile algeb rei b ooleen e
P lecând d e la axiom e se d educ o serie de p roprietăţi care vor form a
reguli de calcul în cadrul algebrei booleen e. A ceste proprietăţi sunt:
1) P rincip iu l dub lei negaţii
x=x dubla negaţie duce la o afirm aţie
2) Id em p oten ţa
x x = x
x+x=x
3) A bsorb ţia
x1 (x1 + x2) = x1
x1 + (x1x2) = x1
4) P rop rietăţile elem entelor neu tre
x 0 = 0 x 1 = x
x+0=x x+1=1
5) Formulele lui De Morgan
x1 x2 = x1 + x2
x1 + x2 = x1 x2
A ceste form u le sun t foarte utile datorită p osibilităţii de a
transform a produsu l logic în sum ă logică şi in vers.
F orm u lele p ot fi gen eralizate la un num ăr arbitrar d e term eni:
x1 x2 … xn = x1 + x2 + … + x n
x1 + x2 + … + x n = x1 x2 … xn
6) P rincip iu l du alităţii – dacă în ax iom ele şi p roprietăţile algeb rei
booleen e se interschim bă 0 cu 1 şi + cu , sistemul de axiome
răm ân e acelaşi, în afara unor perm utări.
Verificarea proprietăţilor se poate face cu ajutoru l tab elelor d e
adevăr şi cu observaţia că două funcţii sun t egale dacă iau aceleaşi valori
în toate punctele d om en iu lu i de definiţie. P rin tab elu l d e ad evăr se
stabileşte o coresp ond en ţă în tre valorile d e ad evăr ale variab ilelor şi
valoarea d e adevăr a funcţiei.
Obs. C om utativitatea şi asociativitatea p ot fi extinse la un nu m ăr arbitrar,
dar finit, de termeni, indiferent de ordinea lor.
4
desch is, un tranzistor b locat sau în conducţie; funcţionarea un ui astfel de
circuit va fi descrisă de o variabilă b ooleană x i).
fi x 0 1 Reprezentare Denumire
f0 0 0 0 Constanta 0
f1 0 1 x Variabila x
f2 1 0 x N egaţia lui x
f3 1 1 1 Constanta 1
5
P oartă S I-NU – NAND f = x1 x2 x1 x1 x2 f x1 x2 f
x2 0 0 1 L L H
f=x1x2 0 1 1 L H H
1 0 1 H L H
1 1 0 H H L
P oartă S A U -NU – NOR f = x1 + x2 x1 x1 x2 f x1 x2 f
x2 0 0 1 L L H
f=x1+x2 0 1 0 L H L
1 0 0 H L L
1 1 0 H H L
SAU EXCLUSIV – XOR f = x1 + x2 x1 x1 x2 f x1 x2 f
x2 0 0 0 L L L
f=x1 + x2 0 1 1 L H H
1 0 1 H L H
1 1 0 H H L
C O IN C ID E N Ţ Ă f = x1 x2 x1 x1 x2 f x1 x2 f
x2 0 0 1 L L H
f=x1 x2 0 1 0 L H L
=x1 + x2 1 0 0 H L L
1 1 1 H H H
6
“m ” com b inaţii ale variab ilelor d e intrare se p ot d efini 2 m funcţii n oi p rin
alegerea arbitrară a valorilor incom p let d efinite.
2. D iagram ă K arn au gh
O diagram ă K arnau gh p entru o funcţie b oolean ă d e n variab ile se
desen ează sub form a unu i pătrat sau dreptun gh i îm părţit în 2 n
compartimente. Fiecare compartiment este rezervat unui termen canonic
al funcţiei, resp ectiv unuia din tre vârfurile cubu lui n dim ensional din
rep rezentarea geom etrică a funcţiei (2n n-up le ale funcţiei).
D iagram a K arnau gh este organizată astfel încât d ouă
com partim en te vecin e p e o linie sau p e o coloană corespund la d oi
term en i can onici care diferă num ai printr-o sin gură variabilă, care apare
în unul ad evărată, iar în celălalt negată (la d ouă n -pluri adiacente). Se
consid eră vecin e şi com partim entele aflate la cap etele opuse ale un ei lin ii,
respectiv coloane.
D iagram a K arnau gh se notează fie indicând d om eniu l fiecărei
variabile, fie ind icând p e lin ie şi coloană n -uple de zerouri şi un ităţi
coresp ond ente unui com p artim en t din diagram ă şi ordin ea variabilelor.
P rim a n otaţie se foloseşte în cazu l în care se rep rezin tă funcţia prin form a
ei canon ică sau n orm ală. A doua notaţie se foloseşte în cazu l în care
funcţia se rep rezin tă prin tab el d e adevăr. P entru a putea rep rezenta uşor
funcţii exprim ate în m od con venţional prin ind icii term enilor can on ici se
poate nota fiecare compartiment cu indicele termenului corespondent,
ţinând cont d e o anum ită ordin e a variabilelor.
Exemple:
1) Diagram a K arnau gh p entru funcţia de 2 variabile:
f(x1, x2) = x1x2 + x1x2
x2 x1 0 1 x2 x1 0 1
0 x1x2 x1x2 0 0 1
x2 1 x1x2 x1x2 1 1 0
x1
sau
x1
00 01 11 10
x2
Obs. N um erotarea liniilor şi coloanelor se face în cod G ray (cod bin ar
reflectat)
7
Cod binar direct Cod Gray
0000 0000
0001 0001
0010 0011
0011 0010
0100 0110
0101 0111
0110 0101
0111 0100
1000 1100
1001 1101
1010 1111
1011 1110
1100 1010
1101 1011
1110 1001
1111 1000
2) D iagram a K arnau gh p entru funcţia de 3 variabile:
y = f(x1,x2,x3)
D om en iu l d e d efiniţie este form at din 2 3 = 8 puncte şi reprezintă
vârfurile unui cub cu latura 1:
x1
001 101
011 111
000 100 x3
010 110
x2
x1 x2x3 00 01 11 10
0 1 3 2
0
4 5 7 6
x1 1
x3
sau
8
x3
x1x2 x3 0 1
0 1
00
01 2 3
x2
6 7
x1 11
10 4 5
x3
P rin săgeţi am m arcat vecin ătăţile p unctu lui d e coord onate 0010.
4) D iagram ele K arnau gh p entru funcţii d e m ai m u lt de 4 variabile
se construiesc din diagrame de 4 variabile considerate ca diagrame
elementare.
3. S ch em ă logică – reprezentare cu ajutorul simbolurilor
circuitelor logice.
4. D iagram ă d e tim p – reprezen tare u tilă p entru studiu l un or
forme tranzitorii de hazard în circuitele logice. S e reprezintă
funcţii logice în a căror evolu ţie intervin e tim pu l.
Exemplu: f = x1x2
x1
x2
9
Curs 2
1.4.2.2. M odalităţi de reprezen ta re an alitică
1) Formele canonice
F ie o funcţie b ooleană f(x), und e x = (x 1,x2,… ,x n). S e defin eşte
num ăru l i = x 120 + x221 + … + x n2n-1 ca num ăr de com binaţii.
Exemplu:
x1 x2 x3 f
0 0 0
0 0 1
0 1 0 i = 022 + 121 + 020 = 2
0 1 1
F ie funcţia P i d efinită pe B n B, deci Pi : Bn B
Pi(x1,x2,… ,x n) = 1 dacă num ăru l de com binaţii este i
0 în caz contrar
A ceastă funcţie se num eşte constitu en t al unităţii. S e p oate arăta că
orice funcţie b ooleană dată prin tab elu l d e ad evăr se p oate scrie ca o su m ă
de constitu en ţi ai unităţii.
f(x1, x2,… ,x n) = Pi1 + Pi2 + … + P ip = Pij
i,j M1
unde M1 = m u lţim ea tutu ror com binaţiilor argu m entelor p entru care
funcţia ia valoarea 1. A ceastă form ă d e scriere se nu m eşte forma
can on ică d isju n ctivă F C D , iar term enii constitu en ţi se nu m esc term eni
canonici conjunctivi sau mintermi (se m ai num eşte şi form a su m ă de
produse).
Funcţia b ooleană se m ai p oate scrie şi sub form a S i : Bn B unde
B = {0,1}.
Si(x1,x2,… ,x n) = 0 dacă num ăru l de com binaţii este i
1 în caz contrar
S e p oate d em on stra că orice funcţie b ooleană p oate fi adusă la
forma:
f(x1, x2,… ,x n) = Si1 Si2 … Siq = Sij
i,j M0
unde M0 = m u lţim ea tutu ror com binaţiilor argu m entelor p entru care
funcţia ia valoarea 0. A ceastă form ă d e scriere se nu m eşte forma
can on ică con ju n ctivă F C C , iar factorii constitu en ţi se num esc term eni
canonici conjunctivi sau maxtermi (se m ai num eşte şi form a p rodus de
sume).
S e p oate d em onstra că S i = Pi.
A lgoritm i d e ob ţin ere a form elor can on ice pe baza tabelului de
adevăr sau a d iagramei Karnaugh:
1
FCD
- se d eterm ină toate com b inaţiile variabilelor p en tru care valoarea
funcţiei este 1;
- se scriu m interm ii corespun zători (o variabilă apare n en egată
dacă are valoarea 1 şi negată dacă are valoarea 0);
- se în sum ează m interm ii ob ţinu ţi an terior.
FCC
- se d eterm ină toate com b inaţiile variabilelor p en tru care valoarea
funcţiei este 0;
- se scriu m axterm ii corespunzători p rin însu m area variab ilelor (o
variabilă apare n en egată d acă are valoarea 0 şi n egată dacă are
valoarea 1);
- se în m u lţesc m axterm ii obţinuţi anterior.
Exemplu:
x1 x2 x3 f
0 0 0 0
0 0 1 1 mintermul este x1x2x3
0 1 0 0 maxtermi sunt (x1+x2+x3)(x1+x2+x3)
Trecerea dintr-o form ă can onică în alta se p oate face în d ouă
moduri:
- cu ajutoru l tab elu lu i de ad evăr;
- prin aplicarea dub lei n egaţii şi a teorem elor lu i D e M organ.
Teorema lui Shannon
C om p lem en tu l un ei funcţii booleen e se ob ţin e prin
com p lem entarea fiecărei variabile şi intersch im barea op eratorilor Ş I cu
S A U şi reciproc.
f(x1,x2,… ,x n)+, = f(x1,x2,… ,x n),+
Teorema de expansiune
F ie funcţia booleană f(x 1,x2,… , x i-1, xi, xi+1,… ,x n) care se
expand ează după variab ila x i. Avem atunci:
f(x1,x2,… , x i-1, xi, xi+1,… ,x n) = xif(x1,x2,… , x i-1, 1, xi+1,… ,x n) +
xif(x1,x2,… , x i-1, 0, xi+1,… ,x n)
F uncţia duală este:
f = [xi + f(x1,x2,… , x i-1, 0, xi+1,… ,x n)][xi + f(x1,x2,… , x i-1, 1, xi+1,… ,x n)]
2) F orm a elem en tară
L a form ele can on ice ale funcţiilor booleen e term en ii conţin toate
variabilele independente de intrare, negate sau nenegate. Termenii formei
elem en tare nu con ţin toate variabilele d e in trare. A ceastă form ă se obţine
din formele canonice prin minimizare.
3) F orm a n eelem en tară
F orm a n eelem en tară con ţin e variabile sau grupuri d e variabile
com un e m ai m u ltor term eni. S e ob ţin e din celelalte form e prin ap licarea
2
algebrei booleen e. E ste folosită la im p lem entarea funcţiilor logice
deoarece p erm ite reducerea num ăru lu i d e in trări în circuitele logice. A re
dezavan taju l m ăririi num ăru lu i de nivele logice.
3
Metoda de minimizare:
- se realizează grupări d e com partim ente (subcuburi) care sun t
puteri ale lui 2. Un compartiment poate fi membru al mai multor
suprafeţe. O suprafaţă cu 2 m celule vecine va elimina 2m
variabile de intrare.
- se scriu ecuaţiile corespunzătoare fiecărei suprafeţe, obţinându -
se astfel termenii elementari.
- se realizează form a disjunctivă m inim ă (F D M ) prin însu m area
term en ilor elem entari obţinuţi prin gruparea constitu enţilor lui 1
sau form a conjunctivă m in im ă (F C M ) prin înm u lţirea
term en ilor elem entari obţinuţi prin gruparea d e constitu enţi ai
lu i 0; funcţiile m inim ale obţinute sunt id entice, ele d iferind
numai prin forma de prezentare.
P entru a se obţin e form a m inim ală a unei funcţii b ooleen e este util
să se m inim izeze am b ele form e canonice, F C C şi F C D . A poi, în funcţie
de disp on ibilitatea com p on en telor şi de num ăru l d e con exiun i care
rezu ltă, se poate alege form a m in im ală a funcţiei booleen e care va fi
im p lem entată.
Exemplu:
f(x1,x2,x3,x4) = (3, 7, 8, 9, 12, 13, 15)
x4
x1x2 x3x4 00 01 11 10
00 0 0 1 0
01 0 0 1 0 x2
x1 11 1 1 1 0
10 1 1 0 0
x3
P entru F D M a funcţiei se obţin d ouă variante, după cum se aleg
suprafeţele p entru m inim izare:
fFDM1 = x1x3 + x1x3x4 + x1x2x4 sau
fFDM2 = x1x3 + x1x3x4 + x2x3x4
4
x4
x1x2 x3x4 00 01 11 10
00 0 0 1 0
01 0 0 1 0 x2
x1 11 1 1 1 0
10 1 1 0 0
x3
F orm a m in im izată conjunctivă a funcţiei F C M este:
fFCM = (x1+x3)(x3+x4)(x1+x2+x3)
x4
x1x2 x3x4 00 01 11 10
00 x 1
01 x 1 x x2
x1 11 1 1 1
10 1 x 1 x
x3
C a să m inim izăm funcţia în F D M consid erăm că x au valoarea 1 şi
grupăm aceşti x num ai cu valorile d e 1, nu şi între ei (o grupare între ei nu
are nici o sem nificaţie).
S e obţin e: fFDM = x1x2 + x2x3 + x1x4 + x2x4
Obs. În cazu l funcţiilor incom p let d efinite, funcţia com p lem en tară
sim p lificată prin grupări d e 0 nu coin cid e în totd eauna cu com p lem en tul
funcţiei.
5
3. Diagrame Karnaugh cu expresii
a. Superpoziţia funcţiilor booleene
F ie o funcţie b ooleană f(X ) cu X = (x1,x2,… , x i, xi+1,… ,x n). D acă
consid erăm X 1 = (x1,x2,… , x i) şi X 2 = (xi+1,… ,x n) şi dacă funcţia f(X )
poate fi scrisă ca o funcţie f(X ) = f3[f1(X1), f2(X2)] atunci spun em că f(X )
a fost ob ţinută prin sup erp oziţia funcţiilor f1(X1) şi f2(X2).
D acă X 1 X2 = atunci avem o superp oziţie d isjunctă, iar dacă
X1 X2 avem o sup erp oziţie nedisjunctă.
x1
f
xn
D upă superp oziţie avem :
x1
f1
xi
f3 f
xi+1
f2
xn
b. D ecom poziţia funcţiilor booleene
D acă se dă o funcţie booleană şi un set d e funcţii se cere să se
realizeze o “spargere” a funcţiei booleen e. S -a reuşit d ecom p oziţia
funcţiei booleen e dacă:
f = fm [fm-1(Xm-1), fm-2(Xm-2),… ,f1(X1),X0] unde Xi X
D acă f poate fi scrisă ca f = f2[f1(X1),X0] decom p oziţia este sim p lă.
m-1
D ecom p oziţia este n edisjunctă dacă: Xi =
i=j
m-1
D ecom p oziţia este d isjunctă dacă: Xi
i=j
Exemplu:
f(x1,x2,x3,x4) = (0, 2, 3, 7, 9, 10, 11, 14)
x4
x1x2 x3x4 00 01 11 10
00 1 1 1
01 1 x2
x1 11 1
10 1 1 1
x3
fFDM = x1x2x4 + x1x3x4 + x1x3x4 + x1x2x4 = x2(x1 x4) + x3(x1 + x4) =
= x2G + x3G unde G = x1 + x4 şi deci f se poate scrie:
6
f = f2[G(x1,x4), x2,x3]
Pornind de la această form ă p entru f, facem o m inim izare.
f = x2G + x3G = x2G(x3 + x3) + x3G(x2 + x2) =
= x2x3G + x2x3G + x2x3G + x2x3G = x2x3 + x2x3G + x2x3G
D iagram a K arnau gh corespunzătoare este:
x2 x3 0 1
0 G 1
x2 1 0 G
x3
În general o diagram ă K arnau gh cu “n” expresii (sau variab ile) are
n
2 locaţii. P rin în globarea în d iagram ă a “m ” expresii (variab ile)
dim ensiun ea diagram ei se reduce, num ăru l d e locaţii d evenind 2 n-m.
P entru a m inim iza o funcţie prin diagram e K arnau gh cu expresii se
fac urm ătorii paşi:
1) se con sid eră toate variab ilele din d iagram ă ca şi cum ar fi 0 şi se
form ează suprafeţe (subcubu ri) cu constitu enţii lui 1;
2) se con sid eră toate locaţiile cu 1 indiferente şi se form ează
suprafeţe (subcuburi) cu variabilele înglobate;
3) se consid eră in tersecţia variab ilelor în globate cu grupările
obţinute în pasu l 2 ;
4) se face reun iun ea term enilor din paşii 1 şi 3;
5) pen tru m ai m u lt d e o variabilă în glob ată se tratează p e rând
conform paşilor 1 - 4 num ai câte o variab ilă, celelalte fiind
considerate 0, iar apoi se scrie reuniunea tuturor termenilor
obţinuţi.
Exemplu:
S ă se m in im izeze funcţia cu variabile în glob ate:
x1 x2x3 00 01 11 10
0 a+b 1 c
1 1 1 x
Pasul 1.
x1 x2x3 00 01 11 10
0 1
1 1 1 x
S e obţin e x2x3 + x1x3
Pasu l 2 şi 3.
x1 x2x3 00 01 11 10
0 a+b x c
1 x x x
S e obţin e cx2 + (a+b)x1x3
Pasul 4. f = x2x3 + x1x3 + cx2 + (a+b)x1x3
7
Curs 3
1
În continuare se rep etă proced eu l d e com p arare până când nu m ai
este posibilă nici o reducere.
Comparare R ezu ltatu l com parării
între x1 x2 x3 x4
0, 2, 8, 10 - 0 - 0
2, 3, 10, 11 - 0 1 -
3, 7, 11, 15 - - 1 1
5, 7, 13, 15 - 1 - 1
Termenii rezu ltan ţi, (0, 2, 8, 10), (2, 3, 10, 11), (3, 7, 11, 15) şi
(5, 7, 13, 15) se numesc im p lican ţi p rim i IP.
3. S e aleg acei im p licanţi prim i IP care asigură acop erirea
m inim ală a term enilor can on ici T C . P entru aceasta se
constru ieşte un tab el d e acop erire, în care p e coloan e se n otează
term en ii can on ici T C , iar pe lin ii im p licanţii prim i IP . În
intersecţii se n otează acei term en i canon ici T C acop eriţi d e
fiecare implicant prim IP.
IP TC 0 2 3 5 7 8 10 11 13 15
0, 2, 8, 10 x x x x
2, 3, 10, 11 x x x x
3, 7, 11, 15 x x x x
5, 7, 13, 15 x x x x
U nii dintre im p licanţii p rim i sun t im p lican ţi p rim i esen ţiali pentru
că acop eră cel pu ţin un term en can onic al funcţiei, care nu este acop erit
de alt im p licant p rim . Im p licanţii prim i esenţiali vor face parte în m od
ob ligatoriu d in expresia m inim izată a funcţiei. În cazu l n ostru im p licanţi
prim i esenţiali sunt (0, 2, 8, 10) şi (5, 7, 13, 15). P entru term enii can on ici
care au răm as n eacop eriţi, 3 şi 11, se observă că p ot fi aleşi 2 im p licanţi
prim i, (2, 3, 10, 11) şi (3, 7, 11, 15), deci există 2 soluţii de minimizare.
f = (0, 2, 8, 10) + (5, 7, 13, 15) + (2, 3, 10, 11) = x2x4 + x2x4 + x2x3 şi
f = (0, 2, 8, 10) + (5, 7, 13, 15) + (3, 7, 11, 15) = x2x4 + x2x4 + x3x4
2
Exemplu:
f1(x1,x2,x3) = (1, 5, 6, 7)
f2(x1,x2,x3) = (1, 4, 5, 6)
f3(x1,x2,x3) = (0, 2, 5, 6, 7)
1. C alcu lăm funcţiile p rodus:
f1f2 = (1, 5, 6)
f1f3 = (5, 6, 7)
f2f3 = (5, 6)
f1f2f3 = (5, 6), identică cu f2f3
2. D eterm inăm im p licanţii prim i din funcţiile sim p le şi din p rodusele
determ inate la punctu l 1. P entru determ inarea im p licanţilor prim i se
folosesc diagrame Karnaugh în care se iau toate acoperirile posibile.
Pentru f1:
x1 x2x3 00 01 11 10
0 1
1 1 1 1
Pentru f2:
x1 x2x3 00 01 11 10
0 1
1 1 1 1
Pentru f3:
x1 x2x3 00 01 11 10
0 1 1
1 1 1 1
Pentru f1f2:
x1 x2x3 00 01 11 10
0 1
1 1 1
Pentru f1f3:
x1 x2x3 00 01 11 10
0
1 1 1 1
Pentru f2f3 şi f1f2f3:
x1 x2x3 00 01 11 10
0
1 1 1
3. Construim un tabel în care capetele de linii vor reprezen ta funcţiile, iar
coloanele vor fi im p licanţii prim i.
3
F uncţia Im p licanţi prim i
Indici Expresii N otaţii
f1 1,5 x2x3 -
6,7 x1x2 -
5,7 x1x3 -
f2 1,5 x2x3 -
4,5 x1x2 i
4,6 x1x3 h
f3 0,2 x1x3 g
2,6 x2x3 f
6,7 x1x2 -
5,7 x1x3 -
f1f2 1,5 x2x3 e
6 x1x2x3 -
f1f3 5,7 x1x3 d
6,7 x1x2 c
f2f3 = f1f2f3 5 x1x2x3 b
6 x1x2x3 a
4. S e notează IP p e coloana a patra din tab el în cepând cu u ltim u l, iar cei
care apar dublaţi nu se m ai n otează.
5. S e construieşte un tabel al acop eririlor funcţiilor f1, f2, f3.
N otaţii Indicii F uncţia d e f1 f2 f3
unde au 1 5 6 7 1 4 5 6 0 2 5 6 7
rezultat
a 6 f1f2f3 x x x
b 5 f1f2f3 x x x
c 6, 7 f1f3 x x x x
d 5, 7 f1f3 x x x x
e 1, 5 f1f2 x x x x
f 2, 6 f3 x x
g 0, 2 f3 x x
h 4, 6 f2 x x
i 4, 5 f2 x x
6. D eterm inăm acop eririle op tim e ale funcţiilor f1, f2, f3.
A(f1) = e,c + e,d,a = A1 + A2 cu e implican t prim esen ţial
A(f2) = e,h + e,i,a = B1 + B2 cu e im p lican t prim esen ţial
A(f3) = g,c,b + g,c,d, + g,f,d + g,a,d = C 1 + C2 + C3 + C4 cu g implicant
prim esen ţial
7. S e scriu toate acop eririle p osib ile pentru sistem u l d e funcţii şi se alege
acea acoperire care realizează cond iţiile d e preţ m in im şi d isp on ibilitate
de piese. Se face tabelul pentru acoperiri:
4
Acoperiri Elementele acoperirii N um ăr de term eni Cost
A1B1C1 e,c,h,g,b 5 11
A1B1C2 e,c,h,g,d 5 10
A1B1C3 e,c,h,g,f,d 6
A1B1C4 e,c,h,g,a,d 6
A1B2C1 e,c,i,a,g,b 6
A1B2C2 e,c,i,a,g,d 6
A1B2C3 e,c,i,a,g,f,d 7
A1B2C4 e,c,i,a,g,d 6
A2B1C1 e,d,a,h,g,c,b 7
A2B1C2 e,d,a,h,g,c 6
A2B1C3 e,d,a,h,g,f 6
A2B1C4 e,d,a,h,g 5 11
A2B2C1 e,d,a,i,g,c,b 7
A2B2C2 e,d,a,i,g,c 6
A2B2C3 e,d,a,i,g,f 6
A2B2C4 e,d,a,i,g 5 11
Avem acoperiri minimale cu 5 termeni. Pentru a calcula costul unei
acop eriri se face sum a costu rilor im p licanţilor prim i d in acop erirea
consid erată. C ostu l unui im p licant prim d e n variab ile d in care lipsesc r
variabile este n-r, pentru că fiecare variabilă prezen tă necesită un con tact,
o legătură.
n-1
C = gr (n-r)
r=0
unde gr este num ăru l subcubu rilor din care lipsesc r variabile.
Pentru acoperirea A1B1C2, care are elementele e,c,h,g,d, avem costul:
2
C = gr (3-r) = g03 + g12 + g21 = 03 + 52 + 01 = 10
r=0
e = x 2 x3
c = x 1 x2
h = x1x3
g = x1x3
d = x1x3
M inim izarea sistem u lu i de funcţii va fi:
f1 = x2x3 + x1x2
f2 = x2x3 + x1x3
f3 = x1x3 + x1x3 + x1x2 = x1x2 + x1 + x3
D atorită reducerii corelate a sistem ulu i d e funcţii apar p orţi com u n e mai
multor funcţii.
5
Curs 4
CAPITOLUL II
C IR C U IT E L O G IC E C O M B IN A Ţ IO N A L E
2.1. D efin iţii
C ircuitele logice com bin aţion ale, C L C , sunt un caz particu lar al
sistem elor secven ţiale finite sau al autom atelor fin ite, num ite au tom ate de
grad 0.
C ircuitele logice com b inaţionale se caracterizează prin faptu l că
variabilele d e ieşire sun t ind ep end ente de tim p şi d e starea intern ă, fiind
determinate numai de variabilele de intrare (starea variabilelor de intrare
la momentul considerat).
L egătu ra dintre starea ieşirii şi starea in trării unui CLC este
realizată d e funcţia de tran sfer.
x1 y1
x2 y2
CLC
xn ym
ym = fm(x1, x2,… , x n)
F uncţiile se vor exprim a în form a canon ică disjunctivă F C D sau în
form a can onică conjunctivă F C C .
Ind ep end enţa faţă de tim p presup une că o dată cu m od ificarea
variabilelor d e in trare se m odifică sim u ltan şi variabilele d e ieşire. D in
punct d e ved ere p ractic, datorită întârzierilor produse d e circu itele logice
şi d e con exiuni, m od ificarea sim u ltană nu este p osibilă. C a urm are, pe
durata p rocesu lu i tranzitoriu d e stabilire a variab ilelor d e ieşire, vectorul
ieşirilor p oate lua valori interm ed iare d iferite d e valoarea finală, ceea ce
conduce la fen om enu l d e hazard com binaţional, d e care trebuie să se ţină
cont la proiectarea unui sistem numeric.
În gen eral, la circu itele logice com binaţionale, vom face abstracţie
de proprietăţile fizice ale p orţilor logice, de faptu l că un im pu ls teoretic
diferă d e unu l real. V om analiza aceste fen om en e d oar în cazu l hazardu lui
com binaţional.
1
2.2. A n aliza circu itelor logice com b in aţion ale
În cadrul analizei CLC se pleacă d e la cunoaşterea sch em ei logice a
circuitu lu i şi se urm ăreşte stabilirea funcţionării acestuia. S tabilirea
expresiei variab ilei d e ieşire se face d e la intrare la ieşire, urm ărind
transform ările variabilelor d e in trare.
Definim ca n u m ăr d e n ivele al unu i C L C num ăru l m axim d e p orţi
dintre intrări şi ieşiri. N um erotarea nivelelor se face d e la ieşire însp re
intrare.
x5
x1
x2
y1
x3
x4 y2
x6 x7
4 3 2 1
x3
2
2.3. S in teza circu itelor logice com b in aţion ale
În cadru l sintezei circu itelor logice com b inaţionale se cunoaşte
funcţia pe care trebu ie să o înd eplin ească circu itu l şi se cau tă să se
găsească structura acestuia.
Etapele sintezei circu itelor logice com b inaţionale sun t:
1. E nunţu l prob lem ei;
2. A lcătuirea tab elu lu i de ad evăr, definirea funcţiei sau funcţiilor;
3. M inim izarea funcţiei sau funcţiilor;
4. Desenarea schemei circuitului
E xistă m ai m u lte m etod e d e im p lem en tare a C L C , diferenţiate după
nivelul de complexitate al circuitelor integrate folosite.
3
g3 g2 g1 g0 b3 b2 b1 b0
0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 1
0 0 1 1 0 0 1 0
0 0 1 0 0 0 1 1
0 1 1 0 0 1 0 0
0 1 1 1 0 1 0 1
0 1 0 1 0 1 1 0
0 1 0 0 0 1 1 1
1 1 0 0 1 0 0 0
1 1 0 1 1 0 0 1
1 1 1 1 1 0 1 0
1 1 1 0 1 0 1 1
1 0 1 0 1 1 0 0
1 0 1 1 1 1 0 1
1 0 0 1 1 1 1 0
1 0 0 0 1 1 1 1
S e construiesc diagram e K arnaugh p entru determ inarea funcţiilor
minimizate pentru b3, b2, b1, b0.
Diagrama Karnaugh pentru b3:
g3g2 g1g0 00 01 11 10
00
01
11 1 1 1 1
10 1 1 1 1
O bţin em : b 3 = g3
Diagrama Karnaugh pentru b2:
g3g2 g1g0 00 01 11 10
00
01 1 1 1 1
11
10 1 1 1 1
O bţin em b 2 = g2g3 + g2g3 = g2 + g3
Diagrama Karnaugh pentru b1:
g3g2 g1g0 00 01 11 10
00 1 1
01 1 1
11 1 1
10 1 1
O bţin em b 1 = g1g2g3 + g1g2g3 + g1g2g3 + g1g2g3 = g1(g2 + g3) + g1(g2 + g3)
= g1 + g2 + g3
4
Diagrama Karnaugh pentru b0:
g3g2 g1g0 00 01 11 10
00 1 1
01 1 1
11 1 1
10 1 1
O bţin em b 0 = g0g1g2g3 + g0g1g2g3 + g0g1g2g3 + g0g1g2g3 + g0g1g2g3 +
g0g1g2g3 + g0g1g2g3 + g0g1g2g3 = g2g3(g0 + g1) + … = g 0 + g1 + g2 + g3
În general:
bn = gn
i
bi = 1 dacă + gj = 1
j=n-1
0 dacă nu
5
Codificatoru l prioritar este un codificator care are m ai m u lte intrări
active sim u ltan şi la ieşire se ob ţine cu vântu l d e cod care corespun de
intrării care este cea m ai prioritară. P rioritatea creşte d e la cifra 0 însp re
cifra 9.
3. Decodificatoare
Decodificatoarele sun t C L C la care se activează d oar una d intre
ieşiri, p entru com b inaţia (codu l) corespunzătoare a variabilelor d e intrare.
E le au funcţie in versă codificatoarelor. Ieşirile d ecod ificatoarelor su nt
active p e 0 logic (funcţion ează în logică negativă).
I1 y1
Circuite SI-NU
In ym
sm-1 s0
C u m linii d e selecţie se p ot selecta 2 m in trări. F uncţia realizată d e ieşire
este:
y = Ik unde k este num ăru l d e com b inaţii
k = sm-1 2 + … + s0 20
m-1
6
A plicaţiile cele m ai im p ortan te ale M U X sunt la selecţia
secvenţială a datelor, con versia paralel-serie a datelor, sisteme de
transmisie a datelor pe un singur canal, implementarea circuitelor logice
com binaţionale cu o sin gură ieşire.
Exemple
1) I0
MUX y
I1 2:1
s
Multiplexorul de tip 2:1 are 2 semnale de intrare, I0 şi I1, un semnal de
selecţie s şi o ieşire y. În funcţie de sem nalu l d e selecţie avem p entru
ieşire: y = I0 s + I1 s.
s=0 y = I0
s=1 y = I1
D eci m u ltip lex oru l lasă să treacă sp re ieşire sem n alul de pe acea linie de
intrare corespunzătoare lui s.
2) I0
I1 MUX
I2 4:1 y
I3
s0 s1
M u ltip lex oru l d e tip 4 :1 are 4 sem n ale de intrare, 2 sem nale d e selecţie şi
un sem nal d e ieşire. Ieşirea va fi:
y = I0 s0 s1 + I1 s0 s1 + I2 s0 s1 + I3 s0 s1
E xistă m u ltip lex oare d e tip 8 : 1, 1 6: 1, 32 : 1. M u ltip lex oarele in tegrate
au dispon ibile atât ieşirea ad evărată cât şi cea negată. E le au şi o in trare
de “E nab le” p entru validare, care perm ite o funcţie S I sup lim entară.
5. Demultiplexoare
Demultiplexoarele sunt CLC care permit transmiterea datelor de pe
o intrare d e date com ună p e una d in ieşirile selectate. S electarea ieşirii se
face cu ajutoru l unui cu vânt d e cod de selecţie num it şi adresă.
y0
I DEMUX
yn-1
sm-1 s0
7
y0 = sm-1 … s0 I
y1 = sm-1 … s0 I
8
An Sn
Cn-1
Bn Cn
9
Curs 5
1
Im p lem entarea funcţiei cu M U X este:
En
x3
1
x3
x3 f
0 f
1
0
x3 s2 s1 s0
x2 x1 x0
A vantajele im p lem entării cu M U X :
- se p oate im p lem enta funcţia cu un sigur circuit de tip MUX;
- intrarea de E nab le p oate fi folosită ca un S I final cu în treaga
funcţie;
- doar o sin gură variabilă trebuie să fie disp on ibilă şi ad evărată şi
negată.
D ezavantajele im p lem entării cu M U X :
- nu se p ot folosi term eni în com un în cazu l m in im izării
sistem elor de funcţii (sistem e cu m ai m u lte ieşiri);
- nu se p oate face im p lem entarea funcţiilor la care num ăru l d e
term en i este m ai m are d ecât num ăru l in trărilor M U X ;
- ex istă m u lte funcţii care p ot fi im p lem en tate com od prin
utilizarea d e p orţi logice MUX utilizat doar pen tru funcţii
dificile.
Procedura de implementare cu MUX se poate face plecând de la
diagram a K arnau gh. S e con stru ieşte o d iagram ă K arnau gh în care se
defin eşte dom eniu l intrărilor I.
x3x2 x1x0 00 01 11 10
00 I0 I1 I3 I2
01 I4 I5 I7 I6
11 I4 I5 I7 I6
10 I0 I1 I3 I2
x3x2 x1x0 00 01 11 10
00 1 1 1
01 1
11 1 1
10 1 1
2
V ariabila care variază este x 3. C onfiguraţiile d e 1 din diagram a K arnau gh
indică m odu l d e con ectare a intrărilor M U X , la x 3, x3, 1 sau 0.
I0 = x3; I1 = 1; I2 = x3; I3 = x3; I4 = 0; I5 = 1; I6 = 0; I7 = x3
DCD Matrice
In-1 Om-1
3
A plicaţiile m ai im p ortan te ale m em oriilor d e tip ROM sunt:
- m em orarea instrucţiun ilor şi datelor în sistem e d e calcu l şi
autom ate secvenţiale;
- transform ări d e adresă şi înm agazinarea in stru cţiun ilor în
microprogramare;
- conversii de cod;
- generatoare de caractere;
- gen erare de secven ţe d e im pu lsuri;
- imp lem entarea C L C cu un num ăr m are d e variab ile d e intrare şi
ieşire.
Im p lem entarea C L C cu un nu m ăr m are d e variab ile d e intrare şi
ieşire se bazează p e structura internă a m em oriei R O M . P e nivelu l de
D C D se decodifică toţi term enii canon ici. F iecare cu vânt de la intrarea
m atricei reprezin tă d e fapt un term en can onic form at din variabilele de
intrare. L a nivelu l u rm ător se adu nă toţi term enii din expresia oricărei
funcţii şi rezu ltă funcţia d e ieşire. L ista d e cuvinte din R O M este chiar
tab elu l d e ad evăr al C L C . L a im p lem entarea cu R O M nu este n ecesară
m inim izarea, deoarece sunt m em oraţi toţi term enii can on ici şi su nt
incluse toate posibilităţile d e apariţie a acestora în funcţia d e ieşire.
Pentru folosirea eficien tă a m em oriei R O M în sin teza funcţiilor
booleen e, variabilele d e intrare şi ieşire trebu ie codate, astfel încât să
con ţină cât m ai m u ltă inform aţie. S e poate codifica orice grup de
variabile care sun t m utual exclu sive, adică d oar una din tre ele p oate fi
activă la un m om en t dat.
P entru reducerea num ăru lui d e in trări în R O M se utilizează des şi
multiplexoarele.
Exemplu: S ă se im p lem en teze cu R O M funcţiile:
f0(x3,x2,x1,x0) = x3 x2 x1 x0
f1(x3,x2,x1,x0) = x2 x1
f2(x3,x2,x1,x0) = x3 x2 x1 x0 + x3 x2 x0 + x3 x2 x0 + x2 x1
Mem oria folosită este d e tipu l:
x3 A3
x2 A2 16 x 4 biţi
x1 A1
x0 A0 CS
D3D2D1D0
f2 f1 f0
Cu A s-au notat intrările d e adrese, cu D datele şi cu C S (chip select),
intrarea de Enable a circuitului.
C onţinutu l în scris în m em orie este d at în tab elu l urm ător:
4
A3 A2 A1 A0 D3 f2 f1 f0
0 0 0 0 0 0 0 0
0 0 0 1 0 1 0 0
0 0 1 0 0 0 0 0
0 0 1 1 0 0 0 0
0 1 0 0 0 0 1 0
0 1 0 1 0 0 1 0
0 1 1 0 0 1 0 0
0 1 1 1 0 1 0 0
1 0 0 0 0 1 0 0
1 0 0 1 0 0 0 0
1 0 1 0 0 1 0 1
1 0 1 1 0 0 0 0
1 1 0 0 0 0 1 0
1 1 0 1 0 1 1 0
1 1 1 0 0 1 0 0
1 1 1 1 0 1 0 0
5
Deoarece la PLA sunt programabile ambele nivele, implementarea
se face pornind de la termenii elementari ai funcţiei, ob ţinuţi prin
minimizarea ei.
R eprezen tarea sch em atică a P L A cu n intrări, m ieşiri şi p term en i
elementari realizabili este:
x1 con ex iun e program ab ilă
x2
xn
Matrice
SI
1 p
1 f1
conexiune Matrice
program ab ilă SAU
fm
m
conexiune
program ab ilă
CS
A vantajele im p lem en tării cu P L A faţă d e im p lem entarea cu R O M
se referă la p osibilitatea program ării m atricei S I şi a complementării
variabilelor d e ieşire (variabilele d e ieşire p ot fi program ate ind ividual ca
active pe 0 sau pe 1).
A plicaţii ale P L A sunt la:
- microprogramare;
- conversii de cod;
- generare de caractere;
- realizare de tab ele d e funcţii;
- implementarea autom atelor secven ţiale.
O b servaţie. E xistă circu ite integrate cu grad şi mai mare de integrare
(VLSI) utilizate în implementare. Amintim dintre acestea FPGA (Field
Programmable Gate Array).
6
2.4. H azard u l com b in aţion al
x1
x2
x3
1
g
2
h
f’
f
3
tr
2 > 1 deşi starea ar trebu i să fie nem od ificată.
7
D upă tim pu l d e reacţie tr = 1 + 2 va apare la ieşire un im pu ls n egativ de
durată t = 2 - 1 şi în această durată ieşirea ia o valoare incorectă.
Eliminarea hazardului static se poate face în cazul în care se
im pun e ca la un m om ent dat să se m od ifice starea unei sin gure variabile
de intrare. Pentru realizarea funcţiei se con sid eră şi unii term eni
redundan ţi d in diagram a K arnau gh, astfel încât oricare d oi d e 1 aflaţi în
căsuţe adiacente în d iagram ă să fie incluşi cel pu ţin în tr-un contur luat în
considerare la sinteza schemei.
P entru ex em p lu l d at se va introduce în expresia funcţiei term enu l
x1x2.
f = x2 x1 + x3 x1 + x3 x2
x1 g 1
x3
f’
x2 h 2 3 f
x3
x1 i t
x2
x1
x2
x3
1
g
2
h
i
f’
O b servaţii
1. Hazardul static p oate să apară şi când 1 > 2, la schimbarea
011 în 000.
2. P roiectarea unui C L C când se schim bă m ai m u lt d ecât o sin gură
variabilă d e in trare la un m om ent d at, fără să apară hazard, este
m ai dificilă sau chiar im p osibil d e realizat (hazard d e funcţie).
8
3. Eliminarea sigură a hazardu lu i se p oate face lu ând în
considerare ieşirea circu itu lui dup ă un interval d e tim p mai
mare decât întârzierea m axim ă din circuit.
9
Curs 6
CAPITOLUL III
C IR C U IT E L O G IC E S E C V E N Ţ IA L E
C ircuitele logice secvenţiale, C L S , sunt autom ate d e ordinu l 1. S e
obţin din autom atele d e ord inu l 0 (C L C ) prin in troducerea unor reacţii
(legătu ri in verse). S unt alcătu ite d in circuite logice com b inaţion ale şi
elem en te de m em orare binară.
S em n alele d e ieşire ale C L S dep ind atât de com b inaţia sem nalelor
ap licate pe intrări cât şi d e starea circuitu lu i. U n C L S este caracterizat
printr-o secvenţă a sem nalelor de ieşire şi o secvenţă a stărilor
elementelor de m em orie, p entru fiecare secven ţă a sem n alelor ap licate pe
intrările circuitu lu i.
D upă m odu l d e funcţionare (m odu l d e transm itere a sem nalelor)
ex istă 2 categorii principale d e C L S :
1. asincrone – com p ortarea este d eterm inată d e ap licarea p e intrări
a semnalelor în momente oarecare; starea circuitului depinde de
ord in ea în care se schim bă sem nalele;
2. sincrone – com p ortarea este d eterm inată d e ap licarea p e intrări
a semnalelor în momente discrete, bine determinate în timp;
sincron izarea se realizează cu ajutoru l unor impulsuri date de un
generator de tact (ceas).
E xem p le d e C L S : b istab ili, num ărătoare, registre, m em orii R A M .
1
Simbolul bistabilului RS asincron este:
S Q
R Q
Din punct de vedere logic nu are sens să se facă sim u ltan înscrierea
şi ştergerea inform aţiei, ca urm are S n = 1 şi R n = 1 va fi o situaţie interzisă
(de n ed eterm in are, p entru că nu se p oate preved ea starea finală).
C on d iţia d e b u n ă fu n cţion are care se pune este Sn Rn = 0.
Pentru a face sinteza circuitu lui vom con sid era sem nalu l d e ieşire
Qt+1 la momentul tn+1, sem nal care dep ind e d e starea intrărilor S n şi R n şi
de starea Qt, la momentul tn. Vom scrie Qt+1 ca o funcţie d e 3 variabile:
Qt Sn Rn Qt+1
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1
Qt+1:
Qt SnRn 00 01 11 10
0 1 1 x 0
1 0 1 x 0
2
D acă m inim izăm funcţiile în F C C obţin em :
Qt+1 = Rn (Sn + Qt)
Qt+1 = Sn (Rn + Qt)
R Q
S Q
S Q
R Q
3
3.1.2. Bistabilul RS sincron (latch cu ceas)
B istabilu l R S sincron se ob ţin e d in bistabilu l R S asincron prin
adăugarea un or p orţi logice sup lim entare cu scopu l d e a răspund e la
sem nalele d e in trare R şi S num ai sub acţiun ea unui sem nal d e com an dă
numit impuls de tact (ceas).
Sa
S Q
CLK
R Q
Ra
Ieşirile b istab ilu lui R S sincron se m od ifică d oar când sem nalu l d e
tact (ceas) CLK este activ. Simbolul bistabilului RS sincron este:
S Q
CLK
R Q
4
T ab elu l d e excitaţie p entru bistabilu l R S sincron este:
Qt Qt+1 R S
0 0 x 0
0 1 0 1
1 0 1 0
1 1 0 x
S
D Q
CLK
Q
R
CLK
5
Tabelu l d e excitaţie al bistabilu lui D este:
Qt Qt+1 D
0 0 0
0 1 1
1 0 0
1 1 1
S tarea urm ătoare a bistabilu lui d e tip D sincron este d ep end en tă
doar d e sem nalu l ap licat p e intrare, ea fiind indep end entă d e starea
actuală a bistab ilu lui.
E xistă d ouă tipu ri d e bistabile d e tip D sincron, un ele care com ută
pe fron t (atunci când se sch im bă tactu l) şi altele care com u tă p e n ivel
(atunci când tactul este pe nivel).
6
Qt+1:
Qt JK 00 01 11 10
0 1 1
1 1 1
Q
J
CLK sau
K Q
S
J Q
CLK
K Q
S
J Q
CLK
K Q
R
7
O analiză m ai atentă a b istab ilu lui JK sincron arată că atât tim p cât
intrarea de tact (C L K ) răm ân e pe 1 logic după stab ilirea n oii stări,
bistab ilu l in tră în oscilaţie (îşi tot schim bă starea). P en tru a exista o
sin gură com u tare, durata im pu lsu lui pe C L K trebuie să fie m ai m are d ecât
timpul de propagare a semnalului printr-o poartă logică şi m ai m ică decât
timpul de propagare a semnalu lu i prin două p orţi logice.
S
T Q
CLK
Qt T 0 1
0 1
1 1
8
B istabilu l T sincron este util în ap licaţiile d e num ărătoare binare.
Concluzie. D eficienţa principală a structu rilor d e bistabile studiate este că
nu se poate face o d istin cţie n etă între in trările care cond iţion ează
m om en tu l com u tării şi cele care determ ină m od u l com u tării (nu se face
distincţie netă între când şi cum).
Master Slave
S SM Q M SS QS Q
CLK CLK
R RM Q M RS QS Q
CLK
Im pu lsu l d e tact are d ouă fron turi, u nul p ozitiv (de urcare de la 0
la 1, în logica p ozitivă) şi unu l n egativ (de coborâre de la 1 la 0, în
logica p ozitivă).
La bistabilele master-slave pe frontul crescător al sem nalu lui d e
tact se face înscrierea inform aţiei în m aster, slave fiind practic d econ ectat.
P e fron tu l d escrescător urm ător se face transferu l inform aţiei d in m aster
în slave şi inform aţia va apare la ieşiri după frontu l d escrescător al
impulsu lui d e tact. S e asigură astfel o bună separare între in trările d e d ate
şi ieşirile b istab ilelor.
S 1 3 Q
2 4 Q
R
CLK
M S
9
2 3
CLK 1 4 5
Q
tS tH
tS este timpul de set-up = p erioad a în care datele trebuie să fie
pregătite înain te de im pu lsu l d e tact.
tH este timpul de holding.
Pe perioada 1 – 2 a im pu lsu lui d e ceas, p orţile d e la in trare nu sunt
încă d esch ise, iar p orţile 3,4 se b loch ează şi astfel izolează slave de
master.
Pe zona 2 – 3 p orţile d e in trare 1,2 se d eschid şi inform aţia trece în
m aster. P orţile 3,4 sunt închise şi slave îşi păstrează vech ea inform aţie.
Pe zona 3 – 4 porţile 1,2 se înch id şi porţile 3,4 nu se d eschid încă:
m aster este izolat de in trare şi de slave.
Pe perioada 4 – 5 porţile 3,4 se d eschid, în tim p ce p orţile 1,2 sunt
blocate şi inform aţia apare p e ieşire.
P erioada critică este cea d e m en ţinere a datelor la intrare, tH, pe
perioada 4 – 5.
M em orarea se face p e fron tu l d escrescător al im pu lsu lui d e tact.
10
Curs 7
3.2. A p licaţii ale circu itelor b ascu lan te b istab ile
3.2.1. N u m ărătoare
N um ărătoarele sun t circuite logice secvenţiale care înregistrează
num ăru l d e im pu lsuri ap licate la in trare. E le se realizează prin asocierea
circuitelor basculante bistabile, având rol d e celu le d e m em orie b inară, cu
circuite logice com b inaţionale, care d eterm ină m odu l corect în care
urm ează ca num ărătoru l să-şi schim be starea la fiecare n ou im pu ls ap licat
la intrare.
Clasificare
C lasificarea num ărătoarelor se face după anu mite criterii:
1. m odu l de fu n cţion are (comutare a bistabililor):
- asincrone – celulele de memorie din care este construit
num ărătoru l nu com ută sim u ltan ci aleator;
- sincrone – celulele de memorie din care este construit
num ărătoru l com ută sim u ltan sub acţiun ea unui impuls de
tact aplicat simultan tuturor celulelor.
2. m odu l de m odificare a stărilor (con ţinutu lui):
- directe – îşi cresc conţinutu l cu o unitate la fiecare im pu ls
aplicat la intrare;
- inverse – con ţinutu l scad e cu o unitate la fiecare im pu ls
aplicat la intrare;
- reversibile – nu m ără d irect sau invers, în funcţie d e o
com andă ap licată din ex terior.
3. m odu l de codificare a in form aţiei:
- binare
- binar-zecimale
- m odu lo “p ” etc.
N um ărătoarele se p ot realiza cu celu le d e m em orie d e tip T care
realizează o divizare cu 2. P rin intercon ectarea a “n” celu le d e m em orie
se ob ţin e un num ărător cu un num ăr d e stări distincte. F iecărei stări îi
vom asocia câte un cu vân t de cod binar de lun gim e “n”, reprezentând
con ţinutu l celor “n” celu le b inare pentru starea dată a num ărătorului.
C odu l în care nu m ără un num ărător va fi dat de succesiun ea cu vintelor de
cod binar asociate stărilor num ărătoru lui.
N um ăru l stărilor stab ile d istincte posibile ale unui nu m ărător
form at din “n” celu le b inare este 2 n. D acă din aceste stări se elim ină “k”
stări rezu ltă un nu m ărător cu p = 2 n – k stări distincte. M atem atic,
op eraţia realizată de num ărător este o op eraţie m odu lo “p”.
1
D efin iţii:
C apacitatea num ărătoru lu i = num ărul stărilor sale d istincte.
F actoru l d e d ivizare = rap ortu l d in tre nu m ăru l de impulsuri de la
intrare şi num ăru l im pu lsurilor d e la ieşire.
O b servaţie. U n num ărător funcţion ează d e fapt şi ca un divizor de
frecvenţă.
T ip u ri d e n u m ărătoare
1. N u m ărător bin ar asin cron direct
S chem a logică a nu m ărătoru lu i este realizată prin con ec tarea în
cascadă a bistabililor d e tip JK în configuraţie d e bistab ili de tip T :
Q0 Q1 Q2
J0 Q0 J1 Q1 J2 Q2
CLK0 CLK1 CLK2
K0 Q0 K1 Q1 K2 Q2
1 1 1 R
CLK
Q0
Q1
Q2
Q2 0 0 0 0 1 1 1 1
Q1 0 0 1 1 0 0 1 1
Q0 0 1 0 1 0 1 0 1
N um ărătoru l este m odu lo 8, num ărând direct în binar, de la 000 la
111. E l bascu lează pe fronturile d escrescătoare ale im pu lsurilor d e tact.
D acă dorim să obţin em valorile nu m ăru lu i în zecim al pu tem utiliza
ieşirile nu m ărătoru lu i, Q 0, Q1, Q2, ca şi intrări într-un decodificator binar
zecimal.
2
D ezavantaju l nu m ărătoru lu i asincron este că tim pu l d e com utare, în
cel mai defavorabil caz, este egal cu suma timpilor de comutare a tuturor
bistab ililor care îl com pun. A vantajul lui constă în sim p litatea sch em ei,
realizată d oar cu bistab ile, prin intercon ectări directe.
2. N u m ărător bin ar asin cron in vers
S chem a logică a num ărătoru lu i este:
Q0 Q1 Q2
J0 Q0 J1 Q1 J2 Q2
CLK0 CLK1 CLK2
K0 Q0 K1 Q1 K2 Q2
1 1 1 R
F orm ele d e undă pentru num ărătoru l binar asincron in vers sunt:
CLK
Q0
Q1
Q2
Q2 0 1 1 1 1 0 0 0 0
Q1 0 1 1 0 0 1 1 0 0
Q0 0 1 0 1 0 1 0 1 0
N um ărătoru l este m odu lo 8, num ărând invers în binar, de la 111 la
000. El bascu lează pe fronturile d escrescătoare ale im pu lsurilor d e tact.
3. N u m ărător bin ar asin cron reversibil
N um ărătoru l b inar asincron reversibil are celu la d e m em orie de
bază ca şi num ărătoarele asincrone anterioare, dar între celu lele de
memorie se intercalează m u ltip lex oare d e tip 2 :1 p rin care se com an dă
sen su l d e num ărare.
Q0 Q1 Q2
J0 Q0 A Mux J1 Q1 A Mux J2 Q2
CLK0 2:1 Y CLK1 2:1 Y CLK2
K0 Q0 B K1 Q1 B K2 Q2
1 1 1 R
S
3
P entru S = 0 num ărătoru l nu m ără direct, iar p en tru S = 1 num ărătorul
num ără in vers.
4. N u m ărător bin ar sin cron serie şi paralel
R ealizarea nu m ărătoarelor d e tip sin cron are ca scop creşterea
vitezei de com u tare a num ărătoru lu i în ansam b lu.
F uncţionarea acestor nu m ărătoare este sincronă, bistab ilii, d e tip
JK , având in trările d e C L K legate îm preună. P e baza tab elu lui d e ad evăr
se ob ţin e logica com b inaţională su plim en tară, care asigură funcţionarea
corectă a num ărătoru lu i.
Nr. Q0 Q1 Q2 Q3
0 0 0 0 0
1 1 0 0 0
2 0 1 0 0
3 1 1 0 0
4 0 0 1 0
5 1 0 1 0
6 0 1 1 0
7 1 1 1 0
8 0 0 0 1
9 1 0 0 1
10 0 1 0 1
11 1 1 0 1
12 0 0 1 1
13 1 0 1 1
14 0 1 1 1
15 1 1 1 1
Q0 Q1 Q2 Q3
1
S S S S
J Q J Q J Q J Q
CLK CLK CLK CLK
K Q K Q K Q K Q
R R R R
Reset
4
In trările J şi K ale prim u lui bistabil sunt legate la 1 “logic” şi vor
com uta bistab ilu l la fiecare tact (conform tab elu lui d e ad evăr). A l d oilea
bistab il com ută d oar din 2 în 2 im pulsuri d e tact, adică atunci când Q 0
trece din 1 în 0, deci pot fi legate la ieşirea p rim u lu i bistabil. A l treilea
bistab il bascu lează din 4 în 4 im pu lsuri şi va fi com andat d e funcţia S I
între ieşirile Q 1 Q0, iar al patru lea bistab il com ută d in 8 în 8 im pu lsuri şi
va fi com andat d e funcţia S I în tre ieşirile Q 2 Q1 Q0. În cazul
num ărătoru lu i binar sincron d e tip serie p orţile logice d e tip S I utilizate
vor fi toate cu 2 intrări, ca în schem a logică anterioară.
P entru m ărirea vitezei d e răspuns a num ărătoru lu i se vor folosi
porţi logice d e tip S I cu num ăru l d e in trări n ecesar funcţiei S I
im p lem entate, ca în sch em a d e m ai jos, corespunzătoare unu i n u m ărător
binar sincron paralel.
Q0 Q1 Q2 Q3
1
S S S S
J Q J Q J Q J Q
CLK CLK CLK CLK
K Q K Q K Q K Q
R R R R
CLK
Reset
5
Exemplu: S inteza unui num ărător m odu lo 5.
Pentru 2n 5 ob ţin em n = 3, d eci vom avea 3 celu le d e m em orie
pen tru num ărător. N um ăru l stărilor om ise va fi 2 3 – 5 = 8 – 5 = 3.
P resupun em că avem urm ătoarea su ccesiun e a stărilor d e num ărare
(ciclu d e num ărare):
6
J 1:
Q2 Q1Q0 00 01 11 10
0 1 x x
1 x x x
J1 = Q0
K1:
Q2 Q1Q0 00 01 11 10
0 x x 1
1 x x x x
K1 = Q0
J 0:
Q2 Q1Q0 00 01 11 10
0 1 x x 1
1 x x x
J0 = Q2
K0:
Q2 Q1Q0 00 01 11 10
0 x 1 1 x
1 x x x x
K0 = 1
S chem a logică p entru num ărătoru l m odu lo 5 va fi urm ătoarea:
Q2 Q1 Q0
J2 Q2 J1 Q1 J0 Q0
CLK CLK CLK
1 K2 Q2 K1 Q1 1 K0 Q0
R2 R1 R0
CLK
Reset
7
num ărătoru l revin e sin gur în ciclu l de nu m ărare, fie trebuie reproiectat
astfel încât să revină în ciclu l d e num ărare.
S tările om ise în ex em p lu l dat sun t:
101 010
110 010 şi din starea aceasta se revin e în ciclu
111 010
O b servaţie. U n num ărător m odu lo p se poate ob ţin e folosind un
num ărător binar sincron. S e lasă n um ărătoru l binar să evolu eze până la
starea p-1. L a atin gerea stării “p” se ap lică num ărătoru lui, printr-o logică
com binaţională, un im puls de ştergere (p e in trarea d e R eset).
N u m ărătoare M oeb iu s
N um ărătoarele M oeb ius sun t num ărătoare în in el cu coadă în toarsă
(twisted tail ring counter).
D eşi ex istă nu m ărătoare d e tip M S I pentru num ărarea binară sau a
altor tipuri de secvenţe, ex istă unele cazuri în care se preferă proiectarea
unor num ărătoare speciale cu bistab ili şi porţi logice.
Exemplu: un nu m ărător cu 8 stări la care la fiecare tranziţie se m odifică
num ai un sin gur bit, se poate con strui utilizând urm ătoarea secven ţă:
0000 0
1000 8
1100 12
1110 14
1111 15
0111 7
0011 3
0001 1
Proiectarea se face şi cu bistab ili d e tip D şi cu bistabili de tip JK .
T ab elu l folosit p entru sinteza num ărătoru lu i este:
Q3 Q2t Q1t Q0t Q3t Q2t Q1t Q0t D3 D2 D1 D0 J3 K3 J2 K2 J1 K1 J0 K0
t
+1 +1 +1 +1
0 0 0 0 1 0 0 0 1 0 0 0 1 x 0 x 0 x 0 x
1 0 0 0 1 1 0 0 1 1 0 0 x 0 1 x 0 x 0 x
1 1 0 0 1 1 1 0 1 1 1 0 x 0 x 0 1 x 0 x
1 1 1 0 1 1 1 1 1 1 1 1 x 0 x 0 x 0 1 x
1 1 1 1 0 1 1 1 0 1 1 1 x 1 x 0 x 0 x 0
0 1 1 1 0 0 1 1 0 0 1 1 0 x x 1 x 0 x 0
0 0 1 1 0 0 0 1 0 0 0 1 0 x 0 x x 1 x 0
0 0 0 1 0 0 0 0 0 0 0 0 0 x 0 x 0 x x 1
Diagram ele K arnau gh n e p erm it să d eterm in ăm valorile p entru
intrările b istab ilelor D 3 – D0 şi J3 – K0.
8
D3:
Q3Q2 Q1Q0 00 01 11 10
00 1 x
01 x x x
11 1 x 1
10 1 x x x
D3 = Q 0
D2:
Q3Q2 Q1Q0 00 01 11 10
00 x
01 x x x
11 1 x 1 1
10 1 x x x
D2 = Q 3
D1:
Q3Q2 Q1Q0 00 01 11 10
00 x
01 x x 1 x
11 1 x 1 1
10 x x x
D1 = Q 2
D0:
Q3Q2 Q1Q0 00 01 11 10
00 1 x
01 x x 1 x
11 x 1 1
10 x x x
D0 = Q 1
J 3:
Q3Q2 Q1Q0 00 01 11 10
00 1 x
01 x x x
11 x x x x
10 x x x x
J3 = Q0
K3:
Q3Q2 Q1Q0 00 01 11 10
00 x x x x
01 x x x x
11 x 1
10 x x x
K3 = Q0
9
J 2:
Q3Q2 Q1Q0 00 01 11 10
00 x
01 x x x x
11 x x x x
10 1 x x x
J2 = Q3
K2:
Q3Q2 Q1Q0 00 01 11 10
00 x x x x
01 x x 1 x
11 x
10 x x x x
K2 =Q3
J 1:
Q3Q2 Q1Q0 00 01 11 10
00 x x
01 x x x x
11 1 x x x
10 x x x
J1 = Q2
K1:
Q3Q2 Q1Q0 00 01 11 10
00 x x 1 x
01 x x x
11 x x
10 x x x x
K1 = Q2
J 0:
Q3Q2 Q1Q0 00 01 11 10
00 x x x
01 x x x x
11 x x 1
10 x x x
J0 = Q1
K0:
Q3Q2 Q1Q0 00 01 11 10
00 x 1 x
01 x x x
11 x x x
10 x x x x
K0 = Q1
10
Cele 2 scheme logice pentru num ărător sunt:
D3 Q3 D2 Q2 D1 Q1 D0 Q0
CLK
J3 Q3 J2 Q2 J1 Q1 J0 Q0
CLK CLK CLK CLK
K3 Q3 K2 Q2 K1 Q1 K0 Q0
CLK
11
Curs 8
3.2.2. Registre
R egistrele sunt circuite logice secven ţiale care perm it stocarea
şi/sau d ep lasarea inform aţiei cod ificate binar. E le se realizează d in celu le
de m em orie b inară (C B B ) şi din circuite logice com binaţionale (C L C ),
care permit înscrierea, citirea şi transferu l inform aţiei. C apacitatea un ui
registru este dată d e num ăru l celu lelor d e m em orie.
O rice inform aţie binară, care nu depăşeşte capacitatea registru lui,
poate fi în scrisă prin acţionarea corespunzătoare a in trărilor (care d ep in de
şi ea de natura bistabilelor).
R egistrele p ot să fie d e m ai m u lte tipuri: d e m em orie; d e d ep lasare;
combinate; universale.
Registrele de memorie m em orează inform aţia b inară în celu le d e
m em orie binară. În fiecare celu lă de m em orie se m em orează un bit de
inform aţie. Încărcarea se p oate face paralel, prin intrările asin cron e, de
S et şi R eset.
Registrele de deplasare sunt cele care realizează transferu l
inform aţiei. T ransferu l se p oate face: stân ga-dreapta; dreapta-stânga; în
ambele sensuri.
La fiecare impuls d e tact conţinutul registru lui se d ep lasează cu
câte o celu lă (în sen su l stabilit). S em nalu l d e ieşire este id entic cu cel de
intrare, dar în târziat cu un nu m ăr d e im pu lsuri d e tact egal cu num ăru l de
celule de memorie din care este format registrul.
Exceptând prim u l b istab il, ecuaţia de stare a unui registru d e
deplasare stânga-d reapta este dată d e relaţia: Q i(t+1) = Qi-1(t) c (unde c =
impulsul de tact).
Exemplu: Registru de deplasare stânga-dreapta cu bistabile JK MS.
Q0 Q1 Q2 Q3
SIN
J0 Q0 J1 Q1 J2 Q2 J3 Q3
CLK CLK CLK CLK
K0 Q0 K1 Q1 K2 Q2 K3 Q3
R R R R
Reset
CLK
La fiecare im pu ls d e tact con ţinu tu l b istab ilu lui Q i se tran sferă în
bistabilul Qi+1. În bistabilul Q0 se introduce inform aţia din exterior, iar
con ţinutu l u ltim u lui bistabil se pierde. Încărcarea registru lu i se realizează
deci în m od serie. Iniţializarea registru lu i se face prin semnalul de Reset,
care forţează toate ieşirile registru lu i în 0 logic.
1
Registrele de deplasare dreapta-stânga şi reversib ile se realizează
folosind circuite logice com b inaţion ale sup lim entare.
Registrele combinate sunt cele care au şi fun cţia d e m em orare şi
cea de deplasare.
Registrele universale cu m u lează toate funcţiile: d ep lasare stân ga-
dreapta, deplasare dreapta-stân ga, încărcare serie sau paralelă a
inform aţiei, citire serie sau paralelă a inform aţiei.
RI A B C D LI
S0
S1
D Q D Q D Q D Q
CLK CLK CLK CLK CLK
CLR CLR CLR CLR
CLR
Q0 Q1 Q2 Q3
In trările d e selecţie S 1S0 condiţionează m odu l d e funcţion are a
registrului. Avem:
S1S0 = 00 păstrează conţinutu l n em odificat;
S1S0 = 01 deplasare stânga-dreapta;
S1S0 = 10 deplasare dreapta-stânga;
S1S0 = 11 încărcare paralelă.
Ş tergerea registru lu i se face asincron, prin sem nalu l C L R .
2
- registre (nu m ărătoare) Johnson – în prim a celu lă se in troduce
con ţinutu l n egat al u ltim ei celu le.
Q0 Q1 Q2 Q3
0 0 0 0
SIN 1 0 0 0
1 1 0 0
Q0 Q1 Q2 Q3 1 1 1 0
1 1 1 1
0 1 1 1
0 0 1 1
0 0 0 1
0 0 0 0
2. Memorie de tip FIFO (First In, First Out), primul înscris –
prim u l citit (m em orie coadă)
S e realizează cu registre d e d ep lasare stân ga-dreapta. N um ăru l
registrelor d epind e d e lun gim ea cuvin telor ce urm ează a fi m em orate.
Capacitatea memoriei depind e d e lu ngim ea registrelor. D e ex em p lu, dacă
registrele sun t d e 4 biţi, capacitatea m em oriei este d e 4 cuvinte. L a fiecare
im pu ls de tact se introduc datele p e intrarea serială.
y1
SIN Ts
x1
y2
SIN Ts
x2
y3
SIN Ts
x3
y4
SIN Ts
x4
CLK
3
3. Memorie de tip LIFO (Last In, First Out), ultimul introdus –
prim u l citit (m em orie stivă)
R ealizarea se face cu registre com binate. N um ăru l registrelor este
dat de lungimea cuvântului de memorie, iar lungimea registrelor
determ ină capacitatea d e m em orie.
xi
A0
A1
A1 A0
SIN Q0 yi
Q1
Q2
Q3
R CLK
A1 A0
0 1 deplasare stânga-dreapta înscriere
1 0 citire
M em oria stivă p oate fi organizată şi soft, în m em oria d e tip R A M ,
dar deşi capacitatea acesteia p oate fi m are, tim pu l d e acces va fi şi el
mare.
4. Conversia serie-paralel şi paralel serie a inform aţiei
Pentru conversia serie-paralel se face încărcarea registrului pe
intrarea serială şi cu com andă de tact serie T s şi se citeşte inform aţia pe
ieşiri, paralel.
Pentru conversia paralel-serie se face încărcarea paralelă a
inform aţiei, cu com andă de tact paralel T p şi ap oi se d ep lasează
inform aţia stânga-dreapta, cu com andă d e tact serie T s şi se citeşte serie
la ultim a ieşire.
5. G eneratoare de secvenţe
G en eratoarele d e secven ţe gen erează o succesiun e d e secven ţe
binare (1 şi 0) d e lun gim e dată (prestabilite). L un gim ea secvenţei
rep rezin tă num ăru l d e biţi după care se rep etă întreaga secven ţă.
S ecven ţele binare pot fi:
- aleatoare, de lun gim e infin ită;
- determ iniste, de lun gim e finită.
S ecven ţele b inare d eterm in iste d e lun gim e m ax im ă se num esc
secven ţe pseud oaleatoare.
Realizarea generatoarelor d e secven ţe se face cu registre în reacţie
cu circuite logice com bin aţionale ad ecvate.
4
Q0 Q1 Q2
y = Q0 + Q2
S0 Q0 S1 Q1 S2 Q2
CLK CLK CLK
R0 Q0 R1 Q1 R2 Q2
CLK
2n
n Matrice de
memorie
2n
WE (write enable)
Multiplexor
Date
5
D atele d e intrare şi ieşire p ot să folosească linii d iferite sau aceeaşi
linie bid irecţională. M em oriile p ot avea un num ăr diferit d e căi d e date
(de obicei cuvinte d e 1 bit sau de un num ăr de biţi m u ltip lu d e 2).
M em oriile d e tip R A M pot să fie din punct d e ved ere constructiv
de tip static sau dinam ic. C ele dinam ice sunt realizate cu cond ensatoare şi
au n evoie d e reîm p rospătarea la d iferite intervale d e tim p a inform aţiei
memorate, pentru a se evita pierderea ei.
E xtind erea capacităţii m em oriilor se face atât prin extind erea
dim ensiunii cuvân tu lu i de m em orie (num ăru l d e biţi din cu vânt), cât şi
prin ex tind erea num ăru lui d e cuvinte ale m em oriei (adresa d e memorie).
6
Curs 9
3.3. S in teza circu itelor logice secven ţiale sin cron e
E xcitaţii secundare
Tact
R egistru d e stări
S tări in tern e
CL
Variabile secundare
1
- graf de tranziţii;
- organ igram ă;
- form e d e undă.
T rebu ie evid enţiate:
- stările prin care trece circu itu l;
- valorile variab ilelor de in trare pen tru care se schim bă stările;
- valorile rezu ltate ale variabilelor d e ieşire.
E volu ţia circu itu lui încep e în tr-o stare iniţială şi d e ob icei se revin e
la această stare, după ultim a stare a ciclu lu i.
2. S e codifică stările circuitu lu i.
3. S e încearcă redu cerea (sim p lificarea) num ăru lu i d e stări a
circuitu lu i, dacă este p osib il, încât să se păstreze funcţion area lui corectă.
4. Se decide asupra modului de implementare (registru l d e stări
interne).
5. S e determ ină funcţiile d e excitaţie şi cele d e ieşire, dacă este
posibil.
6. S e studiază prob lem ele legate d e even tualele ieşiri false (hazard)
sau tranziţii false.
7. S e desen ează circuitu l.
E tapa cea m ai dificilă este cea de cod ificare a stărilor. În gen eral
funcţionările d efectu oase se datorează unor tranziţii greşite în tre stări sau
unor sem nale greşite care apar la circuitu l d e gen erare a variab ilelor de
ieşire.
T ranziţiile greşite între stări apar d atorită prezen ţei variab ilelor d e
intrare asincron e (se elim ină cel m ai uşor dacă se sin cronizează
variabilele de intrare cu semnalul de tact).
C odificarea stărilor se stab ileşte astfel în cât, în orice stare, pen tru
toate com binaţiile p osibile d e intrări asincron e, să nu fie m ai m u lt d ecât o
sin gură variabilă d e stare d ep end en tă d e o variab ilă d e intrare asincron ă.
În aceste cond iţii, două stări rezu ltate din calea de ieşire a un ei intrări
asincron e vor avea cod ificare adiacentă.
Ieşirile false p ot să apară din cauză că la trecerea d intr-o stare în
alta, variabilele d e stare practic nu se m od ifică sim u ltan. P en tru evitarea
tranziţiilor false ale ieşirilor se p ot folosi m etod ele:
- se realizează o codificare adiacentă a stărilor;
- se forţează trecerea circu itu lui prin stări suplimentare;
- se sincronizează variab ilele d e ieşire.
O b servaţie: H azardu l static al C L C se elim ină p rin p roiectare (se
introduc term en i redund anţi, indiferen ţi).
2
3.3.2. Utilizarea organigramei în sinteza circuitelor logice
secven ţiale sin cron e
Elem entele com p on en te ale organ igram ei d e funcţionare a oricărui
circuit secvenţial sincron sunt:
- elementul de intrare (control sau decizie):
Variabile de intrare
- sincrone
var. 1
0
- asincrone
var. 1
0
- elementul de stare:
Q2Q1Q0
000
transfer
C onfigu raţii elem entare care unesc cele 3 elem ente d e bază:
A stare cu ieşire
A dună
3
A stare cu decizie
1 I1 0
B C
Scade
1 I1 0
B C
I1 1
0 Ieşire
0 I1 1
1
I2 C
0 1 0
I3
B Ieşire
4
O b servaţii
1. O rice tranziţie în tre 2 stări ale circuitu lu i se face în tr-un singur
impuls de tact.
2. La un moment dat circuitul se poate găsi în tr-o sin gu ră stare.
3. U n circuit care se găseşte la un m om ent dat într-o stare dată, cu
un set d e intrări dat, poate avea o singură stare urm ătoare.
0/0 1/0
1/0 0/0
Init A B C
1/1
0/0
A vem 2 variabile d e stare p en tru a putea cod ifica 2 stări (A = 00,
B = 01, C = 11). C u x am n otat intrarea, cu z ieşirea. T ab elu l d e tranziţii
este:
St St+1,z
Q1Q0 x=0 x=1
00 A A,0 B,0
01 B C,0 B,0
11 C A,0 B,1
5
D1:
Q1Q0 x 0 1
00 0 0
01 1 0
11 0 0
10 x x
D1 = Q1 Q0 x
D0:
Q1Q0 x 0 1
00 0 1
01 1 1
11 0 1
10 x x
D0 = x + Q1 Q0
z:
Q1Q0 x 0 1
00 0 0
01 0 0
11 0 1
10 x x
z = Q1 x
D1 Q1 D0 Q0 Q1
CLK CLK Q0 D1
Q1 Q0 x
R R Q0
Init Q1 D0
x
CLK Q1 z
x
6
Qt Qt+1 J K
0 0 0 x
0 1 1 x
1 0 x 1
1 1 x 0
St St+1(Q1Q0)t+1 z
Q1Q0 J1K1 J0K0 J1K1 J0K0
x=0 x=1 x=0 x=1 x=0 x=1
00 (A) 00 01 0x 0x 0x 1x 0 0
01 (B) 11 01 1x x0 0x x0 0 0
11 (C) 00 01 x1 x1 x1 x0 0 1
J 1:
Q1Q0 x 0 1
00 0 0
01 1 0
11 x x
10 x x
J1 = Q0 x
K1:
Q1Q0 x 0 1
00 x x
01 x x
11 1 1
10 x x
K1 = 1
J 0:
Q1Q0 x 0 1
00 0 1
01 x x
11 x x
10 x x
J0 = x
K0:
Q1Q0 x 0 1
00 x x
01 0 0
11 1 0
10 x x
K0 = Q1 x
7
z:
Q1Q0 x 0 1
00 0 0
01 0 0
11 0 1
10 x x
z = Q1 x
CLC
MUX
Registru de stare
CLC
8
Im p lem entarea gen eratoru lui n oii stări cu decodificatoare:
x
CLC
R egistru d e stări
DEC
CLC
Im p lem entarea gen eratoru lui n oii stări cu m u ltip lex oare şi m em orii:
x
MUX
Memorie
R egistru d e stări
CLC
9
Curs 10
Exemplu: S in teza u n u i au tom at (circu it secven ţial sin cron ) de
răspu n s la telefon . S e p oate program a num ăru l d e apeluri son ore ale
son eriei telefonu lui după care încep e să funcţion eze autom atu l. P rogram u l
autom atu lui se înch eie în cond iţiile: 1) du pă prelu area (în registrarea)
m esaju lui; 2) dacă apelan tu l înch ide; 3) dacă destinataru l răspund e la
telefon.
1. D eterm in area fu n cţion ării – ob ţin erea organigram ei.
S e stab ileşte sch em a b loc a autom atu lui, cu com p on entele
periferice adiţionale n ecesare. S e stabilesc variabilele d e intrare şi ieşire şi
caracterul lor sincron sau asincron.
Avem nevoie de:
- telefon propriu-zis (TEL);
- num ărător p entru apelurile son ore ale son eriei telefonu lui (N R T );
- casetofon pentru redarea mesajului de întâmpinare (PLAY);
- casetofon pentru înregistrarea mesajului apelantului (REC).
Variabilele folosite sunt:
Sonerie: fiecare ap el al son eriei telefonu lu i provoacă d ecrem entarea
num ărătoru lu i N R T până ce ajunge la 0. N u este variab ilă a autom atu lu i.
Start: variab ilă d e intrare asincronă, de la num ărător, care d eterm ină
încep erea funcţionării autom atu lui, dacă num ărătoru l a ajuns pe 0.
StartPlay (SP), StartRecord (SR): variabile d e ieşire sp re casetofon.
EndOfPlay (EP), EndOfRecord (ER): variabile de intrare asincrone, de la
casetofon.
ApelantStop (AS): variab ilă d e intrare asincronă d e la telefon (ap elantu l
poate închide oricând telefonul).
DestinatarPick-Up (DPU): variabilă d e in trare asincronă d e la telefon;
apare când destinataru l răspund e la telefon.
Init: variab ilă d e ieşire spre num ărător; încarcă paralel num ărătoru l cu
valoarea stabilită p en tru num ăru l d e ap eluri ale son eriei telefonu lu i până
la intrarea în funcţiun e a autom atu lu i.
Obs: variabilele d e intrare A S şi D P U gen erează sem nalu l d e R eset pen tru
bistabilii interni ai autom atu lui şi op resc înregistrarea p e casetofon.
Schema bloc este:
CLK Sonerie
PL NRT TEL
Zero AS DPU
Start
Init Automat ER
SP
EP SR
PLAY REC
1
Organigrama automatului este:
000
A
Init
1 0
Start
B 001
SP
011 C
1 0
EP
D 010
SR
100 E
1 0
ER
2. C od ificarea stărilor
P entru că variab ilele d e intrare sunt asincrone este nevoie de o
cod ificare adiacentă a stărilor au tom atu lu i (A ,B ), (C ,D ), (E ,A ) . P entru 5
stări sunt n ecesare 3 variab ile d e stare p entru codificare. S e alege
codificarea: A = 000; B = 001; C = 011; D = 010; E = 100.
S e construieşte diagram a K arnau gh pen tru stări, p e baza codificării
făcute:
Q2 Q1Q0 00 01 11 10
0 A B C D
1 E
2
com p letând pen tru fiecare stare codu l stării urm ătoare. L ocaţiile
necom p letate vor fi ind iferente d eoarece conţinu tu l lor nu p oate fi atins
prin funcţionare.
Q2 Q1Q0 00 01 11 10
0 00Start 011 01EP 100
1 ER00
3
SR:
Q2 Q1Q0 00 01 11 10
0 1
1 x x x
SR = Q1 Q0
7. Desenarea schemei circuitului
Ieşirile se realizează cu porţi logice de tip S I:
Q2
Q1 Init
Q0
Q2 SP
Q1
Q0 SR
D2 Q2 D1 Q1 D0 Q0
Clk Clk Clk
Q2 Q1 Q0
R R R
Clk
Reset
4
intrărilor de selecţie este m ai m ic decât cel al variabilelor de stare, la
intrările selectate se vor con ecta circuite realizate cu p orţi logice.
S e scriu term enii can on ici care con ţin 1 sau variabile în globate in
diagrama Karnaugh.
D2 = Q2 Q1 Q0 + ER Q2 Q1 Q0
D1 = Q2 Q1 Q0 + Q2 Q1 Q0
D0 = Start Q2 Q1 Q0 + EP Q2 Q1 Q0 + Q2 Q1 Q0
Implementarea cu MUX 8:1 este:
0
0 MUX
1 8:1
0 D2
ER D2
0 74151
0
0 s2 s1 s0
Q2 Q1 Q0
0
1 MUX
0 8:1
1 D1
0 D1
0 74151
0
0 s2 s1 s0
Q2 Q1 Q0
Start
1 MUX
0 8:1
EP D0
0 D0
0 74151
0
0 s2 s1 s0
Q2 Q1 Q0
5
c. Implementarea gen eratoru lu i n oii stări cu d ecod ificatoare se
face ap licând la intrarea d ecodificatoru lui variab ilele d e stare. L a ieşirile
decod ificatoru lui se ob ţin stările intern e ind ividualizate.
Putem scrie:
D2 = D + ER E
D1 = B + C
D0 = Start A + B + EP C
P entru ob ţin erea funcţiilor de excitaţie se vor utiliza p orţi logice d e
tip S I, S A U şi N U .
Decodificatorul va fi de tip zecimal:
DCD 0 A
0 1 B D1
Q2 2 D
Q1 3 C
Q0 4 E
6
e. Im p lem en tarea circu itelor secven ţiale sin cron e se poate
realiza cu n u m ărătoare M S I. N um ărătoru l va fi utilizat p entru funcţia de
m em orare şi parţial p entru efectuarea tranziţiilor.
Vom utiliza p entru im p lem entare un num ărător sincron (d e
ex em p lu num ărătoru l zecim al 741 62). B istab ilii interni ai acestuia p ot
memora starea circuitului.
C odificarea stărilor se face ţinând con t de ord in ea de num ărare a
num ărătoru lu i: A = 000; B = 001; C = 010; D = 011; E = 100.
Q2 Q1Q0 00 01 11 10
0 A B D C
1 E
fN:
Q2 Q1Q0 00 01 11 10
0 Start 1 1 EP
1
fR:
Q2 Q1Q0 00 01 11 10
0
1 ER
7
C ircuitu l secvenţial sincron va avea urm ătoarea im p lem entare:
0 0 En Start 0 En
0 1 MUX 1 1 MUX
0 2 8:1 EP 2 8:1
0 3 fR 1 3 fN
ER 4 Y 0 4 Y
0 5 Y 0 5 Y 0 Init
0 6 0 6 DCD 1 SP
0 7 4151 0 7 4151 2
s2 s1 s0 s2 s1 s0 0 D3 3 SR
D2 4
D1 5
D0 6
7
Q3Q2Q1Q0 7442 8
Reset MR 74162 Clk 9
LD D3D2D1D0 EN
0
8
Curs 11
3.4. S istem e secven ţiale sin cron e
Încărcare R S1
num ărător C = 0 căutarea biţilor = 1
într-un registru de 8 biţi
DA Ri = 1 NU S2
NU S4
C=8
DA
STOP
A naliza figurii p erm ite d eterm inarea a 2 blocuri funcţionale:
1. U n itatea d e execu ţie U E – realizată cu regiştri, num ărătoare,
bistabili, CLC.
2. G en eratoru l d e secven ţe sau u n itatea d e com an d ă U C –
secven ţiator care op erează asup ra unităţii d e ex ecu ţie. U C
trebuie să asigu re:
- trecerea din starea Si în starea Si+1;
- întrerup eri d e secvenţe prin salt;
- bucle d e aştep tare.
1
S chem a sistem u lu i secvenţial com p lex
UC UE
Decodificator Calcul
de secvenţe acţiuni U E
CLK
2
b. G en eratoru l d e secvenţe este realizat cu un registru de
deplasare (decalaj) în care va circu la un b it d e 1. F iecărei stări îi
corespund e un bit din registru l de d ep lasare. P oziţia bitu lui d e 1
sem nalizează o anum ită secven ţă. P entru a ob ţin e starea urm ătoare
registru l va fi d ecalat cu o p oziţie sau va fi d ecalat în cazu l saltu lui.
Avantajul acestei variante con stă în elim inarea d ecod ificatoru lui de
secven ţe.
În fiecare secven ţă se realizează o acţiun e sau un grup d e acţiun i. O
acţiun e p oate să n ecesite m ai m u lte etap e. D irijarea în cadru l secvenţei se
realizează cu ajutoru l gen eratoru lui de tact.
Variantele a şi b de U C cab late au dezavan taju l că o m odificare a
funcţionării presupun e o m od ificare a secven ţei d e lucru, deci o
modificare a cablajului.
2) UC microprogramate
G en eratoru l d e secven ţe trebu ie să aibă exact aceleaşi funcţii ca şi
în cazul UC cablate.
Generator
de tact CLK
A dresă Calcul
Memorie microprogram acţiuni U E
A dresă n ouă A cţiuni CLK
3
3.4.1. P rin cip ii d e com an d ă a sistem elor secven ţiale sin cron e
S istem ele secvenţiale sincron e îşi m od ifică ieşirea în funcţie d e
intrare doar în prezenţa unui sem nal de tact.
F u n cţii logice de com an dă. T abele de excitaţie
G en eratoru l d e tact furnizează un sem nal d e tact d e bază, care
provin e d e la un oscilator şi este un sem nal p eriod ic d e durată şi p erioadă
constantă. C u ajutoru l sem nalu lu i d e tact se vor gen era toate sem nalele de
com andă necesare unui sistem secvenţial sincron.
În sistem ele cab late, în cadru l un ei secvenţe se p ot efectu a m ai
m u lte op eraţii. D in acest m otiv este n ecesară d irijarea p erioad ei tactului
pen tru a stabili o succesiun e a diferitelor acţiuni. P ot să apară urm ătoarele
situaţii:
Tact suprapus
T
CLK1
CLK2
CLK3
Tact adiacent
CLK1
CLK2
CLK3
Tact neadiacent
CLK1
CLK2
CLK3
S istem ele secven ţiale sincron e se com andă prin funcţii care conţin
unul dintre semnalele de tact CLKi, o stare a circuitu lu i şi un sem nal
ex tern. T oate funcţiile d e com andă care acţion ează asupra elem entelor din
unitatea d e ex ecuţie U E vor con ţin e ob ligatoriu unu l din tre sem nalele de
tact în cadru l expresiei funcţiei (validează o acţiun e).
4
F uncţiile logice d e com andă nu ţin con t d e natura elem en tu lu i fizic
utilizat. D upă alegerea elem en telor fizice se vor grupa funcţiile de
com andă într-un tab el d e excitaţie. T ab elu l d e excitaţie conţin e:
- numele elementului circuitului;
- tipul elementului;
- intrările elem entu lui;
- m odu l d e com andă a intrărilor;
- funcţia logică corespunzătoare fiecărei intrări, scrisă sub form ă
sim b olică.
3.4.2. H azard u l în fu n cţion area sistem elor secven ţiale sin cron e
H azardu l reprezintă apariţia un ei m odificări n eprevăzute şi n ed orite
a unei stări a sistem u lui secvenţial sincron.
Hazardul poate fi:
- static – datorat propagărilor p e căi diferite a semnalelor; se
m anifestă prin com u tări fără sem n ificaţie logică;
- dinamic – datorat proceselor asincron e p e intrări; se m an ifestă
prin com utări fără sem nificaţie logică.
C auzele apariţiei pot fi:
- sem nale parazite la funcţiile d e ex citaţie;
- nerespectarea parametrilor dinamici;
- durata insuficien tă a im pu lsu lui d e com andă.
Metodele de evitare a hazardului:
1) Sincroniza rea intrărilo r asincron e
semnal
asincron
extern
CLK
tsetup thold
E N
CLK +1
CLK
CLK E
5
Se poate ca semnalul CLK E să aibă o durată foarte scurtă care va
provoca o funcţionare greşită a num ărătoru lui N . S e va face o
sincronizare a semnalului asincron E cu ajutorul unui bistabil.
E Es +1
CBB CLK2
CLK1
D Q2
CLK2
s
CLK2
Q2
Se face sincronizarea pentru Q2.
Q1 D Q2
s CLK2
CLK2
s Q1 Q2
Q2
6
J2 Q2 J3 Q3
CLK2
Q1 CLK CLK
s K2 K3
CLK2 Q1
Q2
s CLK2 Q1
tsetup thold
P entru rezolvarea prob lem ei este n ecesară ap licarea unui alt tact CLK3.
4) P roblem e datorate frecven ţei m axim e a tactului
C ircuitele M S I au sp ecificată în catalog frecven ţa m ax im ă d e lucru,
care este d e obicei valoarea tipică sau m edie. D atorită C L C care se
interpun creşte tim pu l d e propagare (se adau gă la tim pu l d e propagare
prin C L S , tim pu l d e p ropagare p rin C L C şi tim pu l d e setup) şi astfel
scade frecvenţa m ax im ă a tactu lu i. P roiectarea trebu ie făcută încât să se
introducă cel m u lt 2 nivele d e C L C între C L S .
5) P roblem e legate de iniţia liza re şi blocare
O rice sistem secvenţial care conţin e elem en te d e m em orie trebu ie
prevăzut cu o logică d e iniţializare la punerea sub tensiune. Altfel
elem en tele d e m em orie p ot să se găsească în orice stare şi succesiun ea de
stări nu urm ează cursu l firesc proiectat.
D eoarece nu toate stările sunt folosite trebuie să se introducă o
logică d e autoin iţializare, care are ca scop aducerea circuitu lu i secvenţial
în secven ţa norm ală de lucru.
3.4.3. P ertu rb aţii d atorate stru ctu rii electrice
P erturbaţiile p ot fi de natu ră electrică, m agn etică sau
electrom agn etică.
a. P ertu rbaţiile m ed iu lu i înconjurător se elim ină p rin ecranare
(câm puri electrice şi m agn etice) şi prin filtre d e reţea (câm p u l
electromagnetic).
b. Efectele perturbatoare introduse de sursa de alimentare (în
cond iţiile în care p oarta logică se asim ilează cu un gen erator d e tensiu ne
cu rezisten ţă internă şi cu ieşirea având un salt de la 0 la 5V, care
determ ină un cu rent p e lin ia d e con ex iun e şi prin lin ia d e m asă) se
datorează:
7
- zgom otelor de p e lin iile d e m asă – în cazul în care punerea la
m asă este incorectă (nu este aproap e de p orţile d e em isie şi de recepţie) se
gen erează curen ţi p araziţi care se p ropagă p e lin ie şi p ot p rodu ce
im pu lsuri d e tensiun e parazite, care la rându l lor p ot p rovoca răspun su ri
false la ieşirile circuitelor logice;
- variaţiilor d e curen t continuu care apar la trecerea din tr-o stare
logică în alta.
P entru elim inarea acestor p rob lem e se cup lează la m asă firele d e
legătură şi cab lurile coaxiale cât m ai ap roap e d e p orţile d e em isie şi
recepţie ale liniei. D ecup larea tensiunii d e alim entare a p orţilor d e em isie
şi d e recepţie ale liniilor se realizează cu cond ensatoare p entru înaltă
frecvenţă şi p entru joasă frecvenţă, m on tate cât m ai ap roap e d e circu itul
logic. P entru o d ecup lare şi m ai eficientă se folosesc şi inductan ţe p en tru
elim inarea oscilaţiilor.
c. D iafonia reprezintă toate fen om enele de cuplaj electromagnetic
între sem nalele d e p e lin iile d e legătură, care d acă in teracţion ează prod uc
semnale parazite.
O bucată de conductor p oate fi privită ca şi o antenă slabă, dacă nu
are o lun gim e d e cel puţin ¼ . D in acest m otiv firele d e legătu ră p ot fi
privite ca anten e d e recepţie p entru zgom ote. D iafonia p oate fi privită ca
şi transm isie rad io în care un cond uctor em ite şi celălalt recepţion ează.
D in acest m otiv 2 fire d e legătură p aralele alăturate p ot p roduce d iafonie.
Eliminare se realizează prin introdu cerea unui traseu d e m asă între lin iile
de legătură. Id eală ar fi utilizarea firelor încrucişate (fir d e legătură cu fir
de m asă în juru l lui).
d. P ropagarea şi reflex iile p e lin iile d e tran sm isie. L iniile d e
transmisie sunt caracterizate de im p edanţă. A ceasta reprezintă rap ortu l
dintre tensiun ea şi cu rentu l sem nalelor d e înaltă frecven ţă care parcu rg
linia. D acă term inaţia lin iei este o rezistenţă egală cu im p edanţa lu i nu
apar prob lem e d e propagare. A ltfel p ot apărea reflexii, datorită
neech ilibrării liniei de tran sm isie, care se suprapun p este sem nalu l iniţial.
D acă lin iile d e transm isie sunt foarte lun gi tim pu l d e propagare
poate ajunge egal sau m ai m are d ecât frontu rile şi atunci pot să apară
reflexii.
Aceste probleme sunt deosebit de importante pentru semnalele de
tact, d e aceea se va urm ări cu atenţie lun gim ea şi term inaţia firelor d e pe
aceste semnale (altfel circuitul poate într-un sin gur tact să parcurgă m ai
m u lte stări).
8
Curs 12
CAPITOLUL IV
PROIECTAREA SISTEMELOR NUMERICE CU
DISPOZITIVE PROGRAMABILE
4.1. Metodologii generale de proiectare a sistemelor
numerice
1
- întregul sistem este simulat - înlocuindu-se astfel vech ea fază
de prototip;
- se creează lista de com pon en te (netlist) a sistemului;
- netlista este folosită la realizarea PCB-ulu i; în tim pu l realizării
fizice a PCB-u lui, sim u larea m ai este rafinată.
În acest tip d e proiectare cele m ai m u lte m odificări, dacă nu ch iar
toate, apar în software, în PLD-uri sau în FPGA, nu în interconexiuni sau
în componente secundare.
D acă designu l a fost bin e conceput, el p oate fi reproiectat cu
m atrici d e porţi, pentru a m axim iza profitu l la producţia de serie m are.
F olosirea in tensivă a circu itelor F P G A este o modalitate foarte
eficien tă d e p roiectare a sistem elor nu m erice. F P G A -urile permit
procedu ri d e realizare fizică foarte rapid e şi m odificări ch iar m ai rap ide
ale d esignu lui, cu cond iţia să fie corect folosite. C h eia su ccesu lu i lor este
time-to-market-ul (tim pu l d e la con cep erea abstractă a unui p roiect până
la realizarea sa efectivă) foarte rapid .
2
form ând tab elele lor d e ad evăr. F P G A -urile sunt adeseori construite pe
baza unor b locuri con structive care sunt funcţii universale.
S ă luăm ex em p lu l unui m u ltip lexor 4 :1. E cuaţia ieşirii este
următoarea:
DATAOUT = S1S0D0 + S1S0D1 + S1S0D2 + S1S0D3
D3
D2
DATAOUT
S1 S0 DATAOUT
D1 0 0 D0
D0
S1 S0
0 1 D1
1 0 D2
1 1 D3
E xam inând fie tab elu l d e ad evăr al m u ltip lex oru lu i, fie ecu aţia
ieşirii, ob ţin em :
- dacă D 0 = D1 = D2 = 0 şi D 3 = 1, atunci funcţia D A T A O U T va fi
S1 S0, adică Ş I logic;
- dacă D 0 = 0 şi D 1 = D2 = D3 = 1, obţin em D A T A O U T = S 1+S0,
adică S A U logic;
- dacă D 0 = D2 = 1 şi D 1 = D3 = 0, ob ţin em D A T A O U T = S 0,
adică N U logic.
A ceste observaţii arată că m u ltip lex oru l este com p let funcţional. E l
este şi universal p entru că poate form a orice funcţie d e cele d ouă variab ile
de intrare S0 şi S 1 (selecţiile) prin setarea valorilor lui D din tab elu l de
adevăr la 0 sau la 1 logic.
A nalog, un m u ltip lex or 8 :1 p oate realiza orice funcţie d e 3
variabile d e intrare, iar un m u ltip lexor 16 :1 p oate realiza orice funcţie de
4 variabile etc.
O celu lă care are proprietatea d e com p letitud in e funcţională p oate
realiza orice funcţie logică com b in aţională folosind una sau m ai m u lte
copii ale sale.
O funcţie logică un iversală poate face acelaşi lu cru, dar s-ar putea
să n ecesite m ai puţin e celu le. A ici presupun em că celu la universală are
suficiente intrări p entru a fi eficientă, ceea ce p oate să nu fie în totd eau na
adevărat. U nele F P G A -uri folosesc ca blocuri constructive celule
universale, altele folosesc celu le fun cţional com p lete.
3
au fost numite FPGA-uri, iar celelalte - CPLD-uri (Complex
Programmable Logic Device); sau arhitecturi cu canale de rutare şi
respectiv arhitecturi foldback.
Canal de rutare
Celula
Conexiuni
programabile
Matrice de porţi S A U
OE Buffer
PIN(I/O)
Calea de reacţie
Matrice de porţi S I
Arhitecturi FP G A şi C P L D (foldback)
4
S olu ţia cea m ai folosită constă în a adăuga încă un m u ltip lex or în
celu lă, p erm iţând m u ltip lex oru lu i să conducă d irect in trarea D a
bistab ilu lui sau să-l ocolească p entru a "ieşi" în exterior. A cum , structu ra
blocu lui constructiv este rezonabilă din m u lte puncte d e ved ere. E l poate
form a orice funcţie com b inaţion ală de trei variab ile şi p oate, de
asem en ea, form a funcţii secven ţiale realizate cu b istabile D . În figură se
prezintă celu la finală, îm preună cu sim b olu l ei. D e notat că intrările d e
date nu sunt scoase în afara celulei. Num ai ceasu l şi 4 in trări d e selecţie
sunt intrări p entru form area funcţiilor logice, ceea ce reduce consid erabil
num ăru l d e con ex iuni extern e necesare im p lem entării de funcţii logice.
D7
D7
D0 D6
D6
01 D5
D5
DATA D1 D4
D4 MUX D Q S S2
8:1 D3
D3 S1
CP QN D2 OUT OUT
D2 S0
D1
D1 CLK
D0
D0 SEL
S2 S1 S0 S2
S2 S1
S1 S0
S0 CLK
CLOCK
SEL
SELECT
5
S2 S2 S2 S2 S2
S1 S1 S1 S1 S1
O O O O O
S0 S0 S0 S0 S0
S2 S2 S2 S2 S2
S1 S1 S1 S1 S1
O O O O O
S0 S0 S0 S0 S0
S2 S2 S2 S2 S2
S1 S1 S1 S1 S1
O O O O O
S0 S0 S0 S0 S0
S2 S2 S2 S2 S2
S1 S1 S1 S1 S1
O O O O O
S0 S0 S0 S0 S0
S2 S2 S2 S2 S2
S1 S1 S1 S1 S1
O O O O O
S0 S0 S0 S0 S0
S2 S2 S2 S2 S2
S1 S1 S1 S1 S1
O O O O O
S0 S0 S0 S0 S0
6
S em n alele intră în structura d in figu ră prin buffere d e in trare,
ajungând la lin iile verticale şi orizontale. În toate punctele d e intersecţie a
unei linii orizontale cu una verticală se p oate realiza o con exiun e.
Valorile logice de pe liniile de intrare (de date) ale multiplexoarelor sunt
setate prin intermediul unor circuite de programare a FPGA-u lui. F uncţia
fiecărei celu le este d eci program ată intern, iar ieşirea este rutată în sp re
m ai m u lte lin ii verticale şi orizontale. S em n alele d e la ieşirea un ei celu le
pot fi rutate la intrările altor celu le sau la ieşirile circuitu lu i F P G A , ieşiri
care sunt realizate prin buffere d e ieşire.
S2
S1
O
S0
Sel
S2
S1
O
S0
Sel
S2
S1
O
S0
Sel
S2
S1
O
S0
Sel
S2
S1
O
S0
Sel
S2
S1
O
S0
Sel
7
În cazu l arhitecturii C P L D , ieşirile tuturor celu lelor sun t reru tate în
interioru l m atricii (reacţie in versă) către intrările tu turor celorlalte celu le.
Ş i aici se presupun e că circuitele d e program are (co nfigurare) a celulelor
nu apar în figură. F uncţiile sim p le sunt realizate în celu le, iar p entru cele
m ai com p lex e se folosesc căile d e reacţie in versă. În figu ră apar pu ţin e
celule în structura foldback-ului, dar în realitate, cu tehnologia de azi,
num ăru l acestor celule poate atinge câteva sute.
A rhitectu rile p rezentate sunt relativ sim p le şi totuşi ex istă u n
anum it num ăr de prob lem e care apar:
- C âţi pini d e intrare, ieşire şi bidirecţion ali sun t necesari?
- E ste oare bin e să avem pin i de clock (tact) d edicaţi?
- C are este num ăru l corect d e lin ii d e in tercon ectare verticale şi
orizontale necesare pentru a evita congestia?
- E ste bin e oare să se d ivizeze lin iile d e intercon ectare în m ai
multe sub-segm en te, în ved erea evitării b locării unei căi?
La toate aceste prob lem e trebu ie să se răspundă în funcţie d e
arhitectura sp ecifică folosită (firm a producătoare, tehn ologia d e realizare
a FPGA-ului, structura celulei etc.).
8
Curs 13
4.3. In stru m en tele softw are d e su sţin ere a p roiectării
cu FPGA-uri
4.3.1. Introducere
A rhitectu rile prezentate anterior erau alcătuite din celu le logice
identice plasate într-o reţea d e con ex iuni p osibile. F o losirea acestor
arhitecturi n ecesită translatarea fu ncţiei d orite d e către proiectant în
con ex iunile intra şi intercelu lare necesare ob ţin erii d esignu lu i final.
E xistă d ouă fu n cţii prin cipale p e care trebu ie să le realizeze
instru m entele softw are de susţin ere a proiectării cu circu ite F P G A :
1) să con vertească funcţiile d esign ulu i în funcţiile realizab ile d e
către F P G A . A ceastă funcţie se num eşte translatare (alteori compilare
sau fitting - potrivire).
2) să verifice dacă designu l translatat este corect. A ceastă funcţie
se nu m eşte verificare şi p oate fi realizată cu softu l d e verificare a
designu lu i şi de sim u lare logică.
A m bele funcţii op erează cu o versiune a d esignu lui nu m ită netlist
(listă d e con ex iuni şi com p on en te) asupra căreia se p ot face in vestigaţii,
deoarece este o reprezentare com un ă a circuitu lu i.
1
- rutarea.
O operaţiun e im p ortan tă este elim inarea părţilor redundan te din
design - altfel cele mai multe designuri nu pot fi implementate în FPGA.
Exemplu: D acă în d esign apare un num ărăto r p e 4 biţi din care se
folosesc efectiv num ai cei 2 biţi m ai puţin sem nificativi, softu l va
"sparge" im p lem entarea num ărătoru lui p e 4 biţi şi va realiza d oar
im p lem entarea unui nu m ărător p e 2 biţi, restu l logicii in iţiale fiind de
prisos în acest caz.
*
NETSTART
*
OUT3 DFF I(OUT3_D, CLOCK) O(OUT3, N_ OUT3)
OUT3_D AN2 I(A1, N2O_1) O(OUT3_D)
B2O_1 INV I(A2) O(N2O_1)
OUT2_D OR2 I(N21_2, N21_4) O(OUT2_D)
OUT2 DFF I(OUT2_D, CLOCK) O(OUT2, N_OUT2)
B21_4 AN2 I(N21_3, A4) O(N21_4)
B21_2 AN2 I(N21_1, A2) O(N21_2)
B21_1 INV I(A1) O(N21_1)
B21_3 INV I(A3) O(N21_3)
OUT1 DFF I(OUT1_D, CLOCK) O(OUT1, N_OUT1)
B22_1 AN2 I(A1, A2) O(N22_1)
B22_2 AN2 I(A3, A4) O(N22_2)
OUT1_D OR2 I(N22_1, N22_2) O(OUT1_D)
*
NETEND
*
NETIN A1, A2, A3, A4, CLOCK
NETOUT OUT1, OUT2, OUT3
*
Exemplu de n etlistă
2
În această n etlistă, D F F înseam n ă bistab il D (D flip-flop), AN
înseam nă p oartă Ş I, IN V înseam nă poartă N U , iar O R în seam nă p oartă
SAU.
A cesta este nivelu l la care se fac su bstituţiile; ex istă sute d e regu li.
Exemplu: Se elim ină p orţile logice d in d esign ale căror ieşiri nu su nt
folosite. A stfel se p ot com bina p orţile care realizează funcţii id en tice, se
pot elimina bistabile etc. Procesul de "convertire" a componentelor logice
din design în com p on en te logice im plem entabile d e către celu lele d e ba ză
din F P G A se num eşte m apare teh n ologică .
4.3.4. Plasarea
E ste procesu l d e am p lasare fizică a com p on entelor logice în
celu lele din F P G A . În p rincipiu se urm ăreşte am p lasarea funcţiilor logice
adiacente în celu le alăturate (dacă un m odu l logic are ca in trări ieşirile
altui m odu l, cele d ouă m odu le vor fi adiacen te). C riteriu l critic d e p lasare
este urm ătoru l: să se p oată face legăturile cu celelalte celu le.
4.3.5. Rutarea
P resupunând că s-a reuşit efectu area unei p lasări ad ecvate a
componentelor logice în celu lele d in F P G A , pasu l u rm ător este
intercon ectarea acestora. L a început, netlista este insp ectată, urm ărindu -se
inform aţiile d e in tercon ectare din ea. A poi se insp ectează p lasarea
ex isten tă în acest m om ent. S e consid eră că dacă o lin ie m etalică de
intercon ex iun e are ataşat un sem nal de ieşire şi celălalt capăt al său este
con ectat la in trarea un ei alte celu le, atunci lin ia este folosită (consum ată).
P e m ăsură ce procesu l d e intercon ectare avansează, liniile d evin ocupate
şi poate să apară congestia. În această situ aţie, softu l va reface p lasarea,
proces numit re-rutare.
R ezu ltatu l p lasării şi ru tării este un fişier care d escrie d esignu l
originar în termenii celulelor FPGA-ulu i. A cest fişier conţin e d escrierea
asignării p oziţiilor celu lelor şi in tercon exiunilor dintre celule pentru
reţeaua d e tip F P G A sau C P L D (foldback). În final fişieru l este tran slatat
într-o hartă d e biţi care p oate fi tran sm isă unui program ator d e d isp ozitiv e
care configurează F P G A -ul.
S e ved e d eci că un instru m ent softw are d e rutare a semnelor din
F P G A este vital p entru exp loatarea p osibilităţilor oferite d e aceste
circuite.
4.3.6. C ăi critice
Problemele care apar în proiectarea cu FPGA-uri sunt în special
probleme de temporizare. D e ex em p lu : un sem n al trebu ie să in tre în
FPGA, să ia parte la im p lem en tarea un ei funcţii logice şi ap oi să iasă
im ediat p entru a participa la alte op eraţii în afara F P G A -u lui (aşa se
3
întâm p lă d eseori la sistem ele cu m icroprocesoare, la d ecodificatoare, la
comparatoare rapide etc.). Alteori, toate bistabilele dintr-un registru de
dep lasare sau num ărător trebuie să fie plasate în celu le ad iacen te din
F P G A , p entru a garanta sosirea aproap e sim u ltană a sem nalu lu i d e tact la
aceste celule.
C ăile critice com p lică p lasarea şi rutarea p entru că sp oresc num ăru l
de constrân geri adiţionale. D e obicei se p lasează în tâi celu lele aflate p e
căi critice, ap oi restu l celu lelor din design. În continuare se rutează în
m od sim ilar: întâi celu lele aflate p e căi critice, ap oi restu l celu lelor d in
design. În acest fel răm ân m ai puţin e p osibilităţi p en tru p lasarea şi rutarea
restului designului.
S e recom andă să se păstreze la un nivel m in im căile critice, pentru
că altfel sesiunile d e p lasare şi ru tare d evin m u lt m ai lun gi.
4
Avantaje:
- gen erează rapid rezu ltatele;
- modelul este simplu.
Dezavantajul principal:
- nu oferă inform aţii d espre tem p orizare, ci nu m ai relaţii relative
între semnale.
4.3.8.2. S im u larea tem porală digita lă
În acest tip d e sim u lare se creează un m od el al în tregului design,
interconectându-se modelele celulelor, asociindu-se în plus un element
adiţional la ieşirea m od elu lui fiecărei celu le: un bloc de întârziere.
Blocul de întârziere al unei celule este compus din trei factori:
1) în târzierea introdu să de celulă în sine, în ab senţa oricărei
con ex iuni extern e. Ş i această întârziere este d e fapt alcătu ită din d ouă
întârzieri:
- întârzierea p entru tranziţia din "1 " logic în "0 " logic;
- întârzierea p entru tranziţia din "0 " logic în "1 " logic.
Specificarea acestor d ouă valori în data sheet-ul circuitului integrat
F P G A este opţională.
2) întârzierea asocia tă capacită ţii de rutare a firulu i de m etal care
uneşte două celu le;
3) întârzierea da tă de sum a im ped anţelor de intra re ale celulelor
comandate.
Uneori, întârzierile d e la punctele 2) şi 3) sunt luate îm preună.
A ceastă sim u lare este m u lt m ai com p lexă. N u vom in tra în d etaliile
realizării efective a acestu i tip de sim u lare (m odu l d e realizare a
modelelor, planificatorul de evenimente etc.)
4.3.8.3. Simularea defectelor
În acest tip de simulare se folosesc tehnici speciale pentru a se
obţin e un "scor" (nu m it grad de defecte) p entru d esign şi stim u lii ap licaţi.
S e testează fiecare asp ect al d esignu lu i conform standard elor industriale.
Ideea este de a crea problem e artificiale ("d efecte") şi d e a urm ări
dacă răspunsurile diferă de cele obţinute în cazu l n orm al, corect.
Sim ularea fundam enta lă constă în m enţin erea ieşirilor un or celu le la 0
sau la 1 logic, în tim p ce se ap lică stim u lii. A cest proces nu este efectuat
pen tru toate n odurile d eodată, dar poate fi realizat p en tru m ai m u lte
noduri sim u ltan, dacă acestea sunt suficien t d e ind ep end ente unu l faţă de
celălalt.
A ceastă sim u lare n ecesită m u ltip le ru lări pen tru a calcu la un grad
de d efecte şi de aceea este o m are consumatoare de timp.
În general, pentru FPGA-uri se foloseşte m ai ales sim u larea
tem p orală, p entru P L D -uri - sim u larea funcţională, iar p entru A S IC -uri
mari - simularea de defecte.
5
4.3.9. Evaluarea
Simulatorul are o bib lio tecă de fu n cţii în care fiecare intrare are
ataşată o rutină care evalu ează un tabel d e ad evăr. S pre d eosebire d e un
tab el d e adevăr norm al, intrările într-un tabel de adevăr de sim ulator
reflectă m ai realist condiţiile electrice (d e ex em p lu : ieşiri three-state, stări
necunoscute etc. - vezi figura 9).
Ş I-NU 1 * 3 # a
b
f ab
1 1 1 1 1
= ZERO
1 1 * # #
1 = HIGH
* 1 * * # #
* = NECUNOSCUT
3 1 # # # #
3 = TRI-STATE
# 1 # # # #
# = NEDETERMINAT
A) Modelul logic
Delay
B ) M od elu l cu o întârziere adău gată
Modelul d e sim u lare al un ei p orţi Ş I-NU
O poartă Ş I-NU normală are d oar p atru intrări în tab elu l d e ad evăr.
A cest tab el d e ad evăr are 25 d e intrări d eoarece in trările p orţii pot avea 5
valori posibile per intrare. În figu ra 9, intrările p ot fi valorile logice 0 şi 1,
dar şi necunoscute, three-state sau ned eterm inate. C ondiţia n ecun oscu tă
poate să apară într-o situaţie reală dacă intrarea porţii provine de la un
bistab il a cărui ieşire Q este n ecu noscu tă (de exemplu la punerea sub
tensiune, start-up). Intrarea three-state poate să apară la o intrare dacă
aceasta provin e d e la ieşirea un ei porţi three-state de pe un nivel logic
anterior. C ondiţia n ed eterm inată a intrării p oate să apară dacă d ou ă
buffere three-state comandă acelaşi nod cu un n od care realizează un Ş I
cab lat atunci când un buffer elib erează com anda sa în tim p ce celălalt
buffer asertează.
Cu cât numău l d e stări creşte, cu atât creşte şi acurateţea sim u lării,
dar cu preţul unui consum sporit de timp de rulare.
4.3.10. Modelarea
Simularea performantă include folosirea unor limbaje de
modelare speciale, foarte eficiente, numite BLM (Behavioral Language
Models). A cestea sun t m od ele d e evaluare care gen erează răspunsuri d e
ieşire corecte la stim u li d e intrare d aţi. U n B L M este alcătuit d e fapt d in
procedu ri scrise p en tru a reacţiona corect la un stim u l, dar nu con ţine
vreun m od el d e p oartă anu m e. C el m ai sim p lu B L M este cel al un ui
bistabil D. Codul este scris în VHDL, care a fost optimizat pentru
portabilitate pe multe sisteme de proiectare asistată de calculator.
6
E D G E _T R IG G E R E D _D : b lock (C L K = ‘1’ and n ot C L K
‘S T A B L E or C L R = ‘1’)
begin
Q < = guarded ‘0 ’ w hen C L R = 1; else
D w hen C L K = ‘1’ and not C L K ‘S T A B L E else
Q;
end block EDGE_TRIGGERED_D;
Modelul unui bistabil în VHDL
4.3.11. Biblioteci
Simulatoarele sunt livrate cu biblioteci de modele de simulare, cu
blocurile constructive n ecesare gestionării celei m ai m ari p ărţi a
designurilor. Aceste biblioteci includ porţi elem entare, bistabile, intrări,
ieşiri şi m ai m u lte funcţii adiţionale.
Aici se pot modifica întârzierile nodurilor interne, se pot rula
subrutine ale stimulilor etc.
7
interne folosind legile circuitului electric, lungimea firelor metalice,
constantele dielectrice şi alţi parametri.
F olosind aceste în târzieri, softu l alcătuieşte o n etlistă cu întârzieri
notate nod cu nod, modificând netlista originară. Acesta este procesul de
back annotation. Simularea pe baza acestei noi netliste este mult mai
precisă, detectând puncte critice care nu au cum să fie observate din
lumea externă.
DESIGN
SIMULARE COMPILARE
E
PROGRAMARE
Back
Annotation