Sunteți pe pagina 1din 7

Sumatorul cu salvarea transportului 58

9. SUMATORUL CU SALVAREA TRANSPORTULUI

Sumatorul cu salvarea transportului (Carry Save Adder - CSA) se utilizeză în


situaţiile în care se doreşte adunarea a mai mult de doi operanzi. Se realizează din
celule de însumare clasice independente.
În figura 9.1 este prezentată schema bloc a unui sumator cu salvarea
transportului care adună simultan patru operanzi reprezentaţi pe câte trei biţi fiecare:
A = a2a1a0, B = b2b1b0, D = d2d1d0, E = e2e1e0
a2 b2 d2 a1 b1 d1 a0 b0

d0
etapa 1
+ + +
c30 c20 c10
0 0 e2 S20 e1 S10 e0 S00

0
etapa 2
+ + + +
c41 c31 c21 c11
0 0 0 0 S0
S31 S21 0 S11

etapa 3
+ + + +
c42 c32 c22
0 S42 S1
0 S32 0 S22
2

+ + + etapa 4

c43 c33
0 S43 S332 S2
0

+ + etapa 5

0 c44 S3
S44

+ etapa 6
S4
Fig. 9.1. Schema bloc a unui sumator CSA.
59 Sumatorul cu salvarea transportului - 9

Celulele de însumare sunt independente, transportul nu se propagă de la o


celulă la alta. Schema din figura 9.1 este realizată în baza unui algoritm redat în figura
9.2. Schema de implementare cu porţi logice a unei celule de însumare este prezentată
în figura 9.3.

a2 a1 a0 +
b2 b1 b0 etapa 1
d2 d1 d0
s20 s10 s00 +
c30 c20 c10 0 etapa 2
e2 e1 e0
s31 s21 s11 s0 + si
c31 c21 c11 etapa 3
0 0 0 0
s32 s22 s1 +
c42 c32 c22 etapa 4 ci
ci+1
0 0 0
s43 s33 s2 +
c43 c33 etapa 5
0 0
s44 s3 +
c44 ai bi
etapa 6
0
s4

Fig. 9.2. Algoritm de însumare CSA.


Fig. 9.3. Celulă de însumare pe un bit.

Pentru realizarea corectă a însumării se adaugă rânduri de celule de însumare


până când semnalul de transport ajunge la nivel logic “0”.

Aplicaţia 1
Să se construiască şi să i se simuleze funcţionarea unui dispozitiv care
înmulţeşte două numere binare realizat cu sumator CSA.
Să luăm ca exemplu înmulţirea a două numere de câte trei biţi X = x 2x1x0 şi Y=
= y2y1y0.
În urma înmulţirii a două numere pe câte trei biţi rezultă, conform algoritmului
prezentat anterior, 9 produse parţiale.
Pentru facilitarea calculelor se utilizează următoarele notaţii:

a2 = x2y0, a1 = x1y0, a0 = x0y0


b2 = x2y1, b1 = x1y1, b0 = x0y1
d2 = x2y2, d1 = x1y2, d0 = x0y2

Se urmăreşte următorul algoritm:


Sumatorul cu salvarea transportului 60

x2 x1 x0  x2 x1 x0 
y2 y1 y0 y2 y1 y0
x2y0 x1y0 x0y0 a2 a1 a0 +
x2y1 x1y1 x0y1 b2 b1 b0 etapa 1
x2y2 x1y2 x0y2 d2 d1 d0
s40 s30 s20 s10 s00 +
c40 c30 c20 c10 etapa 2
0 0 0 0
s41 s31 s21 s11 +
c51 c41 c31 c21 etapa 3
0 0 0 0
s52 s42 s32 s22 +
c52 c42 c32 etapa 4
0 0 0
s53 s43 s33 +
c63 c53 c43 etapa 5
0 0 0
s54 s44

Fiecare celulă de însumare (prezentată detaliat în figura 9.4) a fost realizată în


structură integrată prin programul de simulare. Rezultatul final al înmulţirii se obţine
prin adunarea produselor parţiale cu ajutorul unui sumator cu salvarea transportului.
Pentru realizarea produselor parţiale se utilizează porţi ŞI cu două intrări (figura 9.6).

I01

IO2

