Sunteți pe pagina 1din 18

42 Circuite logice combinaţionale

4. CIRCUITE LOGICE COMBINAŢIONALE


Circuitele logice combinaţionale (CLC) sunt circuite integrate pe scară medie care
efectuează funcţii logice independente de variabila timp.
Schema logică a unui CLC este :

X0 Y0
X1 Y1
. CLC .
. .
. .
Xm-1 Ym-1

Fig. 4.1.

Cele n intrări reprezintă vectorul variabilelor binare de intrare iar cele m ieşiri
reprezintă vectorul variabilelor binare de ieşire.
În general se pot scrie următoarele relaţii:
 y0  F0  x0 , x1 ,..., x n 1 


y1  F1  x0 , x1 ,... , x n 1 
 .
 .

 .

 y m 1  Fm 1  x 0 , x1 ,... , x m 1 

În principiu, orice variabilă de ieşire poate depinde de toate variabilele de intrare însă
nu depinde de timp.
Această exprimare a relaţiilor între vectorul de ieşire şi cel de intrare neglijează
întârzierile introduse de circuitele logice elementare care compun circuitul logic
combinaţional.
Datorită întârzierilor, în practică poate apărea fenomenul de hazard combinaţional care
constă în faptul că dacă la intrare se aplică la momentul t0 vectorul variabilelor de intrare, după
un anumit timp şi într-o succesiune neprevăzută pentru fiecare dintre ieşiri se stabileşte starea
finală a fiecărei ieşiri. Aceasta se datorează întârzierilor intrare - ieşire specifice fiecărei ieşiri
şi care pot diferi de la o ieşire la alta.
Procesul de minimizare constă în uniformizarea întârzierilor intrare - ieşire pentru
fiecare dintre ieşiri.
Evitarea fenomenului de hazard combinaţional se poate face fie prin minimizare, fie
prin utilizarea unei memorii tampon care permite citirea variabilelor logice ale ieşirilor.
În general setul de ecuaţii se poate scrie :
- sub forma canonică disjunctivă.
- sub forma canonică conjunctivă.

Forma canonică disjunctivă este suma logică a tensiunilor de produs logic în care
intervin toate variabilele de intrare iar forma canonică conjunctivă este produsul logic al unor
termeni constituiţi prin suma logică a tuturor variabilelor de intrare.
Circuite logice combinaţionale 43
În afară de forma canonică se utilizează şi forma elementară la care se poate ajunge
prin procedee de minimizare. Acesta are avantajul practic că asigură implementarea CLC cu
un număr minim de componente.

4.1. Codificatoare.

Codificatoarele sunt circuite logice combinaţionale care furnizează la ieşire un cod


binar pe k biţi atunci când este activată una dintre cele m intrări ale sale.
Notând cu W variabila de intrare şi cu Y variabila de ieşire, schema bloc a unui
codificator poate fi reprezentată astfel :

W0 Y0
W1 Y1
. CD .
. .
. .
Wm-1 YK-1

Fig. 4.2.

Fiecăreia dintre liniile de intrare denumite şi linii de cuvânt îi corespunde un cuvânt


binar de k biţi la ieşire. În general cele m cuvinte de ieşire nu trebuie să fie neapărat distincte
rezultând astfel faptul că între m şi k nu există o relaţie bine precizată.
Funcţiile de ieşire depind în general de toate variabilele de intrare conform relaţiei

m 1
yr   a n  Wn r=0...k–1
n0

iar coeficienţii an pot avea valorile 0 sau 1.


Această relaţie sugerează faptul că un codificator poate fi realizat prin însumarea
logică cu ajutorul funcţiei SAU a produselor an Wn .
Exemplu : codificarea binară a numerelor zecimale de la 0 la 9 .
În acest caz m = 10, k = 4 ( numărul de biţi la ieşire necesar pentru a nu avea aceeaşi
combinaţie la ieşire pentru intrări diferite ).
Expresiile celor patru ieşiri se obţine din tabelul de adevăr care conţine intrarea
activată şi valorile dorite pentru variabilele de ieşire :

Intrare activă Y3 Y2 Y1 Y0
W0 0 0 0 0
W1 0 0 0 1
44 Circuite logice combinaţionale
W2 0 0 1 0
W3 0 0 1 1
W4 0 1 0 0
W5 0 1 0 1
W6 0 1 1 0
W7 0 1 1 1
W8 1 0 0 0
W9 1 0 0 1

