Professional Documents
Culture Documents
• Conditional-Sum adder
• Carry-Save Adder
• Manchester carry-chain Adder
• Parallel-Prefix Adders
Conditional-Sum Adder
C4 S4 C3 S3 C2 S2 C1 S1
XN...1 YN...1 ZN...1
n-bit CSA
CN...1 SN...1
n-bit Carry-save Adder
• Used in the situations whenever multiple operands need
to be added.
• An n-bit CSA can accept three n-bit inputs and yield two
n-bit outputs, representing the sum and carry portions of
the three input operands, respectively.
• To obtain the true result, a carry-propagate adder (CPA)
is used to combine both output sum and carry together.
• CSA is also referred to as a 3:2 compressor (because it
counts the number of 1s in the three single-bit inputs and
indicates the result on the two single-bit outputs).
• In the multiplication section, many examples using CSAs
to construct efficient multipliers are concerned.
n-bit Carry-save Adder
CSA Application: Multi-input Adders
• Use k-2 stages of CSAs
– Keep result in carry-save redundant form
• Final CPA computes actual result
0001 X
0001 0111 1101 0010 0111 Y
+1101 Z
4-bit CSA 1011 S
0101_ C
0101_ 1011
0101_ X
5-bit CSA 1011 Y
+0010 Z
S
C
+
A
B
S
CSA Application: Multi-input Adders
0001 X
0001 0111 1101 0010 0111 Y
+1101 Z
4-bit CSA 1011 S
0101_ C
0101_ 1011
0101_ X
5-bit CSA 1011 Y
+0010 Z
01010_ 00011 00011 S
01010_ C
+
01010_ A
+ 00011 B
S
CSA Application: Multi-input Adders
0001 X
0001 0111 1101 0010 0111 Y
+1101 Z
4-bit CSA 1011 S
0101_ C
0101_ 1011
0101_ X
5-bit CSA 1011 Y
+0010 Z
01010_ 00011 00011 S
01010_ C
+
01010_ A
10111 + 00011 B
10111 S
Manchester Carry-chain Adder
• It uses a cascade of pass transistors to implement carry chain.
ci+1 = gi + pici
Gi:k Gi:k
Gi:j Gi:j
Pi:k Pi:k Gi:j Gi:j
Gk-1:j Gk-1:j
Pi:j Pi:j
Pi:j
Pk-1:j
Brent-Kung
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
15:8 7:0
11:0
15:0 14:0 13:0 12:0 11:0 10:0 9:0 8:0 7:0 6:0 5:0 4:0 3:0 2:0 1:0 0:0
Sklansky
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
15:0 14:0 13:0 12:0 11:0 10:0 9:0 8:0 7:0 6:0 5:0 4:0 3:0 2:0 1:0 0:0
Kogge-Stone
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
15:14 14:13 13:12 12:11 11:10 10:9 9:8 8:7 7:6 6:5 5:4 4:3 3:2 2:1 1:0
15:12 14:11 13:10 12:9 11:8 10:7 9:6 8:5 7:4 6:3 5:2 4:1 3:0 2:0
15:8 14:7 13:6 12:5 11:4 10:3 9:2 8:1 7:0 6:0 5:0 4:0
15:0 14:0 13:0 12:0 11:0 10:0 9:0 8:0 7:0 6:0 5:0 4:0 3:0 2:0 1:0 0:0
Han-Carlson
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
15:0 14:0 13:0 12:0 11:0 10:0 9:0 8:0 7:0 6:0 5:0 4:0 3:0 2:0 1:0 0:0
Knowles
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
15:14 14:13 13:12 12:11 11:10 10:9 9:8 8:7 7:6 6:5 5:4 4:3 3:2 2:1 1:0
15:12 14:11 13:10 12:9 11:8 10:7 9:6 8:5 7:4 6:3 5:2 4:1 3:0 2:0
15:8 14:7 13:6 12:5 11:4 10:3 9:2 8:1 7:0 6:0 5:0 4:0
15:0 14:0 13:0 12:0 11:0 10:0 9:0 8:0 7:0 6:0 5:0 4:0 3:0 2:0 1:0 0:0
Ladner-Fischer
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
15:0 14:0 13:0 12:0 11:0 10:0 9:0 8:0 7:0 6:0 5:0 4:0 3:0 2:0 1:0 0:0
Comparison of Adder Architectures
Area vs. Delay of Adders
Summary
• Addition plays very important roles in arithmetic
operations, including subtraction, multiplication, and
division.
• The performance bottleneck of an n-bit adder lies on the
generation of carriers needed in all stages.
• To remove the bottleneck, a variety of addition
algorithms are proposed,
• carry-skip adder, carry-select adder, conditional-sum
adder, carry-save adder, parallel-prefix adders…
Agenda Contd …
M 1 N 1
N 1 M 1
• Product: P y j 2 j xi 2i xi y j 2i j
j 0 i 0 i 0 j 0
y5 y4 y3 y2 y1 y0 multiplicand
x5 x4 x3 x2 x1 x0 multiplier
x0y5 x0y4 x0y3 x0y2 x0y1 x0y0
x1y5 x1y4 x1y3 x1y2 x1y1 x1y0
x2y5 x2y4 x2y3 x2y2 x2y1 x2y0 partial
x3y5 x3y4 x3y3 x3y2 x3y1 x3y0 products
x4y5 x4y4 x4y3 x4y2 x4y1 x4y0
x5y5 x5y4 x5y3 x5y2 x5y1 x5y0
p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0 product
4*4 Array Multiplier
Unsigned 4×4 (n x m) Array Multiplier
Carry-save Multiplier
Comparisons
• Propagation delay of critical path (first two rows
combined) of array multiplier is 9TFA
• Propagation delay of critical path of carry save multiplier
is 7TFA
• Generalize for n x m bit.
Parallel Multiplier
Multiplicand: Y = (yM-1, yM-2, …, y1, y0)
Multiplier: X = (xN-1, xN-2, …, x1, x0)
M 1 N 1
N 1 M 1
Product:
P y j 2 j xi 2i xi y j 2i j
j 0 i 0 i 0 j 0
Braun Multiplier
Only for unsigned multiplication
Structure of 4x4 Braun Multiplier