IO3 IO4
U24A IO4
2 IO5
IO3
U22A
74S08D 74AS86M
U25A U23A
5 I01
U27A
3 IO2
74AS04M 7427N 1
74S08D
4
U26A
U28A 74AS86M

74S08D
IO5

Fig. 9.4. Schema unei celule de însumare.


61 Sumatorul cu salvarea transportului - 9

0 0 0 0 d2 b2 0 d1 a2 b1 d0 a1 b0 0 a0 0 0

+ + + + + +
c30 c20
0 c40 0
0 0 0 S40 0 S30 0 S20 0 S10 0 S00
0

+ + + + + +
c51 c41 c31 c11
0
0 S41 0 0 0 S00
0 0 S31 S21 0 S11
0

+ + + + + +
c42 c22
0 S52 c52 0 0 S11 0 S00
0 S42 0
0 S322 S222 0
0
+ + + + + +
0 c33
S53 0 S22 0 S11 0 S00
0 0 S43 0 S33 0
0
0

+ + + + + +

S54

Fig. 9.5. Multiplicator realizat cu celule de însumare CSA (celulele albe sunt neutilizate).

Operanzii X şi Y se generează binar prin intermediul unor comutatoare cu


două poziţii conectate la o sursă de tensiune continuă de 5V, respectiv la masă.
Celula de însumare realizată în structură integrată (figura 9.4) are trei pini de
intrare (IO1, IO2, IO3) prin care se introduc cei trei operanzi şi doi linii de ieşire IO4-
semnal de sumă, IO5-semnal de transport.

Aplicaţia 2
Să se construiască un sumator care adună mai mult de doi operanzi cu
economie de celule de însumare.
Una din soluţiile acestei aplicaţii este un sumator hibrid CSA-RCA care se
bazează pe următoarea idee: se utilizează celule CSA pentru introducerea operanzilor
şi celule RCA pentru propagarea transportului cu un minim de circuite de însumare.
Sumatorul cu salvarea transportului 62
X2 X1 X0 Y2 Y1 Y0
V1 Key = 1 Key = 2 Key = 3 Key = 4 Key1 = 50 Key = 6
5V

0
x0 y0
x2
x1

y1
y2
U183A U184A U185A U186A U187A U188A U189A U190A U191A
74S08D 74S08D 74S08D 74S08D 74S08D 74S08D 74S08D 74S08D 74S08D
d2 d1 d0 b2 b1 b0 a2 a1 a0
d0

d2 b2 a1
b1 a0
d1
b0
a2
X5 X4 X3 X2 X1
IO1 I01 IO4 IO4 IO1 I01 IO4 IO4 IO1 I01 IO4 IO4 IO1 I01 IO4 IO4 IO1 I01 IO4 IO4
IO2 IO2 IO5 IO5 IO2 IO2 IO5 IO5 IO2 IO2 IO5 IO5 IO2 IO2 IO5 IO5 IO2 IO5 IO5
0 IO3 IO3 0 IO3 IO3 IO3 IO3 0 IO3 IO3 0 IO3 IO2
IO3 2

sum sum sum sum sum


s30 c20 3
s40 c30 s0
c40 s20
X10 X9 X8 5V
0 IO1 I01 IO4 IO4 IO1 I01 IO4 IO4 IO1 I01 IO4 IO4
IO2 IO2 IO5 IO5 IO2 IO2 IO5 IO5 IO2 IO2 IO5 IO5
IO3 IO3 0 IO3 IO3 0 IO3 IO3

s1
sum sum sum 4
c51 s31
s41 c31 5V
c41

X28 X14 X13


IO1 I01 IO4 IO4 IO1 I01 IO4 IO4 IO1 I01 IO4 IO4
IO2 s2
0 IO3 IO2 IO5 IO5 0
IO2 IO2 IO5 IO5 0
IO2 IO2 IO5 IO5
IO3 IO3 IO3 IO3 IO3

5V
sum sum sum 5
s42
s52 c42
c52

X29 X17
IO1 I01 IO4 IO4 IO1 I01 IO4 IO4
IO2 IO2 s3
0 IO5 IO5 0
IO2 IO2 IO5 IO5
IO3 IO3 IO3 IO3

6 5V
sum c53 sum

s53
s4
X30
IO1 I01 IO4 IO4
IO2 IO2 IO5 IO5
0 IO3 IO3 5V
7