y0  W1  W 3  W5  W7  W9
y1  W 2  W 3  W6  W7
y 2  W4  W 5  W 6  W 7
y 3  W8  W 9
Schema codificatorului rezultă din implementarea cu porţi SAU a relaţiilor obţinute.
W0
W1
W2
W3
W4
W5
W6
W7
W8
W9

Y0 Y1 Y2 Y3

Fig. 4.3.
Schema codificatorului prezentat funcţionează corect numai dacă intrările sunt activate
pe rând. Astfel, dacă sunt acţionate două sau mai multe intrări simultan la ieşire se obţine
altceva decât cuvântul codat propus.
Codificatoarele sunt în general blocuri în circuite integrate pe scară largă. La realizarea
lor se urmăreşte minimalizarea numărului de componente utilizate şi se încercă realizarea lor
cu un număr minim de tranzistoare.
În practică, pentru realizarea circuitelor SAU se pot folosi matrice cu diode. De
exemplu ieşirea Y3 poate fi implementată astfel ( figura 4.4):
Circuite logice combinaţionale 45

V+

W8
W7

W9

Y1 Y2
Y0
Y3

Fig. 4.4. Fig. 4.5.

Conectarea unui număr mare de diode prezintă dezavantajul scăderii sarcinii


echivalente văzute de fiecare cuvânt de intrare rezultând o creştere a curentului.
Pentru a micşora încărcarea intrărilor se preferă în general utilizarea unor circuite SAU
cu repetoare pe emitor. Această metodă are două variante constructive:
1. Prima variantă este orientată pe linii de cuvânt în care se utilizează câte un tranzistor
multiemitor pentru fiecare linie de cuvânt (figura 4.5).
2. A doua variantă orientată pe linii de ieşire în care se folosesc mai multe tranzistoare.
V+

W3 W6 W7
W2
Fig.
4.6.
Se observă
V1
că pentru
fiecare linie
R
există un
astfel de
subansamblu.

4.2. Decodificatoare
Decodificatorul este un circuit logic combinaţional care serveşte la identificarea unui
cod de intrare prin activarea unei linii de ieşire corespunzătoare acestui cod.
Schema bloc a unui decodificator este:
 

cod de intrare ''n'' 




X0


 biţi de ieşire''m''
Y0
 

.. Fig. 4.7. ..
. DCD .
Xm- Ym-1
Relaţia între numărul 1de biţi de intrare şi numărul de biţi de ieşire este:
m = 2n.
46 Circuite logice combinaţionale
Tabelul de adevăr pentru un decodificator cu trei linii de intrare şi opt linii de ieşire
este: ( considerând că variabilei A îi corespunde 20, variabilei B - 21 iar variabilei C - 22 ).

C B A Linia activă
0 0 0 L0
0 0 1 L1
0 1 0 L2
0 1 1 L3
1 0 0 L4
1 0 1 L5
1 1 0 L6
1 1 1 L7

Din tabelul de adevăr rezultă ecuaţiile logice ale ieşirilor, care permit implementarea
decodificatorului.
L0  A  B  C
L1  A  B  C
.
.
.
L7  A  B  C
Schema decodificatorului construită pe baza acestor ecuaţii logice este prezentată în
figura 4.8: C B A

C B A

C B A
L0

A  BC

L1

A BC
.
.
.

L7
A BC

E0 E
E1
Fig. 4.8.
Circuite logice combinaţionale 47
Pentru ca schema să funcţioneze ca un decodificator trebuie ca intrarea de validare E
să fie în starea 1 logic. ( Dacă E0 = 0 şi E1 = 0 ).
Dacă se notează cu n numărul de intrări, în general este nevoie de circuite ŞI -
NU cu n intrări la care se adaugă la cerere intrarea de validare E.
Inversoarele de la intrare se pun pentru ca circuitele de intrare care alimentează
decodificatorul să nu fie încărcate cu mai multe de o sarcină TTL.

4.3. Multiplexoare.

Multiplexorul este un circuit logic combinaţional care permite transmiterea succesivă a


datelor provenite de pe m căi de intrare pe o cale de ieşire unică.
Selectarea căii de intrare se face cu ajutorul unui cod unic de selecţie de n biţi.
Relaţia între numărul de biţi de selecţie şi numărul căilor de intrare este:
2n = m
Considerând un cod de selecţie cu patru biţi, A, B, C, D, rezultă 16 linii de intrare D0
D15. Dacă E reprezintă semnalul de validare al multiplexorului, variabila de ieşire w este
dată de ecuaţia:
    
