Professional Documents
Culture Documents
ECE645 Lecture3 Fast Adders
ECE645 Lecture3 Fast Adders
Conditional-Sum Adders
and
Parallel Prefix Network Adders
Required Reading
Behrooz Parhami,
Computer Arithmetic: Algorithms and Hardware Design
6
Conditional Sum Adder:
Top-Level Block for One Bit Position
7
Three Levels of a Conditional Sum Adder
xi+3 yi+3 xi+2 yi+ xi+1 yi+1 xi yi
2
branch point
1-bit conditional
sum block concatenation
c=1 c=0 c=1 c=0 c=1 c=0 c=1 c=0
2 2 2 2 2 2 2 2
1 1
1+1
1 1
2 2 1 1 2 2 1 1
1
2+1
1
2 2
3 3
9
Conditional Sum Adder Metrics
10
Parallel Prefix Network
Adders
Parallel Prefix Network Adders
Basic component - Carry operator (1)
g p
B” B’
B
g” p” g’ p’
g = g” + g’p”
p = p’p”
B
g” p” g’ p’
g = g” + g’p”
p = p’p”
Associative
[(g1, p1) ¢ (g2, p2)] ¢ (g3, p3) = (g1, p1) ¢ [(g2, p2) ¢ (g3, p3)]
Not commutative
14
Parallel Prefix Network Adders
Major concept
Given:
(g0, p0) (g1, p1) (g2, p2) …. (gk-1, pk-1)
Find:
block generate
from index 0
ci = g[0,i-1] + c0p[0,i-1] to k-1
15
Similar to Parallel Prefix Sum Problem
17
Parallel Prefix Sums Network I – Cost (Area)
Analysis
18
Parallel Prefix Sums Network I – Delay Analysis
Example:
D(16) = D(8) + 1 = [D(4) + 1] + 1 =
= D(4) + 2 = [D(2) + 1] + 2 =
= 4 = log2 16
19
Parallel Prefix Sums Network II (Brent-Kung)
20
Parallel Prefix Sums Network II – Cost (Area)
Analysis
21
Parallel Prefix Sums Network II – Delay Analysis
Example:
D(16) = D(8) + 2 = [D(4) + 2] + 2 =
= D(4) + 4 = [D(2) + 2] + 4 =
= 7 = 2 log2 16 - 1
22
8-bit Brent-Kung Parallel Prefix Network
x7 x6 x5 x4 x3 x2 x1 x0
s7 s6 s5 s4 s3 s2 s1 s0 23
4-bit Brent-Kung Parallel Prefix Network
s7 ’ s5 ’ s3 ’ s1 ’
24
8-bit Brent-Kung Parallel Prefix Network Adder
x7 y 7 x6 y 6 x5 y 5 x4 y 4 x3 y 3 x2 y 2 x1 y 1 x0 y 0
GP GP GP GP GP GP GP GP
g7,p7 g6,p6 g5,p5 g4,p4 g3,p3 g2,p2 g1,p1 g0,p0
c c c c
c c
c critical
path
c c c
C C C C C C C C
p0
c8 c7 p7 c 6 p6 c 5 p5 c 4 p4 c 3 p3 c 2 p2 c 1 p1
S S S S S S S S
s7 s6 s5 s4 s3 s2 s1 s0 25
Critical Path
GP
gi = xi yi
pi = xi yi 1 gate delay
c
g = g” + g’ p”
2 gate delays
p = p’ p”
C
ci+1 = g[0,i] + c0 p[0,i] 2 gate delays
S si = pi ci 1 gate delay
26
Brent-Kung Parallel Prefix Graph for 16 Inputs
27
Kogge-Stone Parallel Prefix Graph for 16 Inputs
28
Parallel Prefix Network Adders
Comparison of architectures
Network 2 Hybrid Kogge-Stone
Brent-Kung
Delay(k) 2 log2k - 2 log2k+1 log2k
Cost(k) 2k - 2 - log2k k/2 log2k k log2k - k + 1
Delay(16) 6 5 4
Cost(16) 26 32 49
Delay(32) 8 6 5
Cost(32) 57 80 129
29
Latency vs. Area Tradeoff
30
Hybrid Brent-Kung/Kogge-Stone Parallel Prefix
Graph for 16 Inputs
31