Upload
ryan-kidd
View
26
Download
1
Tags:
Embed Size (px)
DESCRIPTION
EE 466/586 VLSI Design. Partha Pande School of EECS Washington State University [email protected]. Lecture 23 Arithmetic circuits (Cont’d). The Binary Multiplication. The Binary Multiplication. Partial-Product Generation. - PowerPoint PPT Presentation
Citation preview
EE 466/586EE 466/586VLSI DesignVLSI DesignPartha Pande
School of EECSWashington State University
Lecture 23Arithmetic circuits (Cont’d)
The Binary MultiplicationThe Binary Multiplication
Z X·· Y Zk2k
k 0=
M N 1–+
= =
Xi2i
i 0=
M 1–
Yj2j
j 0=
N 1–
=
XiYj2i j+
j 0=
N 1–
i 0=
M 1–
=
X Xi2i
i 0=
M 1–
=
Y Yj2j
j 0=
N 1–
=
with
The Binary MultiplicationThe Binary Multiplication
x
Partial products
Multiplicand
Multiplier
Result
1 0 1 0 1 0
1 0 1 0 1 0
1 0 1 0 1 0
1 1 1 0 0 1 1 1 0
0 0 0 0 0 0
1 0 1 0 1 0
1 0 1 1
Partial-Product Generation
Partial products result from the logical AND of multiplicand X with a multiplier bit Yi
Each row in the partial-product array is either a copy of the multiplicand or a row of zeros.
Partial-product array has many zero rows that have no impact on the result.
The Array MultiplierThe Array Multiplier
Y0
Y1
X3 X2 X1 X0
X3
HA
X2
FA
X1
FA
X0
HA
Y2X3
FA
X2
FA
X1
FA
X0
HA
Z1
Z3Z6Z7 Z5 Z4
Y3X3
FA
X2
FA
X1
FA
X0
HA
The MxN Array MultiplierThe MxN Array Multiplier— Critical Path— Critical Path
HA FA FA HA
HAFAFAFA
FAFA FA HA
Critical Path 1
Critical Path 2
Critical Path 1 & 2
Carry-Save MultiplierCarry-Save Multiplier
Multiplication result does not change when the output carry bits are passed diagonally downwards instead of only to the right.
Include an extra adder called a vector-merging adder to generate the final results
Carry-Save MultiplierCarry-Save MultiplierHA HA HA HA
FAFAFAHA
FAHA FA FA
FAHA FA HA
Vector Merging Adder
Multiplier FloorplanMultiplier Floorplan
SCSCSCSC
SCSCSCSC
SCSCSCSC
SC
SC
SC
SC
Z0
Z1
Z2
Z3Z4Z5Z6Z7
X0X1X2X3
Y1
Y2
Y3
Y0
Vector Merging Cell
HA Multiplier Cell
FA Multiplier Cell
X and Y signals are broadcastedthrough the complete array.( )
Wallace-Tree MultiplierWallace-Tree Multiplier
6 5 4 3 2 1 0 6 5 4 3 2 1 0
Partial products First stage
Bit position
6 5 4 3 2 1 0 6 5 4 3 2 1 0
Second stage Final adder
FA HA
(a) (b)
(c) (d)
Wallace-Tree MultiplierWallace-Tree Multiplier
Partial products
First stage
Second stage
Final adder
FA FA FA
HA HA
FA
x3y3
z7 z6 z5 z4 z3 z2 z1 z0
x3y2x2y3
x1y1x3y0 x2y0 x0y1x0y2
x2y2x1y3
x1y2x3y1x0y3 x1y0 x0y
Wallace-Tree Multiplier
FA
FA
FA
FA
y0 y1 y2
y3
y4
y5
S
Ci-1
Ci-1
Ci-1
Ci
Ci
Ci
FA
y0 y1 y2
FA
y3 y4 y5
FA
FA
CC S
Ci-1
Ci-1
Ci-1
Ci
Ci
Ci
The Binary ShifterThe Binary Shifter
Ai
Ai-1
Bi
Bi-1
Right Leftnop
Bit-Slice i
...
The Barrel ShifterThe Barrel Shifter
Sh3Sh2Sh1Sh0
Sh3
Sh2
Sh1
A3
A2
A1
A0
B3
B2
B1
B0
: Control Wire
: Data Wire
Area Dominated by Wiring
The Barrel ShifterThe Barrel Shifter
Number of rows equals the word length of the data Number of columns equals to the maximum shift
width The control wires are routed diagonally through the
array
Full Datapath
Datapath With Control