w  E D0  A  B  C  D  D1  A  B  C  D  ...  D15  A  B  C  D  
Exemplu: pentru implementarea unui multiplexor cu patru intrări de date D0 , D1 , D2 ,
D3 şi intrările de selecţie A şi B, întrarea de validare E , ecuaţia ieşirii este dată de ecuaţia.
      
w  E D0  A  B  D1  A  B  D2  A  B  D3   A  B  
Schema unui astfel de circuit este:
A B E
D0 D1 D2 D3

A B

A B

A4 A5

W
A B C D
W
Decodificat
D0 – D15 D16 – D31 Fig.
L0 L4.9. L2 L3 D32 – D47 D48 – D63
1
16 16 16 16
În practică se fabrică multiplexoare cu maximum 16 linii de date având deci un cod de
selecţie de 4 biţi. În aceste condiţii pot apărea probleme privitoare la extinderea capacităţii de
multiplexare în cazul în care trebuie multiplexate mai mult de 16 canale de intrare.
În funcţie de numărul de linii de intrare necesare se pot utiliza mai multe multiplexoare
validate succesivMUX MUX 1 Pentru validarea
0 un decodificator.
de către MUX 2
multiplexoarelor MUX 3
se utilizează
intrările de validare E a multiplexoarelor.

Exemplu:w0Să se realizeze un multiplexor


w1 w2 cu multiplexoare cu
pentru 64 linii w3 16 linii.

w
48 Circuite logice combinaţionale

