Académique Documents
Professionnel Documents
Culture Documents
CMOS VLSI
Design
Lecture 12:
Datapath Functional Units
Credits: David Harris
Harvey Mudd College
A7
A6
A5
A4
A3 allones
A2
A1
A0
B[3]
A[3]
B[2]
A[2] A=B
B[1]
A[1]
B[0]
A[0]
A2 Z
A=B
B1
A1
B0
A0
2N-1 N-1 0
B C
+
10101
+
10111
C4 S4 C3 S3 C2 S2 C1 S1
XN...1 YN...1 ZN...1
n-bit CSA
CN...1 SN...1
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
partial products
multiplier x
x15
x0
x1
CSA
Array
x2
x3
CPA
p7 p6 p5 p4 p3 p2 p1 p0
A B
Sin A Cin critical path A B
A B
B Sin
= Cout Cin = Cout Cin
Cout Cin
Sout
Cout Sout Sout
Sout
x0
p0
x1
p1
x2
p2
x3
p3
p7 p6 p5 p4
Xi x2i-1
x2i
2Xi
x2i+1
Mi
Booth
Encoder
Booth
Selector
PPij
multiplier x
s s s s
s s PP3
s
PP4
PP5
PP6
PP7 x15
0 x16
PP8
0 x17
s s s PP0
1 s s PP1
1 s s PP2
1 s s PP3
1 s s PP4
1 s s PP5
1 s s PP6
s s PP7
s PP8