Sunteți pe pagina 1din 48

CURS PDN

Circuite logice combinaŃionale


Circuite logice combinaŃionale

 Circuitele logice combinaŃionale (c.l.c.)


sunt circuite fără memorie (independente
de propriile stări anterioare),
caracterizate prin faptul că semnalele de
ieşire sunt combinaŃii logice ale
semnalelor de intrare, existând numai
atâta timp cât acestea din urmă există.
Schema bloc a unui circuit logic combinaŃional
este dată în fig. 1.

Fig. 1.1. Schema bloc a unui c.l.c.


FuncŃiile de ieşire ale unui c.l.c. pot fi
scrise sub forma:
yk = yk (x1, x2, ... , xn), (1.1)

cu k = 1, 2, ... , m.
 IndependenŃa faŃă de timp a relaŃiilor 1.1
ar putea fi interpretată ca un răspuns
instantaneu şi simultan al ieşirilor
circuitului logic combinaŃional la o
modificare simultană a intrărilor acestuia.
În realitate, situaŃia este puŃin mai complicată.

 łinând seama de faptul că un c.l.c. reprezintă


un ansamblu de porŃi logice elementare
interconectate între ele în diverse moduri,
astfel încât informaŃiile prezente la intrări
parcurg, de regulă, în drumul lor către ieşiri, un
număr variabil de porŃi logice elementare,
rezultă că efectul modificării valorilor logice
ale intrărilor c.l.c. se propagă către ieşiri în
intervale de timp diferite, întotdeauna
multipli de tpd.
 Presupunând că cea mai scurtă cale intrare-
ieşire parcurge - a porŃi, iar cea mai lungă – b
porŃi, înseamnă că vectorul ieşirilor va începe
să varieze la un interval de timp a·tpd după
modificarea vectorului de intrare şi se va
stabiliza abia după un interval de timp b·tpd de
la momentul respectiv.

 Prin urmare, în intervalul (b-a)·tpd, vectorul de


ieşire înregistrează variaŃii neconforme cu
relaŃia 1.1, cunoscute sub denumirea de
hazard combinaŃional sau hazard logic.
 Eliminarea inconvenientelor pe care le
implică hazardul logic poate fi realizată
numai printr-o proiectare riguroasă care
constă fie în asigurarea unor întârzieri
egale pe toate căile intrare-ieşire, fie prin
citirea informaŃiilor de la ieşirea circuitului
numai după terminarea intervalului
(b-a)·tpd, corespunzător procesului
tranzitoriu.
1. Analiza circuitelor logice
combinaŃionale
 Analiza c.l.c. porneşte de la schema
logică cunoscută a circuitului şi
urmăreşte stabilirea modului de
funcŃionare a acestuia, fie prin
construirea tabelului de funcŃionare, fie
prin scrierea formei analitice a funcŃiei de
ieşire.
Spre exemplu , pornind de la schema
logică a unui c.l.c. simplu, fig. 1.2.

Fig. 1.2. Schema logică a unui XOR

Y = AB + AB (1.2)
 Construirea tabelului de funcŃionare este acum
extrem de simplă şi urmează paşii prezentaŃi
în coloanele tabelului 1.1.

Tab. 1.1. Tabelul de funcŃionare al c.l.c. din fig. 1.2


 Recunoaştem funcŃia de ieşire şi tabelul de
funcŃionare al circuitului SAU-EXCLUSIV
(XOR).
2. Sinteza circuitelor logice
combinaŃionale
Sinteza c.l.c. porneşte de la funcŃia pe care trebuie să o
îndeplinească circuitul şi îşi propune obŃinerea unei
variante (minimale) a structurii acestuia.
 Etapele sintezei sunt:
- definirea funcŃiei (funcŃiilor) de ieşire,
- minimizarea,
- desenarea schemei circuitului.
După modul în care este scrisă funcŃia, implementarea
se poate face în diverse variante dintre care menŃionăm:
a) cu orice combinaŃie de circuite logice elementare;
b) numai cu circuite NAND;
c) numai cu circuite NOR.
Spre exemplu, considerând funcŃia:
Y = A⊕B (1.3)

