Sunteți pe pagina 1din 107

A-PDF MERGER DEMO

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.

1.2. D efin irea axiom atică a algeb rei b ooleen e


A lgebra b ooleană este o algebră form ată din :
- elementele 0,1;
- 2 op eraţii binare num ite S A U şi S I, notate sim b olic + sau  şi 
sau ;
- 1 op eraţie unară num ită N U negaţie, notată sim b olic sau  .
O peraţiile se defin esc astfel:
SI SAU NU
0 0 = 0 0+0=0 0=1
0 1 = 0 0+1=1 1=0
1 0 = 0 1+0=1
1 1 = 1 1+1=1

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:

M atem atică L ogică T eh n ică


P rim a lege d e com p oziţie D isjuncţie SAU
x1 + x2 x1  x2 x1 + x2
A doua lege d e com p oziţie C onjuncţie SI
x1 x2 x1  x2 x1 x2
Elementul invers Negare NU
x x x

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 + (x1x2) = 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.

1.4. F u n cţii b ooleen e


O funcţie f: B n  B, unde B = 0,1 se nu m eşte funcţie b ooleană.
A ceastă funcţie b ooleană y = f(x 1, x2,… ,x n) are drept caracteristică fap tu l
că atât variabilele cât şi funcţia nu pot lua d ecât d ouă valori d istincte, 0
sau 1. F uncţia va pune în coresp onden ţă fiecărui elem ent al produsu lu i
cartezian n dimensional, valorile 0 sau 1. A stfel d e funcţii sunt utilizate
pen tru caracterizarea funcţionării u nor disp ozitive (circuite) con stru ite cu
elem en te d e circuit având d ouă stări (ex.: un întrerupător înch is sau

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).

1.4.1. F u n cţii b ooleen e elem en tare


R evenim la form a gen erală a unei funcţii b ooleen e de n variabile:
y = f(x1, x2,… ,x n)
D om en iu l d e d efiniţie este form at d in m = 2 n puncte. Deoarece în fiecare
din aceste puncte funcţia p oate lua doar valorile 0 şi 1 rezu ltă că num ăru l
total al funcţiilor b ooleen e de n variabile este N = 2 m.
V om consid era în con tinuare funcţiile elem en tare d e 1 variabilă.
P entru n = 1 avem m = 2 şi N = 4 . F uncţia are form a y = f(x) şi cele 4
form e ale ei se găsesc în tab elu l urm ător:

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

L a fel se p ot realiza toate funcţiile cu ajutoru l un or funcţii d e bază.


A cestora le vor corespund e şi nişte circuite logice elem entare, cu ajutorul
cărora se p oate realiza practic orice tip d e circu it. Ţ inând con t d e faptu l că
circuitele logice d e com utaţie au 2 stări stabile L O W (L ) şi H IG H (H ),
asignând lui L  0 şi lui H  1 se p oate în tocm i un tabel al funcţiilor
elementare.

Denumire F uncţie Simbol Tabel de Tabel de


adevăr definiţie
Inversor – NOT f=x x x f x f
f=x 0 1 L H
1 0 H L
P oartă S I – AND f = x1 x2 x1 x1 x2 f x1 x2 f
x2 0 0 0 L L L
f=x1x2 0 1 0 L H L
1 0 0 H L L
1 1 1 H H H
P oartă S A U – OR 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 1 H H H

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=x1x2 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

1.4.2. R ep rezen tarea fu n cţiilor b ooleen e


E xistă d ouă m oduri de reprezen tare a funcţiilor b ooleen e: grafică şi
analitică.
1. M odalităţi g rafice - se caracterizează p rintr-o reprezentare
intuitivă, uşor d e reţinut, dar sun t inad ecvate p entru funcţii
booleen e cu un num ăr de variabile m ai m are d ecât 4;
2. M odalită ţi an alitice - sunt mai greoaie, dar permit metode
automate, d eci algoritm i d e sim p lificare a funcţiei; se folosesc în
gen eral p en tru funcţii b ooleen e cu num ăru l variabilelor m ai m are
decât 5.
1.4.2.1. M odalităţi de reprezen tare grafică
M odalităţile d e rep rezentare grafică sunt: tab el d e ad evăr, diagram ă
K arnau gh, schem ă logică, diagram ă de tim p.
1. T ab el d e ad evăr – se m arch ează într-un tab el coresp ond enţa
dintre valorile d e ad evăr ale variab ilelor de intrare şi valoarea de
adevăr a funcţiei, în fiecare punct al dom eniu lu i de d efiniţie.
P entru o funcţie cu n variabile d e in trare vom avea 2n com b inaţii.
E xistă situaţii în care, p entru anum ite com binaţii ale variabilelor d e
intrare, valoarea funcţiei nu este specificată. A ceste funcţii se nu m esc
incomplet definite. În tab el, în locu l în care funcţia nu este sp ecificată, se
notează cu “X ”. D acă o funcţie b ooleană este incom p let d efinită p entru

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) = x1x2 + x1x2

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

D iagram ele K arnau gh corespunzătoare p ot fi reprezen tate astfel:


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

3) D iagram a K arnau gh p entru funcţia de 4 variabile:


y = f(x1,x2,x3,x4)
x4
x1x2 x3x4 00 01 11 10
0 1 3 2
00
01 4 5 7 6
x2
12 13 15 14
x1 11
10 8 9 11 10

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 = x1x2

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 120 + x221 + … + x n2n-1 ca num ăr de com binaţii.
Exemplu:
x1 x2 x3 f
0 0 0
0 0 1
0 1 0  i = 022 + 121 + 020 = 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 x1x2x3
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) = xif(x1,x2,… , x i-1, 1, xi+1,… ,x n) +
xif(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.

1.4.3. M in im izarea fu n cţiilor b ooleen e


A lgebra b ooleană se foloseşte la analiza şi sin teza disp ozitivelor
num erice (circu ite d e com utaţie). Între gradu l d e com p lexitate al
circuitu lu i şi cel al funcţiei care îl descrie ex istă o legătură directă.
A ceasta este m otivaţia p entru care, în etapa de sinteză a circuitelor de
com utaţie, du pă definirea acestora, urm ează în m od ob ligatoriu etapa de
minimizare a funcţiei, având drep t scop ob ţin erea un or form e ech ivalen te
m ai sim p le (form a m in im ă).
S olu ţia m in im ă obţinută în urm a m inim izării ar trebui să fie cea
m ai avantajoasă (econ om ie d e po rţi logice, ob ţin erea un ei sch em e m ai
fiabile, m ai ieftin e). În realitate n u este întotd eauna aşa. D e ex em p lu,
dorinţa d e a ob ţin e un sistem uşor d epanab il p oate duce la ob ţin erea un ei
soluţii n em in im ale, dar care prezintă proprietăţi interesante d e sim etrie şi
regularitate.
Prin aplicarea metodelor de minimizare (de simplificare) se ajunge
la expresii minimale sub forma unor SAU-uri de SI-uri (reuniune
m inim ală) ori a unor S I-uri de SAU-uri (intersecţie m inim ală).
C riteriile u tilizate în ved erea m in im izării sunt:
- reducerea num ăru lui d e variab ile;
- reducerea num ăru lui d e term eni;
- reducerea p e ansam b lu a variabilelor şi term en ilor, astfel ca
sum a lor să devină m in im ă.
M inim izarea con stă în princip al în transform area form elor
canon ice şi a form elor elem entare p arţial sim p lificate în form e elem entare
minimale.
M etod ele d e m inim izare p ot fi grupate în m etod e algeb rice şi
metode grafice.
1.4.3.1. M in im izarea grafică
1. Diagrama Karnaugh
M inim izarea se bazează p e prop rietatea d e adiacen ţă a codu lui
binar reflectat (G ray) cu ajutoru l căruia se num erotează liniile şi
coloan ele d iagram ei K arnau gh. În ved erea m inim izării se aleg sup rafeţele
m axim e (subcuburi) form ate din constitu enţi ai un ităţii, resp ectiv din
constitu enţi ai lui 0, suprafeţe (subcuburi) având ca dim en siun e un nu m ăr
de pătrate (com partim ente) egal în totd eauna cu pu teri ale lu i 2. A ceste
suprafeţe vor corespund e term en ilor can onici, term en ii vecin i fiin d
adiacenţi (diferă printr-un sin gur b it). C a urm are, în urm a grup ării lor se
vor reduce variabilele pe baza relaţiei: x 1x2 + x1x2 = x1.

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 = x1x3 + x1x3x4 + x1x2x4 sau
fFDM2 = x1x3 + x1x3x4 + x2x3x4

Im p lem entarea cu porţi d e tip S I-N U arată astfel:

fFDM1 = x1x3 + x1x3x4 + x1x2x4 = = x1x3 x1x3x4 x1x2x4

Minim izarea funcţiei negate va fi:


fFDM = x1x3 + x3x4 + x1x2x3

L a fel se proced ează şi la m in im izarea funcţiei prin folosirea


constitu enţilor d e 0 :

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)

2. D iagram e K arnau gh p entru funcţii incom p let d efinite


