Professional Documents
Culture Documents
Design
Fall 2004
Adders
Jay Brockman
[Adapted from Mary Jane Irwin and Vijay Narananan, CSE Penn State
and Rabaey’s Digital Integrated Circuits, ©2002, J. Rabaey et al.]
A B
Sum
A B
Sum
S = A B Ci
A0 B0 A1 B1 A2 B2 A3 B3
S0 S1 S2 S3
VDD
VDD
Ci A B
A B
A
B
Ci B
VDD
A
X
Ci
Ci A
Ci
A B B VDD
A B Ci A
Co B
28 Transistors
CSE/EE 462 L14 Adders.6 Brockman, ND, 2004
Inversion Property
A B A B
Ci FA Co Ci FA Co
S S
S A B C i = S A B Ci
C o A B C i = Co A B Ci
A0 B0 A1 B1 A2 B2 A3 B3
S0 S1 S2 S3
VDD
VDD VDD A
A B B A B Ci B
Kill
"0"-Propagate A Ci
Co
Ci S
A Ci
"1"-Propagate Generate
A B B A B Ci A
24 transistors
Stick Diagram
VDD
A B Ci B A Ci Co Ci A B
Co
GND
CSE/EE 462 L14 Adders.10 Brockman, ND, 2004
The Mirror Adder
P
VDD
VDD Ci
A
P S Sum Generation
A A P Ci
A P VDD
B B
VDD A
P
P Co Carry Generation
Ci Ci Ci
A
Setup P
VDD
Pi
VDD
Pi
Ci Co
Gi
Co Gi
Ci
Di
Pi
pseudo-NMOS load
P0 P1 P2 P3 P4
Ci,0
G0 G1 G2 G3 G4
VDD
P0 P1 P2 P3
C3
Ci,0
G0 G1 G2 G3
C0 C1 C2 C3
Stick Diagram
Propagate/Generate Row
VDD
Pi Gi Pi + 1 Gi + 1
Ci - 1 Ci Ci + 1
GND
Inverter/Sum Row
P0 G1 P0 G1 P2 G2 P3 G3 Also called
Carry-Skip
Ci,0 C o,0 C o,1 Co,2 Co,3
FA FA FA FA
P0 G1 P0 G1 P2 G2 P3 G3
BP=P oP1 P2 P3
Ci,0 C o,0 Co,1 C o,2
FA FA FA FA
Multiplexer
Co,3
M bits
tp
ripple adder
bypass adder
4..8
N
Cout Cin
skip level 1
AND of the
skip level 2 first level skip
signals (BP’s)
CSE/EE 462 L14 Adders.20 Brockman, ND, 2004
Carry-Skip Adder Comparisons
70
60
50
40 RCA
CSkA
30 B=6 VSkA
B=5
20 B=4
B=2 B=3
10
0
8 bits 16 bits 32 bits 48 bits 64 bits
Setup
P,G
Carry Vector
Sum Generation
(1)
Bit 0-1 Bit 2-4 Bit 5-8 Bit 9-13 Bit 14-19
50
40 Ripple adder
tp (in unit delays)
30
Linear select
20
10
Square root select
0
0 20 40 60
N
Ci,0 P0 Ci,1 P1
Ci, N-1 PN-1
S0 S1 ••• SN-1
C o k = f A k B k Co k – 1 = Gk + P k Co k – 1
C o k = Gk + Pk Gk – 1 + Pk – 1 Co k – 2
G2
G1
All the way:
G0
C o k = Gk + Pk Gk – 1 + P k – 1 + P1 G0 + P0 Ci 0
Ci,0
Co,3
P0
P1
P2
P3
€ is associative, i.e.,
[(g’’’,p’’’) € (g’’,p’’)] € (g’,p’) = (g’’’,p’’’) € [(g’’,p’’) € (g’,p’)]
€ €
€ €
€ € € € € € € € €
T = log2N
Parallel Prefix Computation
€ € € €
A = 2log2N
€ €
€ €
T = log2N - 2
€ € €
€ € € € € € €
€ € € € € € € € € € € € € € € €
Parallel Prefix Computation
€ € € € € € € € € € € € € €
A = log2N
T = log2N
€ € € € € € € € € € € €
€ € € € € € € €
70
60
50
RCA
40
CSkA
30 VSkA
KS PPA
20
10
0
8 bits 16 bits 32 bits 48 bits 64 bits