şi tabelul ei de funcŃionare, tab. 1.2, trebuie


să realizăm sinteza circuitului în mai multe
variante.

Tab. 4.2. Tabelul de adevăr al funcŃiei XOR


a) Sinteza utilizând mai multe tipuri de circuite
logice elementare
Utilizând forma canonică conjunctivă (FCC),
obŃinem:
(
Y = (A + B) ⋅ A + B ) (1.4)

In urma implementării conduce la circuitul din


fig.1.3.

Fig. 1.3. O altă variantă de implementare a XOR-ului


b) Sinteza numai cu porŃi NAND
Aplicând De Morgan asupra FCD, rel., Y = AB + AB
obŃinem:
( )( )
Y = AB + AB = AB ⋅ AB (1.5)
Implementare poate fi realizată numai cu NAND-uri şi
conduce la circuitul din fig. 1.4.

Fig. 1.4. Implementarea XOR-ului


numai cu NAND-uri
c) Sinteza numai cu porŃi NOR
Aplicând De Morgan asupra FCC, rel.
Y = (A + B) ⋅ (A + B ) , obŃinem:

( ) ( ) (
Y = (A + B )⋅ A + B = A + B + A + B ) (1.6)

Implementare poate fi făcută numai cu NOR-uri


şi conduce la circuitul din fig. 1.5.

Fig. 1.5. Implementarea


XOR-ului numai cu NOR-uri
3. Multiplexoare

 Multiplexoarele (MUX-urile) sunt circuite


logice combinaŃionale care permit
trecerea datelor de la una din cele n
intrări spre ieşirea unică, fig. 1.6.

Fig. 1.6. Schema bloc generală a unui multiplexor


 SelecŃiaintrării care urmează a avea
acces la ieşire se face printr-un cuvânt de
cod (adresă) având p biŃi.

 Se observă că n=2p, adică numărul de


intrări este egal cu numărul combinaŃiilor
logice de adresă a căror apariŃie urmează
să autorizeze accesul succesiv al intrărilor
către ieşire.
3.1. Circuitul de multiplexare cu 4
intrări
 În cazul MUX-ului cu n=4 intrări (I0, I1, I2, I3),
numărul barelor de adresă este p=2 (A0, A1).

 Pornind de la definiŃia multiplexorului, construim:


- tabelul de funcŃionare al unui MUX cu 4 intrări,
tab. 1.5,
- scriem forma canonică disjunctivă, rel. 1.13, şi
- o implementăm în fig. 1.7.
Tab. 1.5. Tabelul de funcŃionare al unui MUX cu 4 intrări

Y = E(A1A 0 I 0 + A1A 0 I1 + A1A 0 I 2 + A1A 0 I 3 ). (1.7)


123 123 123 123
P0 P1 P2 P3
Observatie:

-Schema este prevăzută şi cu o


(
intrare de autorizare E ENABLE , )
activă în starea "L".

- Pentru E = 1 , indiferent de stările


logice ale intrărilor şi barelor de
adresă, ieşirea se fixează în 0
logic şi MUX-ul este inactivat.
Fig. 1.7. MUX-ul cu 4 intrări
4. Demultiplexoare

Circuitele de demultiplexare (DMUX-


urile) sunt c.l.c. care permit transmiterea
datelor de la o intrare unică, la una din
cele m ieşiri selectate printr-un cuvânt de
cod (adresă).
Schema bloc a unui DMUX cu m ieşiri şi p bare
de adresă (m=2p) este prezentată în fig. 1.8.

Fig. 1.8. Schema bloc generală a unui DMUX


4.1. Circuitul de demultiplexare cu
4 ieşiri
Circuitul de demultiplexare cu m=4 ieşiri (Y0,Y1,
Y2, Y3), are p=2 bare de adresă (A0,A1).

Tab. 1.6. Tabelul de funcŃionare al unui DMUX cu 4 ieşiri

FuncŃiile de ieşire sunt:


Y0 = I ⋅ A1 A 0 , Y1 = I ⋅ A1A 0 , Y2 = I ⋅ A1 A 0 , Y3 = I ⋅ A1 A 0 , (1.8)
Se obŃine varianta de implementare din fig. 1.9.

Fig. 1.9. DMUX-ul cu 4 ieşiri


5. Comparatoare numerice
 Comparatoarele
numerice sunt c.l.c. care
permit determinarea
valorii relative a două
numere exprimate în cod
binar. Fig. 1.10. Schema bloc a unui
comparator de n biŃi
 Schema bloc a unui
comparator de n biŃi este
prezentată în fig. 1.10.
5.1. Comparatorul numeric de un
bit
 Comparatorul numeric de un bit prezintă
schema bloc din fig. 1.11.

Fig. 1.11. Schema bloc a comparatorului de 1 bit


Compararea celor două numere de câte un bit
fiecare, permite definirea următoarelor funcŃii, cf.
tab. 1.7:

Tab. 1.7. Tabelul de funcŃionare al comparatorului de 1 bit

Coloanele 3, 4 şi 5 reprezintă ieşirile comparatorului de 1 bit.


- funcŃia de inferioritate, f i k = A k Bk , care ia
valoarea logică 1 numai când Ak<Bk, adică
atunci când Ak=0 şi Bk=1;
- funcŃia de egalitate, f e k = A k ⊕ Bk , care ia
valoarea logică 1 numai când Ak=Bk, adică fie
Ak=Bk=0, fie Ak=Bk=1 logic;
- funcŃia de superioritate, f s k = A k Bk , care ia
valoarea logică 1 numai când Ak>Bk.
Pentru cele 3 situaŃii posibile rezultate în urma
comparării, se obŃine varianta de implementare
din fig. 1.12.

Fig. 1.12. Schema logică a comparatorului de 1 bit


6. Sumatoare
 Sumatoarele sunt subsisteme logice
combinaŃionale care asigură - direct sau
indirect - efectuarea tuturor operaŃiilor
aritmetice dintr-un sistem de calcul.
 Schema bloc a unui sumator de 2 numere
binare a câte n biŃi este prezentată în fig.
1.13, unde s-au notat cu Si , i=0,1, ..., n-1,
biŃii corespunzători sumei, iar cu Ci
transportul către rangul următor.
Fig. 1.13. Schema bloc generală a unui sumator
6.1. Semisumatorul

 Semisumatorul realizează suma a două


numere binare de câte 1 bit, fără a Ńine seama
de transportul de la bitul imediat inferior ca
semnificaŃie.
 Pornind de la tabelul de adevăr al unui
semisumator de 1 bit, tab. 1.8, se obŃin relaŃiile
de calcul 1.9 şi 1.10 a căror implementare
conduce la schema din fig. 1.14 a, sau, la nivel
de schemă bloc, fig. 1.14 b.
Tab. 1.8. Tabelul de adevăr al semisumatorului de 1 bit

 Si = Ai ⊕ Bi ; (1.9)

 Ci = Ai ⋅ Bi . (1.10)

a) schema logică b) schema bloc


Fig. 1.14. Semisumatorul de 1 bit
6.2. Sumatorul complet de 1 bit
 Spre deosebire de semisumator, sumatorul
complet de 1 bit ia în consideraŃie şi transportul
Ci-1 de la bitul imediat inferior, conform schemei
bloc din fig. 1.15.

Fig. 1.15. Schema bloc a


sumatorului Tab. 1.9. Tabelul de funcŃionare al
complet de 1 bit sumatorului complet de 1 bit
 Ca şi în cazul semisumatorului, ieşirea Si
este suma modulo 2 a celor 3 intrări:
S i = A i ⊕ B i ⊕ C i −1 = (1.12)
= A i Bi C i −1 + A i B i Ci −1 + A i Bi Ci −1 + A i B i C i −1
 Din acelaşi tabel se poate deduce şi Ci:
C i = A i B i C i −1 + A i Bi C i −1 + A
. i B i C i −1 + A i B i C i −1

Ci = BiCi-1 + AiCi-1 + AiBi Se neaga si se aplica rel. De Morgan