F uncţiile incom p let d efinite sunt cele care în anumite puncte ale
dom eniu lu i d e d efiniţie p ot lua valoarea 0 sau valoarea 1. A vem d ouă
posibilităţi:
- com binaţii d e intrare p en tru care funcţia are valori ind iferen te
(nedefinite);
- com binaţii ale variab ilelor care nu pot să apară din pu nct de
ved ere fizic; în aceste situaţii trebu ie studiat dacă com binaţiile
sunt su sceptibile să se p roducă în u rm a un ei m an evre false sau
în urm a unui d efect d e funcţionare; pentru a evita funcţionarea
greşită, în locaţiile corespunzătoare se im pun valori p entru
funcţie, astfel încât să nu se perturb e funcţionarea n orm ală.
V alorile n esp ecificate precum şi locaţiile corespunzătoare din
diagram a K arnau gh se nu m esc “ind iferente” sau “arb itrare” sau
“redund ante”. E le se n otează cu “x” şi vor fi consid erate în timpul
m inim izării ca având valoarea 1 sau 0, în funcţie d e situaţie, pen tru a se
obţin e o m inim izare cât m ai bună.

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 = x1x2 + x2x3 + x1x4 + x2x4
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 = x1x2x4 + x1x3x4 + x1x3x4 + x1x2x4 = x2(x1 x4) + x3(x1 + x4) =
= x2G + x3G 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 = x2G + x3G = x2G(x3 + x3) + x3G(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 x2x3 + x1x3
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 cx2 + (a+b)x1x3
Pasul 4. f = x2x3 + x1x3 + cx2 + (a+b)x1x3

7
Curs 3

1.4.3.2. M in im izarea algebrică


M inim izarea algeb rică a funcţiilor booleen e se face cu ajutoru l
teoremelor algebrei booleene.
În cazu l în care nu m ăru l d e variabile este m ai m are d ecât 6 se
utilizează metoda de minimizare Quine-Mc Cluskey. A ceastă m etodă
are avan tajul că algoritm u l este uşor d e im p lem entat p e calcu lator. P entru
prezentarea m etod ei vom lua ca ex em p lu funcţia:
f =  (0, 2, 3, 5, 7, 8, 10, 11, 13, 15)
Etapele de minimizare sunt:
1. S e grup ează term enii can on ici astfel încât term enii d in fiecare
grupă să conţină acelaşi num ăr d e 1, resp ectiv 0.
TC x1 x2 x3 x4
0 0 0 0 0
2 0 0 1 0
8 1 0 0 0
3 0 0 1 1
5 0 1 0 1
10 1 0 1 0
7 0 1 1 1
11 1 0 1 1
13 1 1 0 1
15 1 1 1 1
2. S e com pară fiecare term en din tr-o grupă cu toţi cei din gru pa
urm ătoare, ap licând relaţia d e redu cere: x 1x2 + x1x2 = x1. Se
grup ează term enii care diferă printr-o sin gură variabilă (o
sin gură p oziţie b inară). T erm enu l obţinut prin com b inare va
con ţin e p e poziţia resp ectivă sem nu l -.
Comparare Rezultatul comparării
între x1 x2 x3 x4
0, 2 0 0 - 0
0, 8 - 0 0 0
2, 3 0 0 1 -
2, 10 - 0 1 0
8, 10 1 0 - 0
3, 7 0 - 1 1
3, 11 - 0 1 1
5, 7 0 1 - 1
5, 13 - 1 0 1
10, 11 1 0 1 -
7, 15 - 1 1 1
11, 15 1 - 1 1
13, 15 1 1 - 1

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

1.4.4. M in im izarea sistem elor d e fu n cţii b ooleen e


S istem ele d e funcţii b ooleen e sunt exprimate prin f: Bn  Bm unde
B =0, 1. A rgum entele p ot fi d e n variab ile şi sunt m ai m u lte funcţii de
acest tip: f1, f2,… , fm.
P entru a m inim iza sistem ele d e fu ncţii se caută im p lican ţi prim i
pentru f1, f2,… , fm şi p en tru produ sele f1f2, f1f3… , f1fm, … f1f2f3,… ,
f1f2f3f4,… , … f1f2… fm. S olu ţia aleasă p entru im p lem en tarea
sistem u lu i d e funcţii b ooleen e va fi cea care va fi cea m ai avan tajoasă d in
punct de vedere al circuitelor disponibile şi al p reţu lu i.

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:
f1f2 =  (1, 5, 6)
f1f3 =  (5, 6, 7)
f2f3 =  (5, 6)
f1f2f3 =  (5, 6), identică cu f2f3
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 f1f2:
x1 x2x3 00 01 11 10
0 1
1 1 1
Pentru f1f3:
x1 x2x3 00 01 11 10
0
1 1 1 1
Pentru f2f3 şi f1f2f3:
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 -
f1f2 1,5 x2x3 e
6 x1x2x3 -
f1f3 5,7 x1x3 d
6,7 x1x2 c
f2f3 = f1f2f3 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 f1f2f3 x x x
b 5 f1f2f3 x x x
c 6, 7 f1f3 x x x x
d 5, 7 f1f3 x x x x
e 1, 5 f1f2 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) = g03 + g12 + g21 = 03 + 52 + 01 = 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

O ricare funcţie d e ieşire y (y 1, y2,… , y m) este funcţie de toate


variabilele de intrare (x1, x2,… , x n). Un CLC se poate descrie astfel:
y1 = f1(x1, x2,… , x n)
y2 = f2(x1, x2,… , x n)

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

C ircuitu l logic com b inaţional din ex em p lu are 4 nivele.


E xistă şi urm ătoarea situaţie d e legături în tre porţi:
x1 y
x2

x3

A cest circuit are şi legătu ri in verse. U ltim ele p orţi nu pot fi


numerotate, deci circuitul nu este un CLC.
În C L C sunt adm ise legătu rile in verse (ieşirea un ei p orţi d intr-un
nivel inferior să fie dusă la intrarea unei p orţi d intr-un nivel superior) cu
cond iţia ca d efiniţia C L C să fie resp ectată.
A lgoritm de determ in are a legătu rilor in verse în C L C
a. S e num erotează toate p orţile log ice care au ca intrări un subset
din m u lţim ea variabilelor d e intrare ale circuitu lu i logic (d e la 1 la k);
b. S e num erotează d e la k+ 1 porţile care au ca intrări fie in trări ale
circuitu lu i, fie ieşiri ale p orţilor num erotate la punctu l a. D acă am reu şit
să num erotăm toate p orţile circuitulu i logic, acesta este fără legătu ri
inverse şi este circuit com binaţional. D acă nu am reuşit nu m erotarea
tuturor porţilor logice, circu itu l este de tip secven ţial.

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.

2.3.1. Sinteza CLC cu circuite integrate SSI


Circuitele integrate de tip SSI – small scale integration – au până la
50 de tranzistoare integrate p e cap su lă. D intre aceste circuite fac parte
porţile logice fundam entale: S I-NU (NAND), SAU-NU (NOR), NU
(NOT), SI (AND), SAU (OR), SAU-EXCLUSIV (XOR).
D upă parcurgerea etap elor d e sinteză se face im p lem entarea
funcţiei sau funcţiilor logice cu ajutoru l circu itelor integrate ex isten te.
C L C de tip S S I se folosesc m ai m u lt p entru adaptarea la ap licaţie a
circuitelor d e tip M S I şi L S I standardizate, care nu satisfac cu exactitate
cerinţele d e proiectare. E le vor fi utilizate acolo und e circuitele cu grad
înalt de integrare nu pot fi folosite.

2.3.2. Sinteza CLC cu circuite integrate MSI


Circuitele integrate de tip MSI – medium scale integration – au
până la 500 d e tranzistoare in tegrate. E le oferă structuri m ai com p lex e,
disp onib ile ca şi stru cturi standard.
F orm a funcţiilor logice p e care dorim să le im p lem entăm cu
circuite d e tip M S I trebu ie să fie corelată cu circuitele disp onib ile. De
obicei nu m ai este n ecesară m in im izarea funcţiilor.
C ircu ite com b in aţion ale u zu ale (sp ecializate)
1. Convertoare de cod
Convertoarele de cod sunt CLC care permit trecerea dintr-un cod
binar în altu l. L a intrarea circuitu lui se ap lică cuvintele unui cod şi la
ieşire se obţin e alt cod. C on vertoarele d e cod fac com patibilă funcţionarea
a 2 sistem e în care inform aţia este codificată în m od diferit.
Exemplu: Conversiile din cod Gray în cod binar-zecim al (B C D ) şi in vers
1) Cod Gray  BCD
Cuvintele de cod în cele d ouă coduri sunt:
Gray: gn, gn-1,… , g 0
BCD: bn, bn-1,… , b 0
Reguli: bn = gn

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

2) Conversia din BCD în Gray:


gn = b n
gi = bi + bi+1
2. Codificatoare
C odificatoarele sunt C L C la care activarea un ei in trări conduce la
apariţia unui cuvân t de cod la ieşire.
Exemplu: Codificator din zecimal în BCD (binar codificat zecimal)
Zecimal BCD
3
0 1 2 3 4 5 6 7 8 9 2 22 21 20
0 1 1 1 1 1 1 1 1 1 0 0 0 0
1 0 1 1 1 1 1 1 1 1 0 0 0 1
1 1 0 1 1 1 1 1 1 1 0 0 1 0
1 1 1 0 1 1 1 1 1 1 0 0 1 1
1 1 1 1 0 1 1 1 1 1 0 1 0 0
1 1 1 1 1 0 1 1 1 1 0 1 0 1
1 1 1 1 1 1 0 1 1 1 0 1 1 0
1 1 1 1 1 1 1 0 1 1 0 1 1 1
1 1 1 1 1 1 1 1 0 1 1 0 0 0
1 1 1 1 1 1 1 1 1 0 1 0 0 1
In trările sunt active p e 0 logic. D e ex em p lu, dacă este activă (ad ică 0)
intrarea 5, pe ieşire se va ob ţin e cod ul în B C D pentru 5, adică 0101.
F uncţiile p en tru ieşiri sunt:
23 = 8 9
22 = 4 5 6 7
21 = 2 3 6 7
20 = 1 3 5 7 9

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

