Documente Academic
Documente Profesional
Documente Cultură
ASDN Curs 6 - 1
ASDN Curs 6 - 1
Circuitele logice de comparare pot furniza informaţii despre relaţiile în care se află două
numere A şi B codificate binar (natural): egal (A = B), mai mic (A < B), mai mare (A > B).
Comparatoarele pentru indicarea egalităţii se pot realiza cu porţi logice de tipul XOR sau
NXOR. În Fig. 4.28 sunt prezentate comparatoare simple, pe un bit, pentru indicarea egalităţii (a) sau
a inegalităţii (b).
În tabelul 4.6 sunt prezentate funcţia egalitate (EQ) şi funcţia inegalitate (INEQ) pentru un bit.
Utilizând mai multe porţi de acest tip se pot realiza comparatoare pentru indicarea egalităţii pe mai
mulţi biţi (Fig. 4.29). În acest caz, EQ = 1 dacă sunt îndeplinite simultan condiţiile: A0 = B0, A1 = B1, A2 =
B2 şi A3 = B3
A B EQ INEQ
0 0 1 0
0 1 0 1
1 0 0 1
1 1 1 0
Se precizează că:
ALTB OUT = 1, dacă (A < B la nivelul actual) sau [(A = B la nivelul actual) şi (ALTB IN = 1)];
AGRB OUT = 1, dacă (A > B la nivelul actual) sau [(A= B la nivelul actual) şi (AGRB IN = 1)]
În cuvântul binar de ieşire, unul şi numai unul singur dintre cei trei biţi este egal cu 1.
Fig. 4.31. Comparator pe 12 biţi realizat cu trei comparatoare pe 4 biţi standard (de tip 74x85).
În cazul codurilor detectoare de erori, bazate pe bit de paritate, este posibilă detectarea
parităţii/imparităţii numărului de biţi ai cuvântului de cod. Ţinând seama de structura cuvântului de
cod, nerespectarea parităţii/imparităţii impuse semnifică apariţia unei erori în cuvântul respectiv.
Această problemă se poate rezolva simplu, printr-o operaţie de tip SAU EXCLUSIV asupra biţilor
componenţi ai cuvântului de cod.
Fie în acest sens x0, x1, ...., xn-1 biţi unui cuvânt de cod. Se poate cosidera funcţia logică
IMPAR(x0, x1, ...., xn-1) care ia valoarea 1 dacă:
x0 x1 ... xn−1 = 1
Analog, se poate considera funcţia logică PAR(x0, x1, ...., xn-1), care ia valoarea 1 dacă :
x0 x1 ... xn−1 = 0
Având în vedere faptul că porţile XOR elementare sunt realizate în varianta cu două intrări, o
schemă pentru determinarea imparităţii/parităţii conţine mai multe astfel de porţi ce pot fi
conectate în mai multe moduri. Unul dintre ele, bazat pe simetria circuitului, este prezentat în Fig.
4.32.
Astfel de porţi sunt integrate pe o singură capsulă (cazul circuitului de paritate 74x280,
pentru cuvinte de opt biţi).
Ieşirea circuitului din Fig. 4.32 este y=1, pentru un număr impar de 1-uri (detector de
imparitate).
Pentru ca acest sumator elementar să poată fi utilizat la implementarea unui sumator pe mai
mulţi biţi este necesară încă o intrare şi anume transportul din rangul inferior Cin. În acest caz, C = Cout
(Tabelul 4.8) iar sumatorul pe un bit se numeşte sumator complet. Simbolul unui sumator complet
este dat în Fig. 4.34.
A B S C
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
operand x operand y
A B transport
C
Σ
sumă
S
Fig. 4.33. Simbol unui semisumator.
Funcţiile logice corespunzătoare lui S (4.5) şi COUT (4.6) se pot implementa direct din tabelul
de adevăr, considerând FCD:
S = A'B'C IN + A'B C IN
'
+ A B'C IN
'
+ A B C IN (4.6)
Tabelul 4.8. Tabelul de adevăr pentru un sumator complet pe un bit.
A B Cin S Cout
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
operand x operand y
A B
transport din CIN COUT transport în
rangul inferior rangul superior
Σ
sumă
S
Fig. 4.34. Simbol unui sumator complet pe un bit.
Expresiile celor două funcţii logice pot fi simplificate utilizând proprietăţile algebrei logice şi
porţi de tip XOR. Astfel, relaţia (4.5) devine:
A'B'+ A B = (( A'B'+ A B)' )' = (( A'B' )'( A B)' )' = (( A + B) ( A'+ B' ))' =
= A B C IN (4.9)
Implementarea celor două funcţii logice Cout şi S este reprezentată prin circuitul logic
combinaţional din Fig. 4.35.
Fig. 4.35. Implementare funcţiilor S şi Cout.
O altă expresie pentru Cout se poate obţine prin minimizarea funcţiei logice (4.5) cu ajutorul
diagramelor Karnaugh (Fig. 4.36).
Adunarea a două numere binare pe mai mulţi biţi se face, utilizând transportul în rangul
următor, după regula obişnuită.
Observaţie
Conform observaţiei precedente, pentru a putea realiza sumatoare pe mai mulţi biţi
sumatoarele complete pe un bit pot fi conectate în cascadă pe liniile de transport. Astfel, în Fig. 4.37
se prezintă un sumator pe n biţi obţinut prin legarea în cascadă a n sumatoare complete de un bit.
Fig. 4.37. Sumator pe n biţi obţinut prin legarea în cascadă a n sumatoare complete pe un bit.
Sumatorul de mai sus prezintă dezavantajul că, prin legarea in cascadă semnalul de transport
este întârziat foarte mult, proporţional cu numărul de celule conectate. Prin întârzierea semnalului
de transport apar semnale de ieşire false pe durata regimului tranzitoriu.
Pentru un număr mic de biţi (de exemplu, patru biţi) se poate realiza o schemă de sumator ce
calculează Ci direct din Aj, Bj şi C0, j = 0,1,...,i-1, ocolind legarea în cascadă a sumatoarelor pe un bit.
Aceste sumatoare se numesc sumatoare cu anticiparea transportului sau sumatoare rapide (de
exemplu, sumatorul pe patru biţi 74x283).
În figură, CLCi este un circuit logic combinaţional pentru calculul direct al transportului Ci.
Acesta se bazează pe relaţia de recurenţă obţinută din (4.10). S-a considerat: COUT = Cn, CIN = Cn-1, A =
An-1, B = Bn-1.
C1 = A0 B0 + C0 ( A0 + B0 )
C 2 = A1 B1 + C1 ( A1 + B1 ) = A1 B1 + A0 B0 ( A1 + B1 ) + C0 ( A0 + B0 ) ( A1 + B1 )
C3 = A2 B2 + C2 ( A2 + B2 ) = A2 B2 + A1 B1 ( A2 + B2 ) +
+ A0 B0 ( A2 + B2 ) ( A1 + B1 ) + C0 ( A2 + B2 ) ( A1 + B1 ) ( A0 + B0 )
Schema unui sumator rapid, integrat, pe patru biţi (74x283) este prezentată în Fig. 4.39.
Semnificaţia notaţiilor sunt următoarele: C0 - intrarea de transport, A3, A2, A1, A0 - biţii primului
operand, B3, B2, B1, B0 - biţii celui de-al doilea operand, S3, S2, S1, S0 – biţii sumei (ieşirea), C4 –ieşirea
de transport.
Observaţie
Considerând MSB bitul de semn (𝑥7 pentru x şi 𝑦7 pentru y), se poate semnaliza depăşirea
formatului de opt biţi, examinând cele două situaţii din tabelul de adevăr: prima, când se adună două
numere pozitive şi bitul de semn rezultat (𝑠7 ) este 1, şi a doua, când se adună două numere negative
şi bitul de semn rezultat este 0 (Tabelul 4.9).
Tabelul 4.9. Tabelul de adevăr pentru funcţia Detector de depăşire (DD) (overflow)
Circuitul logic prin care este implementată această funcţie este prezentat în Fig. 4.42.
Circuitul integrat 74x381, ALU de patru biţi este prezentat în Fig. 4.43, iar funcţiile realizate, în
Tabelul 4.10.
Funcţia realizată de circuitul integrat 74x381 este selectată cu ajutorul intrărilor S2, S1, S0.
Cuvintele binare A şi B, care reprezintă cei doi operanzi, au biţii A3, A2, A1, A0, şi, respectiv, B3, B2, B1,
B0. De asemenea, există o intrare de transport CIN şi două ieşiri active în 0, G şi P, utilizate pentru
generarea transportului anticipat în rangul următor, cu ajutorul circuitului integrat 74x182.
A3
B3
De exemplu, pentru înmulţirea a două numere de patru biţi: x3x2x1x0 şi y3y2y1y0, se aplică
schema din Fig. 4.44.
x3 y 0 x2 y0 x1 y0 x0 y0
+ + +
x3 y1 x2 y1 x1 y1 x0 y1
+ + +
x3 y 2 x2 y 2 x1 y 2 x0 y 2
+ + +
x3 y3 x2 y3 x1 y3 x0 y3
P7 P6 P5 P4 P3 P2 P1 P0