Fig. 4.10.
Ieşirile celor k multiplexoare se însumează logic folosind un circuit SAU dacă se
dispune de ieşirile w sau de un circuit ŞI - NU dacă se dispune de w .
Multiplexoarele se utilizează rar pentru implementarea unor funcţii logice, pentru că au
o singură ieşire. Dintre aplicaţiile mai importante menţionăm:
- înregistrarea centralizată a datelor numerice ( codul corespunzător adresei liniei de
intrare se modifică secvenţial cu ajutorul unui numărător astfel încât fiecare linie de intrare
este conectată la ieşire un interval de timp T egal cu perioada impulsurilor de tact de la
numărător, rezultând faptul că aceste date se pot înregistra. În intervalul de timp T sunt
selectate toate liniile de intrare.
- conversia paralel - serie a informaţiei binare n biţi sunt aplicaţi simultan la cele m
intrări a multiplexorului după care prin modificarea secvenţială a adresei liniilor de intrare se
obţin la ieşirea w succesiv : D0 , D1 , . . . , Dm.
- transmiterea datelor cu mai mulţi biţi pe o singură linie de transmisie. În acest caz se
utilizează atât multiplexoare cât şi demultiplexoare, datele fiind transmise pe linie bit cu bit şi
recepţionate în mod similar. La locul de transmisie se utilizează un multiplexor, ieşirea căruia
este conectată la linia de transmisie iar la recepţie se utilizează un demultiplexor, ambele
adresate cu un numărător comandat cu aceleaşi impulsuri de tact.

4.4. Demultiplexoare
Demultiplexorul este un circuit logic combinaţional care permite transmiterea datelor
de la o singură linie de intrare pe m linii de ieşire. Alegerea ieşirilor se face printr-un
cod de selecţie.
Numărul biţilor codului de selecţie este legat de numărul liniilor de ieşire m prin
relaţia:
m = 2n
Ca şi demultiplexoare se pot utiliza decodificatoare
cod de selecţie care au intrarea de validare. Modul
de utilizare ca şi demultiplexor a decodificatorului cu 3 biţi de adresă şi 8 linii de ieşire
prezentat anterior, este arătat în schema
A următoare.
B C

E0
D . L0
.
E1 DMUX .
L7
Circuite logice combinaţionale 49

Fig. 4.11.
Se observă că datele în urma a două inversări succesive pe linia de transmisie de ieşire
selectată.
La un moment dat datele de la intrarea D se transmit pe o singură linie de ieşire, cea
selectată în momentul respectiv de codul de selecţie .
Tipuri de circuite integrate care pot fi folosite atât ca decodificatoare cât şi ca
demultiplexoare sunt :
- CDB 442E - care este un decodificator care serveşte la decodificarea numerelor
zecimale codificate binar. Are 10 linii de ieşire şi 4 de intrare. Poate fi folosit ca demultiplexor
cu 3 biţi de selectare / 8 linii de ieşire / 1 linie de intrare.
- 74154 - este un decodificator cu 4 linii de intrare şi 16 linii de ieşire. Şi acest circuit
integrat poate fi folosit ca demultiplexor cu 4 biţi de selecţie / 16 linii de ieşire / 1 linie de
intrare.
Deoarece de obicei nu se fabrică demultiplexoare cu mai mult de 16 linii de ieşire şi în
practică se utilizează mai mult de 16 linii de ieşire, există posibilitatea extinderii domeniului
de ieşire.
Exemplu : folosind demultiplexoare cu 4 biţi de selecţie şi 16 linii de ieşire, se cere să
se realizeze un demultiplexor cu 64 de linii de ieşire.
În acest caz se observă că sunt necesare 4 demultiplexoare care vor fi validate succesiv
prin intermediul uneia dintre intrările de validare comandată de un decodificator.
A4 A5
E0 E1

A B
DCD

Date

E0 E1 E0 E1 E0 E1 E0 E1
4 biţi A0 – A3
DMUX 0 DMUX 1 DMUX 2 DMUX 3

L0 – L15 L16 – L31 L32 – L47 L48 – L63


Fig. 4.12.

De exemplu dacă codul de selecţie este :


A5 A4 A3 A2 A1 A0 rezultă că linia selectată este L43.
50 Circuite logice combinaţionale
1 0 1 0 1 1
Această schemă se poate utiliza şi ca decodificator cu 64 linii de ieşire dacă se pune
intrarea D la masă.
Dintre utilizările mai importante ale demultiplexoarelor şi decodificatoarelor
menţionăm:
- transmisia datelor numerice de la o singură sursă la m receptoare succesive.
- cu ajutorul decodificatoarelor se pot implementa circuite logice combinaţionale cu un
număr mare de ieşiri fără a efectua operaţii de minimizare.
La ieşirile decodificatorului se obţin termeni negaţi ai formei canonice disjunctive
normale.
L0  A  B  C  D
L1  A  B  C  D . . .L15  A  B  C  D
Orice funcţie logică de 4 variabile binare se poate realiza prin însumarea logică a
termenilor de produs cuprinşi în funcţia respectivă.
De exemplu pentru realizarea funcţiei logice :
f = L0 + L3 + L5 + L9 + L15 sunt necesari 5 termeni
Regula practică de realizare :
- orice funcţie se realizează aplicând termenii negaţi la intrarea unui circuit ŞI-
NU cu un număr de intrări egal cu numărul termenilor de produs cuprinşi în funcţie sau prin
aplicarea la intrarea unui circuit ŞI termenii negaţi de produs necuprinşi în funcţia dată. În
practică se preferă implementarea cu porţi ŞI - NU.
f  L 0  L 3  L 5  L 9  L15  un circuit ŞI - NU cu 8 intrări.
Dacă numărul variabilelor de intrare este mai mare ca 3 sau 4, pentru a putea obţine
funcţiile logice se poate extinde capacitatea demultiplexorului pentru a ajunge la mai multe
variabile de intrare.
- altă utilizare a demultiplexoarelor ( împreună cu multiplexoare ) este aşa cum s-a
prezentat anterior, transmiterea datelor cu mai mulţi biţi pe o singură linie de transmisie. O
schemă posibilă care realizează această funcţie este următoarea:
E1 E1
s0 s0
w Canal E0
date
. .
. MUX DMUX .
. .

sm-1 sm-1

A . . . N A . . . N

NUM 1 NUM 2

Tk Tk
Semnal
Emisie sincronizare Recepţie
Fig. 4.13.

La intrarea multiplexorului codul de selecţie este asigurat de numărătorul 1. Prin


numărare sunt selectate succesiv s0 . . . sm-1.
Circuite logice combinaţionale 51
Fiecare bit care pe ieşirea w se transmite pe linie şi ajunge la intrarea demultiplexorului
de la recepţie care funcţionează sincron cu multiplexorul de la emisie. Prin funcţionarea
sincronă se înţelege faptul că la un moment dat, pe durata T, codul de selecţie la emisie şi
recepţie este acelaşi. Acest lucru se asigură prin comanda sincronă a celor două numărătoare
prin faptul că sunt comandate cu acelaşi semnal de tact şi la punerea în funcţiune
numărătoarele N1 şi N2 se aduc iniţial la 0.
Avantajul schemei este că permite reducerea numărului de conductoare.

4.5. Comparatorul numeric

Comparatorul numeric este un circuit logic combinaţional care permite compararea a


două numere binare reprezentate cu acelaşi număr de biţi în vederea determinării care este mai
mare sau dacă cele două numere sunt egale. De exemplu în sistemele cu reglare numerică se
compară mărimea prescrisă cu cea din timpul procesului.
Comparatoarele au rol de a determina valoarea relativă a două numere binare cu
acelaşi număr de biţi A şi B rezultând că dacă cele două numere sunt reprezentate pe n biţi,
numărul de intrări este 2n. Numărul de ieşiri este 3, corespunzător cazurilor A  B, A  B, A
 B.
Presupunând că numerele binare A şi B sunt numere scrise pe 1 bit rezultă că pentru
semnalizarea prin 1 a egalităţii celor două numere se poate utiliza funcţia SAU - EXCLUSIV.
Ieşirea în cazul egalităţii celor două numere va fi :
f ek  A  B  A  B  A  B
unde k reprezintă bitul pentru care se scrie funcţia.
Pentru ieşirea A  B se poate utiliza funcţia A  B ( deoarece sunt numere pe 1 bit )
care duce la rezultat adevărat pentru A = 1 şi B = 0.
f ek  A  B
În mod asemănător pentru ieşirea A  B se poate utiliza funcţia A  B adevărată pentru
A = 0 şi B = 1.
f ik  A  B
În ansamblu implementarea comparatorului numeric pentru 1 bit se poate face cu
schema:

A
fsk

fek

fik
B

Fig. 4.14.
Dacă numerele binare A şi B sunt pe n biţi atunci fiecare bit este necesar un astfel de
circuit şi folosind cele trei ieşiri ale circuitului şi o logică suplimentară pentru determinarea
inegalităţii în ansamblu se poate realiza un comparator pentru numere binare pe mai mulţi biţi.
Ca exemplu se va analiza cazul unui comparator care compară două numere
reprezentate pe 4 biţi fiecare.

Fie A şi B cele două numere pe 4 biţi cu biţii


A = A 3 A2 A1 A0
52 Circuite logice combinaţionale
B = B 3 B2 B1 B0
a) Pentru ca numerele A şi B să fie egale trebuie ca :
A0  B0  f e0 A2  B 2  fe2
A1  B1  f e1 A3  B 3  fe3
Semnalul de egalitate Fe rezultă cu ajutorul funcţiei logice ŞI a celor patru ieşiri de
egalitate a comparatoarelor pe 1 bit.
Fe  f e  f e  f e  f e
0 1 2 3