N um ăru l ieşirilor distincte este m  2n.


Exemplu: Decodificator pentru 3 cifre binare.
I2 I1 I0 O7 O6 O5 O4 O3 O2 O1 O0
0 0 0 1 1 1 1 1 1 1 0
0 0 1 1 1 1 1 1 1 0 1
0 1 0 1 1 1 1 1 0 1 1
0 1 1 1 1 1 1 0 1 1 1
1 0 0 1 1 1 0 1 1 1 1
1 0 1 1 1 0 1 1 1 1 1
1 1 0 1 0 1 1 1 1 1 1
1 1 1 0 1 1 1 1 1 1 1

F uncţiile p entru ieşiri sun t: O 7 = I2I1I0; O6 = I2I1I0; O5 = I2I1I0; O4 = I2I1I0;


O3 = I2I1I0; O2 = I2I1I0; O1 = I2I1I0; O0 = I2I1I0.
4. Multiplexoare
Multiplexoarele sunt CLC care permit trecerea datelor de pe una
din intrări la o ieşire un ică. S elecţia intrării se face printr-un cuvânt de
cod d e selecţie num it şi adresă.
I0
MUX y
In-1

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

C u m linii d e selecţie se pot selecta 2 m ieşiri. F uncţiile d e ieşire sunt:

7
y0 = sm-1 … s0 I
y1 = sm-1 … s0 I

y2m = sm-1 … s0 I


6. Comparatoare numerice
Comparatoarele numerice sunt CLC care permit determinarea
valorii relative a d ouă nu m ere binare. C om paratoarele p ot fi d e 1 bit sau
de m ai m u lţi biţi.
Exemplu: Comparator pe 1 bit
Ai y1
y2
Bi y3

F uncţiile d e ieşire sun t:


y1 = Ai Bi pentru Ai < Bi,
y2 = Ai + Bi pentru Ai = Bi
y3 = Ai Bi pentru Ai > Bi
A cest circuit constituie celu la d e bază pentru com pararea num erelor cu
m ai m u lţi biţi.
7. Detectoare-generatoare de paritate
Detectoarele-generatoare de paritate sunt CLC cu rol de a
determ ina şi gen era paritatea sau im paritatea nu m ăru lui d e variabile de
intrare egale cu 1. B itu l d e paritate este u tilizat ca m etodă d e verificare a
transferu lu i de date. S unt posibile 2 situaţii:
a. num ăru l biţilor de 1 + bitu l d e paritate = num ăr par
b. num ăru l biţilor de 1 + bitu l d e paritate = num ăr im par
R ealizarea d etectoarelor d e paritate se bazează p e funcţia logică S A U -
E X C L U S IV (0 pentru par şi 1 pen tru im par).
8. Sumatoare-scăzătoa re
S um atoarele şi scăzătoarele sunt C L C care realizează adunarea,
resp ectiv scăd erea cifrelor b inare.
Semisumatorul este un C L C care efectu ează sum a a 2 nu m ere
binare d e câte 1 bit, fără a ţin e cont d e transp ortu l d e la b itu l de
sem nificaţie im ediat inferioară. S em isum atoru l este:
A0 S0
1/2 
B0 C0

Valorile pentru suma S0 şi transp ortul spre rangul superior C0 sunt:


S0 = A0 B0 + A0 B0 = A0 + B0
C0 = A0 B0
Sumatorul pentru bitul de rang n este:

8
An Sn
Cn-1 
Bn Cn

Valorile pentru suma Sn şi tran sp ortul C n pentru rangul superior sunt:


Sn = An Bn Cn-1 + An Bn Cn-1 + An Bn Cn-1 + An Bn Cn-1 =
= (An + Bn) Cn-1 + (An + Bn) Cn-1 = An + Bn + Cn-1
Cn = An Cn-1 + Bn Cn-1 + An Bn
S um atoarele p en tru cu vin te b inare cu m ai m u lţi b iţi se realizează
prin interconectarea sumatoarelor p en tru 1 bit. A dunarea se efectu ează în
paralel, iar propagarea transportului în serie.
S em iscăzătoru l de 1 bit are ieşirile:
D0 = A0 B0 + A0 B0 = A0 + B0
I0 = A0 B0
S căzătoru l com p let d e ran gu l n are ieşirile:
Dn = An Bn In-1 + An Bn In-1 + An Bn In-1 + An Bn In-1 =
=(An + Bn) In-1 + (An + Bn) In-1 = An + Bn + In-1
In = An In-1 + Bn In-1 + An Bn
S căzătoarele p entru cu vin te binare cu m ai m u lţi b iţi se realizează
prin intercon ectarea scăzătoarelor pentru 1 bit.
9. U n ităţi aritm etico -logice
U nităţile aritm etico -logice sunt C L C care realizează op eraţii d e tip
aritm etic şi op eraţii d e tip logic.

9
Curs 5

2.3.2.1. Im plem en tarea fu n cţiilo r booleen e cu circu ite M S I


Circuitele integrate de tip MSI cum sunt decodificatorul DCD,
dem u ltip lex oru l D E M U X şi m u ltip lex oru l M U X p ot fi con sid erate
circuite universale d eoarece gen erează în interior toţi term en ii canonici.
Implementarea cu DCD a unei funcţii b ooleen e nu n ecesită
op eraţii d e m in im izare. L a ieşirea D C D se ob ţin toţi term en ii can onici
negaţi ai form ei can onice disjunctive F C D ai funcţiei. R ealizarea funcţiei
se face cu o p oartă logică d e tip S I-NU, cu un num ăr d e intrări egal cu
num ăru l d e term eni ai funcţiei.
Implementarea cu MUX a un ei funcţii b ooleen e se bazează p e
relaţia care d efin eşte funcţionarea sa. D e ex em p lu, pentru un M U X de tip
4:1 avem ecuaţia ieşirii:
y = I0 x1 x2 + I1 x1 x2 + I2 x1 x2 + I3 x1 x2
în care se observă că există in trări separate p entru fiecare d in cele 4
com binaţii ale variabilelor d e selecţie x 1, x2.
D acă avem o funcţie b ooleană d e n variabile d e in trare se p ot da
factor variabilele x1 şi x 2 şi se ob ţin 4 funcţii d e n -2 variabile de intrare,
care se vor con ecta la intrările I0 – I3 ale unui MUX de tip 4:1. Similar, cu
un MUX 8:1 se pot elimina 3 variabile de intrare, iar cu un MUX 16:1 se
pot elimina 4 variabile de intrare.
D acă avem o funcţie d e 4 variabile se pot elimina 3 variabile prin
ap licarea lor p e intrările d e selecţie ale unu i M U X 8 :1. L a cele 8 in trări
ale M U X se vor con ecta cele 8 funcţii d e o variab ilă. S in gurele funcţii
posibile d e o variab ilă sunt: x i, xi, 0, 1. Deci putem implementa orice
funcţie cu 4 variab ile d e intrare folosind un sin gur M U X d e 8 căi şi fără
porţi adiţionale.
Exemplu
C onsid erăm funcţia: f = (0, 1, 3, 5, 9, 10, 13, 15) = x 3x2x1x0 + x3x2x1x0 +
x3x2x1x0 + x3x2x1x0 + x3x2x1x0 + x3x2x1x0 + x3x2x1x0 + x3x2x1x0
F olosim un M U X 8:1 şi ap licăm variabilele x 2x1x0 pe in trările d e selecţie.
P entru a determ ina intrările m u ltip lexoru lui, I0 – I7, vom face un tabel:
I0 x3 x2x1x0
I1 1 (x3 + x3) x2x1x0
I2 x3 x2x1x0
I3 x3 x2x1x0
I4 0 x2x1x0
I5 1 (x3 + x3) x2x1x0
I6 0 x2x1x0
I7 x3 x2x1x0

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

2.3.3. Sinteza CLC cu circuite integrate LSI


Circuitele integrate de tip LSI – Large Scale Integration – au peste
500 de tranzistoare in tegrate pe capsu lă. P entru ex em p lificarea sintezei
CLC se descriu d ouă tipuri d e circu ite d in această categorie: R O M (R ead
O nly M em ory) şi P L A (P rogram m able L ogic A rray), cu varianta F P L A .
2.3.3.1. Sinteza CLC cu memorii de tip ROM
M em oria de tip R O M este num ită şi m em orie fixă sau perm an en tă.
E a este n evolatilă, conţinutu l ei n u se m odifică în tim pu l funcţionării.
S tructu ra ei este stab ilită în procesu l d e fabricaţie sau este stab ilită de
utilizator prin programare.
I0 O0

DCD Matrice
In-1 Om-1

Memoria ROM este form ată d in d ouă n iveluri d e p orţi logice: S I