Ci = A i Bi + A i Ci −1 + Bi Ci −1
Se noteaza primii trei termeni din Si cu Di:
D i = A i Bi C i −1 + A i B i Ci −1 + A i Bi Ci −1
Di = (Ai + Bi + Ci-1) Ci
Rezultă că Si se poate scrie:
S i = D i + A i B i C i −1 =
(1.13)
= A i Ci + B i Ci + C i −1 Ci + A i B i C i −1

Fig. 1.16. Schema logică a


sumatorului complet de 1 bit
7. Convertoare de cod
 Convertoarele de cod sunt circuite logice
combinaŃionale care permit transformarea unui
cod binar în altul.
 Schema bloc a unui convertor de n / m biŃi este
prezentată în fig. 1.17.

Fig. 1.17. Schema bloc generală a unui convertor de cod


7.1. Convertorul de cod “binar
natural – Gray”
 Schema bloc a unui convertor pe 4 biŃi din cod
binar natural în cod Gray se obŃine din fig.
1.17 pentru n = m = 4 şi este prezentată în
fig.1.18.

Fig. 1.18. Schema bloc a convertorului


de cod "binar natural - Gray"
Codul binar reflectat (Gray) se obŃine din codul
binar natural astfel:
 G0 - repetă primele 2 locaŃii ale lui B0, după
care se reflectă din 2 în 2 locaŃii;
 G1 - repetă primele 4 locaŃii ale lui B1, după
care se reflectă din 4 în 4 locaŃii;
 G2 - repetă primele 8 locaŃii ale lui B2, după
care se reflectă din 8 în 8 locaŃii;
 G3 - repetă B3.
Tab. 1.10. Tabelul de adevăr al convertorului
de cod "binar natural - Gray"
Alcătuim diagramele VK pentru G3, G2, G1 şi G0,
fig. 1.19.

Fig. 1.19. Diagramele VK corespunzătoare


funcŃiilor de ieşire ale convertorului
Fig. 1.19. Diagramele VK corespunzătoare
funcŃiilor de ieşire ale convertorului
După minimizare, obŃinem următoarele expresii:
G 3 = B3 ; G 2 = B2 ⊕ B3 ; G1 = B1 ⊕ B2 ; G 0 = B0 ⊕ B1, (1.14)
a căror implementare conduce la schema din fig.
1.20.

Fig. 1.20. Schema logică minimală a convertorului


de cod "binar natural - Gray"
7.2. Convertorul de cod "Gray -
binar natural"
 Schema bloc a unui convertor din cod
Gray în cod binar natural este prezentată
în fig. 1.21, iar tabelul de adevăr este
tab. 1.11

Fig. 1.21. Schema bloc a convertorului de cod "Gray - binar natural"


Tab. 1.11. Tabelul de adevăr al convertorului
de cod "Gray - binar natural"
Se apelează la următorul artificiu: cunoscut fiind
faptul căA ⊕ A ⊕ B = B , calculăm cu ajutorul relaŃiilor
1.14 următoarele sume modulo 2:

G 2 ⊕ G 3 , G1 ⊕ G 2 ⊕ G 3 , G 0 ⊕ G1 ⊕ G 2 ⊕ G 3 . (1.15)
G3 = B3; ⇒ B3 = G3;
G2 ⊕ G3 = B2 ⊕ B3 ⊕ B3; ⇒ B2 = G2 ⊕ G3;
1424 3
0
G1 ⊕ G2 ⊕ G3 = B1 ⊕ B2 ⊕ B2 ⊕ B3 ⊕ B3; ⇒ B1 = G1 ⊕ G2 ⊕ G3;
1424 3 1 424 3
0 0
G0 ⊕ G1 ⊕ G2 ⊕ G3 = B0 ⊕ B1 ⊕ B1 ⊕ B2 ⊕ B2 ⊕ B3 ⊕ B3;
1424 3 1 424 3 1 424 3
0 0 0
⇒ B0 = G0 ⊕ G1 ⊕ G2 ⊕ G3.
Fig. 1.22. Schema logică a convertorului
de cod "Gray - binar natural"

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