b) Pentru ca numărul A  B trebuie ca :


A3  B3 sau fs 3

A3  B3 ; A2  B2 sau fs  fe
2 3

A3  B3 ; A2  B2 ; A1  B1 sau f s  fe  fe
1 2 3

A3  B3 ; A2  B2 ; A1  B1 ; A0  B0 f s  fe  fe  fe
0 1 2 3

În acest caz semnalul Fs rezultă cu ajutorul funcţiilor logice ŞI şi SAU potrivit relaţiei:
Fs  f s  f s  f e  f s  f e  f e  f s  f e  f e  f e
3 2 3 1 2 3 0 1 2 3

c) Pentru ca numărul A  B trebuie ca:


A3  B3 sau fi 3

A3  B3 ; A2  B2 sau fi  fe 2 3

A3  B3 ; A2  B2 ; A1  B1 sau fi  fe  fe
1 2 3

A3  B3 ; A2  B2 ; A1  B1 ; A0  B0 fi  fe  fe  fe
0 1 2 3

În acest caz semnalul Fi rezultă cu ajutorul funcţiilor logice ŞI şi SAU potrivit relaţiei:
Fi  f i  f i  f e  f i  f e  f e  f i  f e  f e  f e
3 2 3 1 2 3 0 1 2 3

Observând că din cele trei funcţii nu poate fi la un moment dat adevărată decât una se
poate scrie :  Fe  Fs  Fi

 Fs  Fe  Fi
 Fi  Fe  Fs