(un d ecodificator) şi S A U -NU (matricea de memorie). DCD din primul
nivel p rim eşte codurile d e intrare în binar (n este num ăru l intrărilor) şi
activează p en tru fiecare cod o ieşire d in cele 2 n. Ieşirile D C D se
con ectează sau nu se con ectează la circuitele d e tip S A U -N U şi astfel se
m em orează un 0 sau un 1 logic.
Vectorii de intrare în ROM se numesc adrese şi reprezintă codurile
în binar ale nu m erelor asociate fiecărui cu vân t d e m em orie. Ieşirile su nt
de obicei “three-state” sau “op en colector” p entru a p erm ite legarea în
paralel cu ieşirile altor m em orii.
A vem n otaţiile:
n = num ăru l de biţi ai vectoru lui d e intrare (adresa)
c = num ăru l de cu vin te m em orate în R O M  c = 2n
b = num ăru l de biţi din fiecare cuvânt
N um ăru l d e cu vin te trebuie să fie putere a lui 2. M odu l d e
organizare a ROM este specificat prin produsul c x b. Capacitatea
m em oriei se exprim ă prin num ăru l total d e biţi m em oraţi: C = 2 n x b.
U nitatea d e m ăsură p en tru capacitatea m em oriei este kilo bitul (1 Kb =
1024 biţi).
M em oriile au o intrare de “E nab le” care perm ite (E = 0) sau inhibă
(E = 1) funcţionarea R O M . D acă m em oria este dezactivată, indiferent de
adresare, ieşirile sun t pe sem nal logic 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

S copurile urm ărite la im p lem en tarea cu R O M sunt:


- utilizarea unui num ăr m in im d e circuite integrate;
- folosirea integrală a capacităţii m em oriei.
Pentru implementarea CLC cu memorii R O M trebuie urm ărite
urm ătoarele etap e:
- stabilirea dim ensiun ii m em oriei necesare p en tru ap licaţia
resp ectivă;
- alegerea tipurilor de circuite de tip ROM cu dimensiuni identice
sau cât mai apropiate de cele stabilite anterior;
- dacă nu există m em orii cu d imensiuni identice sau apropiate de
cele d orite se fac tran sform ări d e dim ensiuni (m odificarea
num ăru lu i de cu vin te sau num ăru lu i de biţi p e cu vânt);
- stabilirea tab elu lui d e adevăr al R O M ;
- reducerea dimensiunii ROM atunci când este posibil prin
utilizarea codificării intrărilor sau ieşirilor şi a m u ltip lexării
intrărilor.
2.3.3.2. Sinteza CLC cu PLA
PLA (Programmable Logic Array) este un CLC cu d ou ă n ivele d e
logică p rogram ab ilă, o m atrice d e p orţi S I şi o m atrice d e p orţi S A U .
PLA este de fapt o structură universală, extinsă, d e im p lem entare cu 2
nivele d e porţi logice. A m bele m atrici sun t program ab ile, în procesu l de
fabricaţie sau d e către u tilizator, conform ap licaţiei con crete. P L A este o
structură m obilă şi se u tilizează eficient p en tru sistem e cu m ai mult de 8
variabile de intrare.

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

D atorită în târzierilor produse d e circuitele logice şi d e firele d e


legătură ale unui C L C se p oate ca starea ieşirii circuitu lui în m om en tu l
m od ificării stării variab ilelor să nu coincidă cu valoarea funcţiei
corespunzătoare valorii intrărilor în m om entu l consid erat. P entru tim p
scurt circu itu l are o com p ortare greşită, num ită hazard.
Exemplu
f(x1,x2,x3) = x1 x3 + x2 x3
x1 1 f’
x3 g 3
f
x2 2
x3 h
D iagram a K arnau gh p entru funcţie este:
x1 x2x3 00 01 11 10
0 1 1 1
1 1

În practică întârzierile 1, 2, 3 ale p orţilor S I-NU nu sunt egale,


de aceea p oate să apară hazardu l com b inaţional şi când se pun e condiţia
ca doar o sin gură variab ilă d e intrare să se m odifice la un m om ent dat.
H azardu l apare atunci când starea in trărilor x 1x2x3 se m od ifică d e la
010 la 011 sau invers.

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 .

3.1. Circuite basculante bistabile

D efin iţie. Circuitele basculante bistabile (CBB sau bistabil) sunt


circuite logice secven ţiale care au două stări stab ile distincte. T recerea
dintr-o stare în alta se face la aplicarea unei comenzi din exterior.
C aracteristica principală a C B B este că sunt sisteme cu memorie
(elem en te d e m em orie b inară). U n bistab il p oate păstra un tim p n ed efinit
informaţia binară şi în acelaşi tim p starea sa poate fi citită în orice
m om ent. S e asociază un eia din tre cele 2 stări ale b istab ilu lui funcţia de
m em orare a cifrei b inare 1 şi celei de a d oua stări funcţia d e m em orare a
cifrei binare 0. B istabilu l are 2 ieşiri, u na care pun e în evid enţă cifra
binară m em orată, num ită ieşire ad evărată şi a d oua, care pune în evid enţă
valoarea n egată a cifrei binare m em orate, denum ită ieşire n egată.

3.1.1. Bistabilul RS asincron (latch)


B istabilu l R S asincron are 2 intrări de com andă (d e date): S (S et) şi
R (R eset) şi două ieşiri Q şi Q (com plem entare).

1
Simbolul bistabilului RS asincron este:
S Q

R Q

T ab elu l d e ad evăr al bistab ilu lu i R S asincron este:


tn tn+1
Sn Rn Qt+1
0 0 Qt
1 0 1
0 1 0
1 1 

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 

Diagramele Karnaugh pentru Qt+1 şi Q t+1 sunt urm ătoarele:


Qt+1:
Qt SnRn 00 01 11 10
0 0 0 x 1
1 1 0 x 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)

D educem funcţiile p entru sch em a cu porţi de tip S A U -NU:

Qt+1 = Qt+1 = Rn (Sn + Qt) = Rn + (Sn + Qt)

Qt+1 = Qt+1 = Sn (Rn + Qt) = Sn + (Rn + Qt)

R Q

S Q

S chem a bistabilu lu i R S asincron realizat cu p orţi d e tip S I-NU se


bazează p e funcţiile în form a F C D obţinute din diagram ele K arnau gh :
Qt+1 = Sn + (Qt Rn)
Qt+1 = Rn + (Qt Sn)

Qt+1 = Sn + (Qt Rn) = Sn (Qt Rn)

Qt+1 = Rn + (Qt Sn) = Rn (Qt Sn)

S Q

R Q

Pentru Sn = Rn = 1 rezu ltă Q = 0 şi Q = 0, cele d ouă ieşiri n efiind


com p lem entare. C ircu itu l îşi pierd e în acest caz caracteru l d e circu it
bistab il, cu două stări distincte stabile.
Bistabilul RS asincron este cel mai simplu element de memorare
care poate fi realizat cu circuite logice elementare.
O b servaţie. O aplicaţie tipică a bistabilu lu i R S asincron este utilizarea
acestuia la elim inarea oscilaţiilor ce apar la contactele m ecanice.

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

Diagrama de timp pentru bistabilul RS sincron este:


CLK

F uncţionarea este descrisă de funcţiile:


Qt+1 = S + R Qt
Qt+1 = R + S Qt
S R = 0
Ş i la acest bistab il situaţia intrărilor în care S = R = 1 in troduce o
ned eterm inare, de aceea ea trebu ie evitată.
C ât tim p C L K este 0, intrările d e date nu influ en ţează bistabilu l.
C ând C L K = 1 bistabilu l urm ăreşte m odificările intrărilor d e date. C ând
CLK redevine 0 bistabilul se zăvorăşte (d e aceea se num eşte latch ),
păstrează inform aţia avută an terior pe ieşire.
In troducem n oţiun ea d e funcţie d e ex citaţie, caracteristică p entru
fiecare bistabil. E a pun e în eviden ţă cu m trebuie să fie in trările
bistab ilu lui (ce stare trebuie să aibă) p en tru a se realiza o tranziţie
specifică.

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

O b servaţie. În afara intrărilor sincron e, la bistabilu l R S sincron se


introduc şi in trări asincrone, Ra şi S a, la nivelul bistabilului RS asincron
(porţile S I-N U ). A ceste in trări sunt utilizate cu scopu l forţării la 0, prin
Ra, sau la 1, prin Sa, a ieşirii bistabilulu i. A pariţia un or com enzi pe aceste
intrări se ex ecu tă ind ep end en t d e p rezen ţa sau absen ţa tactu lui. D in acest
m otiv intrările asincron e ale unui bistabil sunt p rioritare în rap ort cu
intrările sincron e.

3.1.3. Bistabilul D sincron (delay)


B istabilu l D sincron are o sin gu ră intrare, D şi cele 2 ieşiri
com p lem entare, Q şi Q . S tarea urm ătoare a bistabilului D este
determ inată d e m od ificarea intrării D . E l în târzie cu un tact inform aţia pe
care o prim eşte p e intrare (circu it elem entar d e în târziere). S unt cele m ai
răspândite bistab ile în registrele d e date. Simbolul bistabilului D sincron:

S
D Q
CLK
Q
R

B istabilu l D se obţin e din bistab ilu l R S sincron :


D Q

CLK

F uncţiile b istabilu lui D sunt:


Qt+1 = D
Qt+1 = D
T ab elu l d e ad evăr al bistab ilu lu i D este:
D Q
0 0
1 1

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).

3.1.4. Bistabilul JK sincron


B istabilu l JK sincron elim ină situaţia d e n ed eterm inare p e ieşiri,
prezentă la bistabilu l R S sincron, la com binaţia S = R = 1 p e intrări. S e
folosesc reacţii (legături in verse) su plim en tare.
T ab elu l d e ad evăr al bistab ilu lu i JK sincron este:
J K Qt+1
0 0 Qt
0 1 0
1 0 1
1 1 Qt