sum

s5

5V

Fig. 9.6. Simularea funcţionării circuitului de înmulţire.


63 Sumatorul cu salvarea transportului - 9

Fie operanzii pe câte trei biţi:


A = a2a1a0
B = b2b1b0
D = d2d1d0
E = e2e1e0

Redăm în continuare algoritmul după care se proiectează sumatorul.


a2 a1 a0 +
b2 b1 b0 Operaţii efectuate de sumatoare
etapa 1
d2 d1 d0 conectate în structură CSA.
s30 s20 s10 s00 +
etapa 2 c30 c20 c10 0
e2 e1 e0
s41 s31 s21 s11 s0 + Operaţii efectuate de sumatoare
etapa 3 c41 c31 c21 c11 conectate în structură RCA.
0 0 0 0
s4 s3 s2 s1

Figura 9.7 prezintă schema bloc a unui sumator hibrid CSA-RCA care adună
cei patru operanzi pe câte trei biţi.

0 0 0 0 a2 b2 a1 b1 a0 b0
0 0 d2 d1 d0
CSA

+ + + + +
c30 c20 c10
0
0 S40 0 S30 e2 S20 e1 S10 e0 S00
0

+ + + + +
c41 c31 c21 c11
S0
S41 S31 S21 S11
RCA

c42 c32 c22


+ + + +

S4 S3 S2 S1

Fig. 9.7. Schema bloc a unui sumator hibrid CSA-RCA.

În figura 9.8 este prezentată schema de simulare a sumatorului hibrid.


Sumatorul cu salvarea transportului 64

A2 A1 A0 B2 B1 D1 D0 E2 E1 E0
V1 Key1 = 10 Key = 2 Key = 3 Key = 4 Key = 5 B0 D2 Key = 8 Key = 9 Key = A Key = B Key = D
5V
Key = 6 Key = 7
0

b0
a0
a1
b1 d1
a2 do
b2

d2

X5 X4 X3 X2 X1
IO1 0 e1 e0
0 IO2 op1 IO4 IO4 IO1 op1 IO4 IO4 IO1 op1 IO4 IO4 IO1 op1 IO4 IO4 IO1 op1 IO4 IO4
IO2 IO5 IO5 IO2 IO2 IO5 IO5 IO2 IO2 IO5 IO5 IO2 IO2 IO5 IO5 IO2 IO2 IO5 IO5
IO3 IO3 IO3 IO3 IO3 IO3 IO3 IO3 IO3 IO3

sum sum sum sum sum


s30 c20 s00
s40 c30 s10
c40 s20 c10
X10 X9 X8 X7 X6
0 IO1 op1 IO4 IO4 IO1 op1 IO4 IO4 IO1 op1 IO4 IO4 IO1 op1 IO4 IO4 IO1 op1 IO4 IO4
IO2 IO2 IO5 IO5
7 IO2 IO5 IO5 IO2 IO2 IO5 IO5 IO2 IO2 IO5 IO5
0 IO2 IO2 IO5 IO5
IO3 IO3 0 IO3 IO2
IO3 IO3 IO3 IO3 IO3 IO3 IO3

sum sum sum sum sum


s31 e2
s41 c31 2
c41 s21
c21
s11
c11
X14 X13 X12 X11
IO1 op1 IO4 IO4 IO1 op1 IO4 IO4 IO1 op1 IO4 IO4 IO1 op1 IO4 IO4
IO2 IO2 IO5 IO5 IO2 IO2 IO5 IO5 IO2 IO2 IO5 IO5 IO2 IO5 IO5
IO3 IO3 IO3 IO3 IO3 IO3 0 IO3 IO2
IO3
6 5 4 3
s0
sum c42 sum sum c22 sum
c32
5V
s4 s2 s1
s3

5V 5V 5V
5V

Fig. 9.8. Simularea funcţionării sumatorului hibrid CSA-RCA.

Operanzii se introduc prin intermediul unor comutatoare cu două poziţii


conectate la o sursă de tensiune continuă de 5V, respectiv la masă. Proiectarea
sumatorului s-a făcut conform algoritmului prezentat. Primele două rânduri de celule
sunt conectate în manieră CSA, iar ultimul în manieră RCA.

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