Din aceste relaţii rezultă că în principiu este necesară implementarea a două din aceste
funcţii, cea de a treia rezultând cu ajutorul unui circuit ŞI şi două inversoare.
În general, în practică se implementează toate funcţiile pentru a asigura întârzierea
globală pentru cele trei ieşiri şi micşorarea hazardului combinaţional.
Pentru conectarea mai multor comparatoare cu mai mulţi biţi se mai adaugă funcţiile
de intrare suplimentare Fe' , Fs' , Fi' provenite de la biţii de rang superior. În acest caz relaţiile
devin:
Fe  f e  f e  f e  f e  Fe'
0 1 2 3

Fs  f s  f e  f s  f e  f e  f s  f e  f e  f e  f s  f e  f e  f e  f e  Fs'
3 3 2 3 2 1 3 2 1 0 3 2 1 0

Fi  f i  f e  f i  f e  f e  f i  f e  f e  f e  f i  f e  f e  f e  f e  Fi'
3 3 2 3 2 1 3 2 1 0 3 2 1 0

4.6. Sumatoare
Sumatorul este un circuitul logic combinaţional care asigură direct sau indirect
efectuarea operaţiilor aritmetice într-un sistem de calcul.
Circuite logice combinaţionale 53
4.6.1. Semisumatorul - este un circuit logic combinaţional care efectuează suma a
două numere binare de câte 1 bit fără a ţine seama de transferul de la bitul cu semnificaţie
imediat inferioară.
Fie numerele A0 şi B0 două numere binare de 1 bit rezultând că A0 şi B0 sunt intrări
pentru semisumator iar S0 şi C0 sunt două ieşiri reprezentând suma ( S0 ) şi transferul ( C0 ).
Tabelul de adevăr rezultat este:

Intrări Rezultat Ieşiri


A0 B0  S0 C0
0 0 00 0 0
0 1 01 1 0
1 0 01 1 0
1 1 10 0 1

Funcţiile logice pentru ieşirile S0 şi C0 sunt:


S0  A0  B0  A0  B0 ( SAU EXCLUSIV )
C 0  A0  B0 ( ŞI )
În acest caz implementarea acestor funcţii se poate face astfel :

A0
S0
B0

C0

Fig. 4.15.

Reprezentarea simbolică a semisumatorului este:


Ai Bi


1
2

Ci Si

Fig. 4.16.
4.6.2. Sumatorul complet
Sumatorul complet efectuează suma a două numere binare de 1 bit ţinând seama şi de
transferul care poate apărea de la bitul cu semnificaţie imediat inferioară.
În principiu, schema sumatorului complet se poate realiza cu două semisumatoare şi un
circuit SAU conectate în următorul mod:
54 Circuite logice combinaţionale

Ai Bi
.

1 .
2 .

C’i S’i
Ci-1


1
2

C’’i Si

Ci
Fig. 4.17.
Funcţiile logice care descriu funcţionarea sumatorului complet sunt:
C i  C i'  C 'i'  Ai  Bi  S i'  C i 1
 
S i  S 'i  C i 1  S i  C i 1  Ai  Bi  C i 1  Ai  Bi  C i 1  Ai  Bi  Ai  Bi C i 1
Se observă

că în practică ieşirile C'i şi C''i nu pot avea simultan valoarea 1.


Reprezentarea simbolică :
Ai Ci-1 Bi

Ci Si
Fig. 4.18.
În practică pentru implementarea unui sumator nu se merge pe principiul utilizării a
două semisumatoare şi un circuit SAU ci pe baza tabelului de adevăr care are coloanele
corespunzătoare variabilelor de intrare pe Ai , Bi , C i - 1 şi ieşirile Ci şi Si. Din tabelul de adevăr
se deduc relaţiile logice pentru Ci şi Si.
Dacă aceste ecuaţii se minimizează rezultă o variantă de circuit logic combinaţional cu
un număr minim de circuite ( mai puţine decât două semisumatoare şi un circuit SAU ).

Variabila de intrare Variabila de ieşire


Ai Bi Ci - 1 Si CI
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Circuite logice combinaţionale 55

Funcţiile logice rezultate din tabelul de adevăr sunt :