T ab elu l d e excitaţie al bistabilului JK sincron este:


Qt Qt+1 J K
0 0 0 x
0 1 1 x
1 0 x 1
1 1 x 0

F uncţiile p entru b istabilu l d e tip JK se d eterm ină din diagram a


K arnau gh, pe baza tab elu lui d e adevăr în form a d etaliată:
Qt J K Qt+1
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 0

6
Qt+1:
Qt JK 00 01 11 10
0 1 1
1 1 1

Qt+1 = J Qt + K Qt


Qt+1 = J Qt + K Qt

U n bistabil d e tip JK sincron se obţin e din b istabilu l R S sincron


prin efectuarea legătu rilor care perm it elim inarea cond iţiei R S = 0.
R = K Qt
S = J Qt

Q
J
CLK sau

K Q

S
J Q

CLK

K Q

In trările S şi R sunt intrările asincron e, care acţion ează la u ltim u l


nivel d e p orţi logice, nu d ep ind d e sem nalu l d e tact şi sunt prioritare faţă
de in trările sincron e J şi K (ad ică în m om entu l în care una dintre ele se
activează, bistabilu l va funcţiona în regim asincron).
Simbolul utilizat pentru bistabilul JK sincron este:

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.

3.1.5. Bistabilul T sincron (Toggle)


B istabilu l T sincron se ob ţin e din bistabilu l JK sincron prin legarea
intrărilor J şi K îm preună. B istabilu l schim b ă starea (com u tă) când pe
intrare are semnal logic 1.

S
T Q

CLK

T ab elu l d e ad evăr al bistab ilu lu i T sincron este:


T Qt+1
0 Qt
1 Qt
T ab elu l d e excitaţie al bistabilu lui T sincron este:
Qt Qt+1 T
0 0 0
0 1 1
1 0 1
1 1 0
Pentru d eterm inarea funcţiilor bistabilu lu i T sincron utilizăm
diagrama Karnaugh de 2 variabile:

Qt T 0 1
0 1
1 1

Qt+1 = T Qt + T Qt = T + Qt


Qt+1 = T Qt + T Qt = T + Qt = T  Qt

B istabilu l T sincron are aceleaşi deficien ţe ca şi bistabilu l JK


sincron, legate d e durata im pusă a sem nalu lu i d e tact.

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).

3.1.6. Bistabile master-slave MS


Bistabilele de tip master-slave in troduc un tip d e structu ră care
permite rezolvarea com u tării bistabilelor. A cest princip iu l m aster-slave
poate fi aplicat oricărui circu it bistabil.
Structura master-slave este com pusă din 2 celu le d e m em orie, una
“m aster” şi cealaltă “slave”.

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

Q0, Q1, Q2, ieşirile nu m ărătoru lu i, ne dau starea lu i la un m om ent dat.


R este sem nalu l d e R eset, folosit p entru aducerea nu m ărătoru lui în starea
iniţială, la 000.
In trările bistab ililor JK sunt toate legate la “1” logic, deci bistab ilii
vor comuta la fiecare impuls de tact.
T act exterior se ap lică doar pe in trarea prim u lu i bistab il.
F orm ele d e undă pentru num ărătoru l binar asincron direct sunt:

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

S chem a logică p entru n u m ărătoru l bin ar sin cron serie este:

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

Tim pu l d e com u tare al nu m ărătoru lui binar sincron paralel este m ai


m ic d ecât la cel serie, dar există p orţi d e tip S I cu un num ăr m ai m are de
intrări.
5. N u m ărător bin ar sin cron reversibil
P entru realizarea reversib ilităţii n um ărătoru lu i binar sincron se
folosesc 2 intrări sup lim en tare, C ou nt-U p (nu m ără d irect) şi C oun t-Down
(num ără in vers). A ceste num ărătoare vor avea şi ieşiri pen tru transp ort
(C arry) şi îm pru m ut (B orrow ), care vor p erm ite legarea în cascadă a
num ărătoarelor.

S in teza n u m ărătoarelor m od ulo p


P entru a face sinteza unui num ărător cu p  2n trebuie determinat
num ăru l m in im d e celu le d e m em orie b inară n ecesare. R elaţia folosită
este: 2n  p. C elu lele d e m em orie se intercon ectează ap oi astfel încât să se
om ită (2 n – p) stări. D in acest m otiv ex istă m ai m u lte variante p osib ile
pen tru intercon ectare, deci şi p en tru sinteza num ărătoru lui.

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):

000 001 010 011 100

E vid en t că se putea alege şi altă succesiun e a stărilor


num ărătoru lu i.
F olosim pen tru realizarea num ărătorulu i bistabili de tip JK.
S e con stru ieşte un tab el cu stările actuale ale num ărătoru lui, cu
stările u rm ătoare şi cu condiţionările intrărilor JK ale celor 3 bistab ili
folosiţi p en tru sin teză. C om p letarea tabelu lu i se face pe baza tab elu lu i de
excitaţie al bistabilului JK sincron.
Qt Qt+1 J K
0 0 0 x
0 1 1 x
1 0 x 1
1 1 x 0

Q2t Q1t Q0t Q2t+1 Q1t+1 Q0t+1 J2 K2 J1 K1 J0 K0


0 0 0 0 0 1 0 x 0 x 1 x
0 0 1 0 1 0 0 x 1 x x 1
0 1 0 0 1 1 0 x x 0 1 x
0 1 1 1 0 0 1 x x 1 x 1
1 0 0 0 0 0 x 1 0 x 0 x

Diagramele K arnau gh p en tru cele 6 intrări ale b istabilelor n e


perm it d eterm inarea funcţiilor p en tru intrări. S tările om ise se con sid eră
indiferente.
J 2:
Q2 Q1Q0 00 01 11 10
0 1
1 x x x x
J2 = Q1 Q0
K2:
Q2 Q1Q0 00 01 11 10
0 x x x x
1 1 x x x
K2 = 1

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

P entru rezolvarea com p letă a sintezei num ărătoru lu i m odu lo 5


trebuie d iscutată şi prob lem a stărilor om ise. C e se în tâm p lă cu
num ărătoru l dacă nu are secvenţă d e iniţializare sau dacă ajunge cum va în
una dintre stările care nu face parte d in ciclu l d e num ărare? C are va fi
evoluţia num ărătoru lu i?
T rebu ie verificate tranziţiile nu m ărătoru lui în cazu l în care este
într-o stare d in afara ciclu lui d e num ărare. P utem avea 2 situaţii: fie

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 Q3 CLK Q2 CLK Q1 CLK Q0

CLK

J3 Q3 J2 Q2 J1 Q1 J0 Q0
CLK CLK CLK CLK
K3 Q3 K2 Q2 K1 Q1 K0 Q0

CLK

O b servaţie. S tarea fiecărui b istab il este d eterm inată d e starea anterioară a


bistabilului plasat în stânga sa, iar starea primului bistabil este
determ inată d e ieşirea com p lem en tară a ultim u lui bistabil.
S e p ot construi num ărătoare M oeb iu s de orice dim ensiun e (ordin).
A plicaţii ale num ărăto arelor Moebius
a. S e pot folosi ca şi nu m ărătoare de stare. D acă num ărătoru l este
im p lem entat cu bistabile JK , fiecare com utare a stării este controlată de
câte o in trare diferită. D in acest m otiv, m od ificarea oricărei stări va putea
fi controlată ind ep end en t, adăugân d o poartă S I sau S I-NU pe intrarea
resp ectivă (d e ex em p lu tranziţia 0  8 este con trolată d e J3, tranziţia 8 
12 de J2 ş.a.m .d.).
b. G en eratoare d e ceas cu m ai m u lte faze. C ele 8 ieşiri ale
num ărătoru lu i gen erează d e fapt 8 sem nale d e ceas d efazate în mod egal,
cu factor de um p lere d e 50% . În general un num ărător M oebius d e n biţi
gen erează 2n faze de ceas.
c. D ecodificarea oricărei stări se p oate face prin tr-o p oartă cu 2
intrări. P t. a face d ecod ificarea stării se vor urm ări cei 2 b iţi adiacenţi
distincţi, 1 şi 0.
d. D ecodificarea stărilor succesive se realizează prin p orţi care au
ca intrări u ltim u l 1 al prim ei stări şi prim u l 0 al u ltim ei stări.

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 .

A p licaţii ale registrelor


R egistrele sunt utilizate în m ai m u lte tipuri de ap licaţii, după
funcţiile p e care pot să le înd ep lin ească.
1. R egistre de deplasare cu reacţie
A u ieşirile con ectate la in trări şi p ot fi:
- registre de deplasare în inel – conţinutu l u ltim ei celu le d e
m em orie se înscrie în prim a celu lă d e m em orie;
Q0 Q1 Q2 Q3
1 0 0 0
SIN 0 1 0 0
0 0 1 0
Q0 Q1 Q2 Q3 0 0 0 1
1 0 0 0

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

S ecven ţa pseud oaleatoare gen erată la ieşirile Q 0Q1Q2 este:


100  110  111  011  101  010  001

3.2.3. Memorii RAM


Memoriile de tip RAM (random access memory) sunt memorii de
tip citeşte-scrie, cu acces aleator. Ele nu-şi păstrează inform aţia du pă
întreruperea tensiunii de alimentare.
M em oria este form ată din nivelu l de d ecodificare, m atricea d e
m em orie realizată cu celu le d e m em orie binară d e tip “latch” şi nivelu l de
multiplexare.
D im ensiun ea m em oriei este sp ecificată prin nu m ăru l d e cu vin te şi
num ăru l d e b iţi p e cu vân t. C apacitatea m em oriei este dată d e num ăru l de
biţi m em oraţi în m atricea d e m em orie.
S chem a funcţională d e p rincipiu a un ei m em orii R A M este
urm ătoarea:

A dresă CE sau CS (chip select)


n Decodificator

2n
n Matrice de
memorie
2n
WE (write enable)
Multiplexor

Date

D ecodificatoru l acţion ează p en tru selectarea fiecărei celu le d e


m em orie, iar m u ltip lex oru l p erm ite selectarea oricărei celu le d e m em orie
la intrare – ieşire.
Validarea memoriei se face prin intrarea CS. Citirea memoriei se
face dacă W E = 1, iar scrierea m em oriei se face dacă W E = 0.

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

C ircuitele secven ţiale sincron e trec dintr-o stare în alta la momente


distincte d e tim p, d eterm inate d e im pulsurile d e tact. Între d ouă im pu lsu ri
de tact starea circuitu lu i nu se m odifică.
Variabile de intrare

G en erare stare n ouă


C alcu lu l excitaţiilor secundare
CLC

E xcitaţii secundare
Tact

R egistru d e stări
S tări in tern e
CL

Variabile secundare

C alcu lu l variabilelor d e ieşire


CLC

CL = circuit logic general – păstrează starea internă  registru de


stări (bistab ili R S , D , JK , registre, m em orii); p oate fi circuit logic
secven ţial cu buclă de reacţie.
C L C = d eterm ină funcţiile d e excitaţie secundare care în prezen ţa
tactu lu i d eterm ină trecerea circuitulu i în altă stare  se poate numi
gen eratoru l stării n oi; se p ot realiza cu porţi logice sau cu circuite
specializate (multiplexoare, decodificatoare).
Variabilele de intrare sunt în general sincrone cu impulsul de tact,
dar pot fi şi de tip asin cron.

3.3.1. E tap ele d e sin teză


1. E xpunerea condiţiilor d e funcţion are (d escrierea com p ortării
circuitului).
S tabilirea m odalităţii d e d efinire a circuitu lu i care trebu ie sin tetizat
prin:
- tab el d e tranziţii;

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

- elem entu l d e ieşire:

transfer

C onfigu raţii elem entare care unesc cele 3 elem ente d e bază:

A 001 tranziţie sim p lă:


- contor de timp
- soluţionarea prob lem ei d e cod ificare a stărilor
B 011

A stare cu ieşire

A dună

3
A stare cu decizie

1 I1 0

B C

A stare cu ieşire şi d ecizie

Scade

1 I1 0

B C

A stare cu ieşire cond iţion ată

I1 1

0 Ieşire

A stări cu decizii m u ltip le şi 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.

3.3.3. S in teza circu itelor secven ţiale sin cron e cu d iferite


elemente de memorie
În sinteza circuitelor secven ţiale sin cron e se vor folosi ca elem ente
de m em orie bistab ili d e tip D şi JK . Im p lem entarea registru lu i d e stări se
va realiza cu aceste tipuri de bistabile.
Exemplu: S ă se recun oască secven ţa 101 în şirul d e cifre binare 10101.
G rafu l d e tranziţii are în n oduri stările circuitu lu i. P e arce avem
tranziţia din tr-o stare în alta p entru o anum ită intrare, cu o anum ită ieşire.

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

a. Im p lem entăm registru l d e stări cu b istab ile d e tip D.


F uncţiile d e excitaţie se d educ exp licitând diagram a stărilor p entru
m om entu l t şi m om entu l t+ 1. S tările se vor în locu i cu codurile lor (A=00,
B=01, C=11).
St St+1 (Q1Q0)t+1 z
Q1Q0 D1D0 D1D0
x=0 x=1 x=0 x=1
00 (A) 00 (A) 01 (B) 0 0
01 (B) 11 (C) 01 (B) 0 0
11 (C) 00 (A) 01 (B) 0 1

Di = Qit ecuaţia stării urm ătoare

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

La trecerea din starea C în starea A se poate trece prin starea B,


ceea ce nu corespund e funcţionării. În m od n orm al se in troduce o stare
sup lim entară pen tru a rezolva situaţia.
S chem a pen tru circu itu l secvenţial sincron este:

D1 Q1 D0 Q0 Q1
CLK CLK Q0 D1
Q1 Q0 x
R R Q0
Init Q1 D0
x
CLK Q1 z
x

b. Im p lem entăm registru l d e stări cu b istab ile d e tip JK.


D iagram a stărilor se com p letează ţinând cont d e tab elu l d e excitaţie
al bistabilului JK.

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

3.3.4. Im p lem en tarea gen eratoru lu i n oii stări cu m u ltip lexoare


P entru a realiza o im p lem en tare cu m u ltip lex oare se scriu funcţiile
de excitaţie pen tru bistabile în form a canonică (fără a se m inim iza).
S e iau în consid erare locaţiile care sunt 1 sau care au o variabilă
înglobată.
x

CLC

MUX

Registru de stare

CLC

3.3.5. Im p lem en tarea gen eratoru lu i n oii stări cu


decodificatoare
În cazu l im p lem entării gen eratoru lui noii stări cu d ecod ificatoare,
la intrarea decodificatoru lui sunt ap licate variabilele d e stare, iar la ieşire
sunt individualizate stările intern e.

3.3.6. Im p lem en tarea gen eratoru lu i n oii stări cu m em orii şi


multiplexoare
A cest tip d e im p lem en tare a gen eratoru lui n oii stări se utilizează în
cazul circuitelor com p lex e. S e asigu ră o sim p lificare a logicii de gen erare
a noii stări şi o creştere a siguran ţei în funcţionare.

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

T rebu ie ob ţinu te diagram ele p entru stările u rm ătoare. L e vom


suprapun e şi vom d esena o sin gură diagram ă, în globând şi variabilele de
intrare. Completarea se face urm ărind tranziţiile din organigram ă şi

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. R ed u cerea n u m ăru lu i d e stări n u m ai este posibilă.


4. şi 5. R egistru l d e stări se im p lem entează cu bistab ile d e tip D , iar
gen eratoru l n oii stări (funcţiile d e excitaţie) şi ieşirile cu porţi logice.
a. P entru im p lem en tarea registru lui de stări cu bistabile de tip D se
ţin e cont d e ecuaţia stării urm ătoare a acestu i tip d e bistabil: D i = Qit.
D iagram ele K arnau gh p entru in trările bistab ilelor vor fi:
D2:
Q2 Q1Q0 00 01 11 10
0 0 0 0 1
1 ER x x x
D2 = ER Q2 + Q1 Q0
D1:
Q2 Q1Q0 00 01 11 10
0 0 1 1 0
1 0 x x x
D1 = Q 0
D0:
Q2 Q1Q0 00 01 11 10
0 Start 1 EP 0
1 0 x x x
D0 = Start Q2 Q1 + EP Q0 + Q1 Q0
D iagram ele ieşirilor se com p letează ţinând cont d e organigram ă şi
de diagram a stărilor.
Init:
Q2 Q1Q0 00 01 11 10
0 1
1 x x x
Init = Q2 Q1 Q0
SP:
Q2 Q1Q0 00 01 11 10
0 1
1 x x x
SP = Q1 Q0

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

G en erarea sem nalu lui d e R eset se realizează cu o p oartă logică S A U -NU:


Reset = AS + DPU
AS
Reset
DPU

R egistru l d e stări este cu bistabile d e tip D :

D2 Q2 D1 Q1 D0 Q0
Clk Clk Clk
Q2 Q1 Q0
R R R
Clk
Reset

F uncţiile d e excitaţie se im p lem en tează cu porţi logice:


Q2 D0
Q1
Q0
Q2
Q1 D2
Q0 D1
Start
ER
EP

b. Implementarea gen eratoru lu i n oii stări cu m u ltip lexoare se


poate realiza numai cu m u ltip lex oare dacă num ăru l intrărilor d e selecţie a
m u ltip lex oru lu i este egal cu num ărul variabilelor d e stare. D acă num ăru l

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

D acă im p lem entarea s-ar realiza cu M U X 4:1 p e intrările


m u ltip lex oru lu i am avea ieşiri din porţi logice de tip S I.

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

d. Implementarea gen eratoru lu i n oii stări cu m em orii şi


multiplexoare p erm ite sim p lificarea logicii gen erării noii stări.

ROM A0 MUX 0 Start


16 x 4 A1 8:1 1 0
A2 2 0
y3 y2 y1 y0 A3 Y 3 EP
4 ER
5 0
D2 Q2 D1 Q1 D0 Q0 6 0
Clk Clk Clk s2 s1 s0 7 0

Q2Q1Q0 A3A2A1A0 y3y2y1y0 Q2Q1Q0 A3A2A1A0 y3y2y1y0


(s2s1s0) (s2s1s0)
000 0000 0000 000 1000 0001
001 0001 0011 001 1001 0000
010 0010 0100 010 1010 0000
011 0011 0010 011 1011 0011
100 0100 0000 100 1100 0100
101 0101 0000 101 1101 0000
110 0110 0000 110 1110 0000
111 0111 0000 111 1111 0000

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

V om d eterm ina funcţiile d e num ărare fN şi în cărcare (ram ificare) fR