S i  C i 1  Ai  Bi  C i 1  Bi  Ai  C i 1  Ai  Bi  C i 1  Ai  Bi
C i  C i 1  Ai  Bi  C i 1  Ai  Bi  C i 1  Ai  Bi  C i 1  Ai  Bi
În practică se utilizează sumatoare pe 1 bit, 2 biţi sau 4 biţi (cele mai utilizate). Schema
de principiu pentru un sumator cu 4 biţi este:

A1 B1 A0 B0
A3 B3 A2 B2

C3
3 C2
2 C1
 1
C0
0 C-1

S1 S0
S3 S2

Fig. 4.19.

Un astfel de circuit este CDB 483.


Sumatorul prezentat este de tip paralel ( ieşirile S0, S1, S2, S3, se fac în format paralel )
în timp ce propagarea transportorului se face serie. C-1 este utilizat la interconectarea mai
multor sumatoare în scopul utilizării sumatoarelor cu mai mult de 4 biţi.
Dacă schema din figură corespunde biţilor cei mai puţini semnificativi, atunci C-1 se
conectează la masă. Următorul circuit va avea conectat la C-1 ieşirea de transfer C3 a
sumatorului precedent.

4.7. Convertoare de cod

Convertoarele de cod sunt circuite logice combinaţionale care permit trecerea dintr-un
cod binar în altul. Schema circuitului se poate deduce din tabelul de funcţionare sau pe baza
analizei matricei Karnaugh corespunzătoare ieşirilor.
Pentru explicare se va prezenta conversia din codul binar natural în codul binar
reflectat ( codul Gray ) şi reciproc.
Codul Gray se caracterizează prin faptul că trecerea de la un număr la numărul următor
se face prin modificarea unei singure cifre binare a codului. Rezultă deci că în cazul codului
Gray numărarea se face cu un număr minim de tranziţii a cifrelor binare care compun numărul.

4.7.1. Convertorul de cod din codul binar natural în codul binar reflectat

Se consideră cazul unor cuvinte de cod reprezentate pe 4 biţi B3 B2 B1 B0 în codul


binar natural şi se doreşte construcţia unui convertor de cod care să permită trecerea în codul
Gray cu biţii G3 G2 G1 G0 .
Tabelul de funcţionare al circuitului este prezentat în figura următoare.
Din tabel rezultă funcţiile logice care descriu fiecare bit G3 ,G2 , G1 ,G0 .
56 Circuite logice combinaţionale
B3 B2 B1 B0 G3 G2 G1 G0
0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 1
0 0 1 0 0 0 1 1
0 0 1 1 0 0 1 0
0 1 0 0 0 1 1 0
0 1 0 1 0 1 1 1
0 1 1 0 0 1 0 1
0 1 1 1 0 1 0 0
1 0 0 0 1 1 0 0
1 0 0 1 1 1 0 1
1 0 1 0 1 1 1 1
1 0 1 1 1 1 1 0
1 1 0 0 1 0 1 0
1 1 0 1 1 0 1 1
1 1 1 0 1 0 0 1
1 1 1 1 1 0 0 0

G 3  B3
G 2  B2  B3  B 2  B3  B2  B 3
G1  B1  B2  B1  B2  B1  B2
G0  B0  B1  B0  B1  B0  B1

Schema circuitului de conversie se poate desena pe baza relaţiilor deduse astfel :


B3 G3

G2
B2

B1 G1

B0 G0

Fig. 4.20.

O altă posibilitate de scriere a ecuaţiilor care caracterizează ieşirile este ca pe baza


tabelului de funcţionare să se reprezinte matricea Karnaugh corespunzătoare ieşirilor.
B1B0
B3B2 00 01 11 10
00 0 0 0 0
01 0 0 0 0
11 1 1 1 1
10 1 1 1 1

G 3 = B3

B1B0
Circuite logice combinaţionale 57
B3B2 00 01 11 10
00 0 0 0 0
01 1 1 1 1
11 0 0 0 0
10 1 1 1 1

G 2  B2  B3  B2  B3  B2  B3

B1B0
B3B2 00 01 11 10
00 0 0 1 1
01 1 1 0 0
11 1 1 0 0
10 0 0 1 1

G1  B1  B2  B1  B2  B1  B2

B1B0
B3B2 00 01 11 10
00 0 1 0 1
01 0 1 0 1
11 0 1 0 1
10 0 1 0 1

G0  B0  B1  B0  B1  B0  B1