şi vom realiza im p lem en tarea lor cu m u ltip lex oare 8 :1 (d e tipu l 7415 1).
In trările d e selecţie vor fi ieşirile num ărătoru lu i, Q 2Q1Q0. Diagramele
pen tru cele 2 funcţii vor fi:

fN:
Q2 Q1Q0 00 01 11 10
0 Start 1 1 EP
1
fR:
Q2 Q1Q0 00 01 11 10
0
1 ER

S tările urm ătoare ale num ărătoru lu i trebuie sp ecificate p en tru


stările din care au loc ram ificări (E ). D 2 = Q2; D1 = Q1; D0 = Q0. În acest
caz se u tilizează încărcarea paralelă a num ărătoru lui cu valoarea
prestab ilită p e intrările paralele.
S chem a circu itu lui trebuie com pletată şi cu logica p en tru
determ inarea ieşirilor. Ieşirile In it, S P şi S R corespund stărilor A , B, D.
F uncţiile d e ieşire sun t:
Init = Q2 Q1 Q0
SP = Q1 Q0
SR = Q1 Q0
Im p lem entarea funcţiilor d e ieşire se p oate realiza cu porţi logice d e tip S I
sau cu un decodificator zecimal.

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

E volu ţia circuitelor secvenţiale sincron e a fost d eterm inată d e


m etod ele d e sinteză ad ecvate. P en tru circuitele secvenţiale sincron e cu
num ăr m ic d e variab ile d e in trare şi d e stare se p oate u tiliza sinteza
porn ind de la grafuri sau diagram e de tranziţii (m etoda studiată). P en tru
circuitele cu num ăr m are d e variabile d e intrare şi d e stare se face o
organ igram ă funcţională care pun e în evid en ţă direct stările intern e şi
tranziţiile, în funcţie d e m odificarea un ei singure variabile de intrare.
A ceste circuite se num esc sistem e secven ţiale sincron e (S S S ).
S tructu ra unui sistem secvenţial sin cron :
START

Î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

P relucrare în funcţie Deplasare stânga R S3


de rangul bitului C=C– 1
(succesiun e d e op eraţii)

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

C alcu lu l secven ţei S tări


urm ătoare
Generator
de tact Unitate de
CLK ex ecu ţie U E
Generator de
secven ţe
secven ţe
B loc d e determ inare acţiun e
CLK a acţiunii asupra U E UE

U n ităţile d e com an d ă U C pot fi: cablate sau microprogramate.


G en eratoru l d e secvenţe p oate d eci fi realizat cab lat sau m icroprogram at.
1) UC cablate – există 2 posib ilităţi de realizare:
a. G en eratoru l d e secven ţe este realizat cu un n u m ărător
programabil. A cesta num ără, se op reşte sau se încarcă cu o n ouă
valoare. Ieşirile sale sunt d ecodificate d e un d ecodificator d e secvenţe. S e
gen erează secvenţe care valid ează acţiun ile asupra elem en tu lu i funcţion al
(UE).
Generator
de tact CLK

Calcul C alcu l ad resă C alcu l ad resă C alcu l ad resă


adresă de salt urm ătoare de oprire
(cond iţii d e (cond iţii (cond iţii d e
întrerupere) urm ătoare) oprire)

A dresă Load N um ărare Oprire


(Salt) UE
N um ărător d e secvenţă

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

C alcu l ad resă C alcu l ad resă C alcu l ad resă


de salt urm ătoare de oprire
(cond iţii d e (cond iţii (cond iţii d e
CLK întrerupere) urm ătoare) oprire)

A dresă Load (Salt) Num ărare Oprire


R egistru d e m icroinstrucţiun e UE
R egistru d e adresă m icroprogram

A dresă Calcul
Memorie microprogram acţiuni U E
A dresă n ouă A cţiuni CLK

L a acest m od d e realizare a U C se câştigă în fiabilitate d eo arece se


ex ecu tă o sin gură op eraţie în tr-o secven ţă, dar se p ierd e în viteză. T actul
acţion ează asupra registru lu i (num ărătoru lu i) d e m icrop rogram .

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

Exemplu. S e consid eră un num ărător N care face o incrementare +1 la


tactu l C L K şi un sem nal extern E . Increm entarea se face la C L K E.

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 acă există m ai m u lte sem n ale asincron e, pentru realizarea


sincron izării se utilizează registre.
2) A utom odificarea unui circuit secvenţial
P oate să apară în situaţii ca şi urm ătoarea:
f = s CLK1 CLK2 Q1 Q2
în cazul în care bistabilul al doilea, Q 2, va comuta în 0.

D Q2
CLK2
s

CLK2

s CLK1 Q1 Q2 durată foarte scurtă, neu tilizab ilă

Q2
Se face sincronizarea pentru Q2.

Q1 D Q2
s CLK2

CLK2

s Q1 Q2
Q2

3) Probleme datorate decalajului de tact (defazarea tactului)


D acă la CLK2 s Q1 Q2 avem Q3  1 şi la CLK2 s Q1 avem Q2  0
D acă C L K 2 care se ap lică bistabilu lui 2 este în avans faţă d e C L K 2
aplicat bistabilului 3, s Q1 Q2  0 prea rep ed e şi nu se resp ectă thold
pentru bistabilul 3, deci Q3 nu va  1.

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

4.1.1. P roiectarea clasică


S ă recapitu lăm etap ele fluxu lu i de p roiectare în varian ta clasică.
- se începe cu o specificaţie;
- se construieşte o diagram ă bloc;
- se separă secţiunile organigram ei, după care se detaliază fiecare
până când se atin ge nivelu l corect al designu lui logic;
- se in tegrează piesele; în caz că ex istă un p rodus softw are
dezvoltat anume pentru gestionarea sistemului, acesta este
momentul când se va utiliza;
- se creează prototipul, care este d epanat şi corectat cu ajutoru l
softu lu i; ad eseori, prototipu l nu funcţion ează la viteza proiectată
şi trebu ie reexam inat pen tru d iverse corecţii (d e ex em p lu gâtu iri
- bottlenecks);
- se realizează fizic sistem u l p e p lacă (P C B - Printed Circuit
Board); şi aici apar d e m u lte ori corecţii care trebu ie efectuate,
aspecte im pu se de condiţiile fizice d e realizare a P C B -ului.
Deci revenirile multiple în procesul de proiectare clasică constitu ie
regu la, nu excep ţia. P rocesu l d e p roiectare este astfel costisitor d in pun ct
de vedere al timpului (circa 6-12 luni pentru sisteme de 500-1000 de
circuite integrate (capsule)).

4.1.2. Proiectarea cu dispozitive programabile


Noul scenariu de proiectare, cu dispozitive programabile, este
urm ătoru l:
- se p orn eşte şi aici tot d e la specifica ţie;
- sistem u l este ap oi partiţionat în blocuri mari (memorii,
microprocesoare, dispozitive logice programabile, FPGA-uri
sau CPLD-uri şi logică de in terfaţare);
- se form u lează o descriere de nivel înalt a sistemului, folosindu-
se un editor schematic sau un limbaj de descriere hardware
abstract (de exemplu, VHDL sau ABEL);

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 .

4.2. D efin iţia şi stru ctu ra u n u i circu it F P G A

4.2.1. C om p letitu d in e fu n cţion ală


U n concep t de bază în în ţelegerea F P G A -urilor este
com p letitud in ea funcţion ală. S e ştie că o rice funcţie p oate fi realizată
pornind de la o sum ă de produse. D acă un sin gur tip d e p oartă logică este
capabilă d e a form a o sum ă d e prod use, atunci spun em că are prop rietatea
de com pletitu din e fu n cţion a lă . A sta înseam nă că orice funcţie b ooleană
poate fi realizată folosindu -se n um ai acel tip d e p oartă logică. În
consecinţă este avan tajos să avem m ulte porţi de tipu l resp ectiv.
C alităţile esen ţiale p entru com p letitudin ea funcţională sunt:
- cu ajutoru l p orţii resp ective să p oată fi constru ită funcţia logică Ş I;
- cu ajutoru l p orţii resp ective să p oată fi constru ită funcţia logică N U
sau:
- cu ajutoru l p orţii resp ective să p oată fi constru ită funcţia logică S A U ;
- cu ajutoru l p orţii resp ective să p oată fi constru ită funcţia logică N U .
Nu este n evoie să im pun em realizarea sim u ltană a funcţiilor Ş I şi
S A U , deoarece, dacă se p oate realiza funcţia N U , atunci, folosind
teorem ele lui D e M organ, se poate obţin e şi funcţia care lip seşte.

4.2.2. F u n cţii u n iversale


F u n cţiile u n iversale sau generatoarele d e funcţii sunt blocuri
logice care p ot fi configu rate astfel încât să realizeze orice funcţie logică
de intrările b locu lui. E xistă m ai m ulte tipu ri d e astfel d e b locu ri logice.
C ele m ai cun oscu te sunt m em oriile (R O M , R A M , P R O M , E P R O M şi
E E P R O M ) şi m ultip lex oarele. T oate aceste b locu ri p ot realiza funcţii,

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 = S1S0D0 + S1S0D1 + S1S0D2 + S1S0D3
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.

4.2.3. D efin iţia circu itu lu i F P G A


Un FPGA este o colecţie de elem en te logice cu completitudine
fu n cţion ală sau universale plasate într-o reţea de in tercon ectare.
Unele FPGA-uri arată ca nişte m atrici de celu le b idim ensionale, cu
canale de in tercon ectare orizontale şi verticale între celu le. A ltele arată ca
nişte p orţi logice îm preună cu m atrici program ab ile, cu reacţie in versă,
similare PLD-urilor ob işnu ite. P entru a face d istincţia între ele, p rim ele

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)

S ă lu ăm un ex em p lu d e arhitectură F P G A p e care să o constru im


pe bază de m u ltip lex oare. P ornim de la un m u ltip lex or de tip 8 :1.
D7
D6
D5
DATAOUT
D4 MUX
D3 8:1
D2
D1
D0
S2 S1 S0

D acă F P G A -u l ar fi construit num ai p e bază d e m u ltip lex oare 8 :1,


bistabilele ar fi greu d e im p lem entat şi preţu l realizării lor ar fi m u lt prea
m are. O practică uzuală constă în a face celu la un iversală (sau funcţion al
com p letă) să aibă ieşirea legată direct la in trarea unui bistabil D , care
bascu lează p e fron t, obţinându -se astfel o celu lă hibridă, care conţin e şi
un bistabil. A ici apare în continuare o prob lem ă: toate funcţiile
com binaţionale sun t ob ligate să folosească şi bistabile D .
D7
D6
D5
DATA
D4 MUX D Q
D3 8:1
CP QN
D2
D1
D0
S2 S1 S0

M u ltip lex or cu ieşire prin registru

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

Celula logică co nstru ctivă d e bază Simbolul celulei de bază

C elu la de bază a unui F P G A cu b locuri logice universale

S ă ved em acu m cum p ot fi in tercon ectate aceste celu le. P otrivit


celor expuse anterior ex istă d ouă m odu ri fundam entale d e a realiza
interconectarea: prin can ale d e ru tare sau prin m atrice program abilă de
tip foldback, cu reacţie in versă.

5
S2 S2 S2 S2 S2
S1 S1 S1 S1 S1
O O O O O
S0 S0 S0 S0 S0

Sel Sel Sel Sel Sel

S2 S2 S2 S2 S2
S1 S1 S1 S1 S1
O O O O O
S0 S0 S0 S0 S0

Sel Sel Sel Sel Sel

S2 S2 S2 S2 S2
S1 S1 S1 S1 S1
O O O O O
S0 S0 S0 S0 S0

Sel Sel Sel Sel Sel

S2 S2 S2 S2 S2
S1 S1 S1 S1 S1
O O O O O
S0 S0 S0 S0 S0

Sel Sel Sel Sel Sel

S2 S2 S2 S2 S2
S1 S1 S1 S1 S1
O O O O O
S0 S0 S0 S0 S0

Sel Sel Sel Sel Sel

S2 S2 S2 S2 S2
S1 S1 S1 S1 S1
O O O O O
S0 S0 S0 S0 S0

Sel Sel Sel Sel Sel

A rhitectu ră F P G A cu canale d e rutare a sem nalelor inter-celulare

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

Arhitectu ră C P L D de tip foldback, cu reacţie in versă

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.

4.3.2. P rob lem a tran slatării


P aşii care trebu ie parcurşi în cursu l procesu lu i de translatare sunt în
gen eral urm ătorii:
- se verifică dacă nu m ăru l pin ilor de intrare/ieşire ai F P G A -ului
este m ai m are decât num ăru l p inilor necesari în design;
- se verifică dacă ex istă suficiente celu le în F P G A p entru a acop eri
num ăru l d e porţi logice din d esign ;
- se cau tă în d esign grupuri d e com p on ente al căror num ăr d e
intrări şi d e ieşiri este egal cu cel al celu lei de bază din F P G A ;
- se aleg prim a dată grupu rile cele m ai m ari care p ot fi form ate (d e
ex em p lu p orţile cu m ai m u lt d e trei in trări au n evoie d e d ouă sau m ai
multe celule).
In stru m entu l softw are utilizează un set de reguli pentru
substituţiile d e funcţii. L a nivelu l cel m ai sim p lu, el are nevoie de un set
de su bstitu ţii pen tru p orţile din d esign care să fie m apate în celu le d in
FPGA. În continuare, el are nevoie de o strategie pentru a utiliza optimal
regu lile de su bstitu ţie.
P rocesu l d e translatare este alcătuit din trei etape esenţiale:
- m aparea tehn ologică (inclusiv optim izarea);
- plasarea;

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.

4.3.3. Optimizarea netlist-ei


E ste o etapă esenţială a procesu lui de proiectare autom ată cu
FPGA-uri. Se folosesc de obicei metodele clasice: diagrame Karnaugh,
teoremele algebrei booleene etc.
A ceastă op tim izare este d e fapt m inim izarea d esignu lui dup ă
translatarea sa într-o n etlistă. N etlista este un fişier tex t care conţin e pu r şi
sim p lu funcţiile logice din d esign şi con ex iunile lor d e intrare şi d e ieşire.
A celaşi form at p oate fi folosit la orice n ivel d e reprezen tare. U n ex em p lu
de n etlistă:

*
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.3.7. Verificarea designului


Cele mai simple instrumente de verificare a designului sunt
program e care exam in ează n etlista transform ată şi analizează prop rietăţile
ord inare ale d esignu lui final. Iată câteva ex em p le d e verificări efectuate:
- se izolează ieşirea un ei celu le şi se nu m ără la intrarea câtor altor
celu le este transm is acel sem nal. F iecare celu lă în care in tră sem nalu l
con tribu ie la o sarcină cu m u lativă a acestuia şi este p osib il ca atun ci
program u l să in tervină, distribu ind sarcina resp ectivă la m ai m u lte celu le
de ieşire id en tice;
- se caută intrări lăsate n econ ectate ale celu lelor, care creează
probleme de zgomote;
- se caută ieşiri care nu sunt th ree-state şi sun t totuşi legate
îm preună.
Uneori verificarea se face în etapa de translatare, alteori în etapa de
simulare.

4.3.8. Simularea logică


A cesta este instru m entu l d e bază p en tru verificarea funcţionalităţii
şi p erform an ţelor tem p orale ale un ui design cu F P G A . În orice tip de
sim u lare, se creează un model al reţelei logice căruia i se ap lică un model
al intrărilor (numite stimuli) în vederea obţin erii unui m odel al ieşirilor
(numite răspunsu ri). O prop rietate fundam en tală a sim u lării este
urm ătoarea: ea p erm ite observarea răspunsurilor logice intern e, când
aceste răspunsu ri s-ar putea să nu fie observab ile p e pinii de ieşire.
E xistă m ai m u lte tipuri diferite de simulare:
4.3.8.1. S im u larea fu n cţion ală
În acest tip d e sim u lare se m od elează celu lele logice, care sun t
com binate cu un m od el al intrărilor b inare (tensiuni), gen erându -se un
m od el relativ d e răspunsu ri (tot tensiuni).

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 ab

 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

Abordarea BLM permite verificări intern e p entru violări d e tim p i


de setup şi de hold în interioru l rutin ei care evalu ează op eraţia logică
respectivă.
Acelaşi bistabil D poate fi modelat şi în versiunea cu porţi (deci
bistab ilu l e văzut ca un circu it d e şase porţi Ş I-N U , cu reacţie). A ceastă
versiune necesită ca m od elu lui să-i fie ataşată o funcţie extern ă, pentru a
răspund e n ecesităţilor d e verificare a tim p ilor d e setup şi de hold ai
modelului.
B L M evalu ează rap id, dar nu arată operaţiile interne - rămâne ca o
cutie n eagră.
Versiunea cu porţi face o disecţie completă a operaţiilor modelului,
necesitând un timp de simulare mai mare. În plus, ea permite o evaluare
completă a gradului de defecte.
D e regu lă, funcţiile m ari sunt m odelate şi simulate cu BLM, iar
cele mai mici - cu ajutorul modelelor cu porţi.

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.

4.3.12. Back Annotation


Procesul de alterare a întârzierilor nodurilor interne se numeşte
back annotation, n oţiun e esen ţială în proiectarea cu FPGA. Modelul de
sim u lare in iţial era pur şi simplu netlista designului. Înainte de plasarea şi
rutarea d esignu lui, întârzierile su nt n ecun oscu te (în tre oricare d ouă
puncte din interiorul FPGA-ului). După plasarea şi rutarea designului,
întârzierile d evin precizate. P rod usu l softw are calcu lează în târzierile

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ă.

4.3.13. Procesul de proiectare cu FPGA


În concluzie, putem sintetiza paşii procesului de proiectare cu
FPGA:

DESIGN

SIMULARE COMPILARE
E

PROGRAMARE
Back
Annotation

Diagrama procesului de proiectare cu FPGA

Recapitulând, putem distinge următorii paşi ai acestui proces:


1. Se introduce designul folosind un editor schematic (schematic capture
sau ecuaţii);
2. Rezultă o netlistă care descrie designul;
3. Netlista este transmisă simulatorului pentru verificare funcţională
(pentru a vedea dacă au fost captu rate funcţiile corecte);
4. U rm ează procesu l d e compilare: plasare şi rutare;
5. După com pilare, softu l d e analiză extrage în târzierile date d e
interconectarea celulelor şi realizează procesu l d e back annotation al
netlistei;
6. Dacă simularea noii netliste satisface condiţiile, atunci totu l este în
regu lă şi se face in scrip ţionarea fizică a circuitului FPGA
(programarea). În caz contrar, se reface simularea până la obţin erea
versiunii definitive corecte.

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