4.7.2. Convertor de cod din cod binar reflectat în cod binar natural
Schema convertorului se poate deduce în principiu urmând algoritmul de la punctul
precedent dar este mai simplu să se determine relaţiile de transformare pe cale analitică.
Din relaţiile deduse anterior, prin însumarea a două, trei sau patru funcţii Gi se obţine :
G 3  B3 B3  G 3
G 2  B2  B3 B2  G 3  G 2
G1  B1  B2 B1  G3  G2  G1
G0  B0  B1 B0  G3  G2  G1  G0
Pe baza acestor relaţii se poate desena schema convertorului de cod.
G3 B3

B2
G2

G1 B1

G0 B0

Fig. 4.21.
4.8. Detectorul şi generatorul de paritate.
58 Circuite logice combinaţionale
În procesul transmiterii informaţiilor numerice pot apărea erori . O metodă simplă de
detectare a acestora constă în utilizarea codurilor detectoare de erori (în care verifică paritatea
sau imparitatea ). Aceste coduri se bazează pe faptul că la emisie se formează un nou cuvânt
de cod prin adăugarea unui bit suplimentar la cei existenţi astfel încât numărul de '' 1 '' din
cuvântul nou format să fie par sau impar. La recepţie se verifică paritatea sau imparitatea
numărului de '' 1 '' din cuvântul recepţionat şi în funcţie de rezultatul verificării se decide
asupra corectitudinii cuvântului recepţionat.
Operaţiile descrise anterior se realizează cu circuite logice combinaţionale denumite
generatoare şi detectoare de paritate. Detectorul elementelor de paritate ( pentru cuvinte de 1
bit ) este circuitul de autocoincidenţă ( sumatorul modulo doi).
Schema unui generator sau detector de paritate ( imparitate ) pentru cuvinte de 4 biţi
este prezentată în figura următoare.

A0
A1 S1
Y1
Y3
S3 Y
Y0 S4
A2
A3 S2
P
Fig. 4.22.
Se observă că sumatorul S1 verifică paritatea biţilor A0, A1 şi S2 paritatea biţilor A2 şi
A3. Rezultatul acestor două verificări este verificat de poarta S3 obţinându-se Y3. Astfel Y3 ia
valoarea 1 dacă cuvântul A0 A1 A2 A3 are un număr impar de unităţi şi nivel logic 0 în caz
contrar.
Circuitul S4 şi comanda P asigură pe ieşirea Y nivel logic 1 sau 0 în funcţie de numărul
unităţilor din cuvântul de cod şi de comanda P aplicată astfel :
- pentru P = 0  Y4 = Y3 şi circuitul este un generator de paritate (ieşirea Y4 este pe
nivelul logic 1 dacă numărul de 1 din cuvântul de la intrare este impar).
- pentru P = 1  Y4 = Y3 şi circuitul este un generator de imparitate ( pe ieşirea Y4
apare nivel logic 1 când numărul de unităţi din cuvântul de intrare este par.
A3
A2
A1
A0

A0 A3
A1 A2
Y Y
A2 A1
A3 A0
P A5 P
Cuvinte de cod Cuvinte de cod Decizie privind
Mesaj corectitudinea
transmis recepţionat

Generator de paritate Detector de paritate

Fig. 4.23.
Circuite logice combinaţionale 59
Schema unui lanţ de transmisie cu verificare la paritate pentru cuvinte de 4 biţi este
prezentată în figura 23.
Pentru cazul unor cuvinte de mai mulţi biţi se poate utiliza în practică circuitul integrat
specializat SN 74180 care este un generator – detector de paritate (imparitate) pe 8 biţi cu
posibilităţi de expandare.
Circuitul este prevăzut cu 2 intrări I şi P care permit funcţionarea în regim de generator
sau detector de paritate ( imparitate ). Corespunzător fiecăreia din cele două funcţii, circuitul
este prevăzut cu 2 ieşiri Yi şi YP . Schema bloc a unui astfel de circuit este :

A0 A1 A2 A3 A4 A5 A6 A7
I YI

P SN 74180 YP

Fig. 4.24.

Prin interconectarea mai multor astfel de circuite se pot realiza detectoare sau
generatoare de paritate cu un număr mai mare de biţi. De exemplu schema pentru un generator
( detector ) de paritate pe 16 biţi este:

A0 A1 A2 A3 A4 A5 A6 A7 A0 A1 A2 A3 A4 A5 A6 A7
I YI I YI

YP P YP
P

Fig. 4.25.

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