Escolar Documentos
Profissional Documentos
Cultura Documentos
ECE645 Lecture7 Tree Multipliers
ECE645 Lecture7 Tree Multipliers
Behrooz Parhami,
Computer Arithmetic: Algorithms and Hardware Design
a Multiplicand ak-1ak-2 . . . a1 a0
x Multiplier xk-1xk-2 . . . x1 x0
p Product (a x) p2k-1p2k-2 . . . p2 p1 p0
Multiplication of two 4-bit unsigned
binary numbers in dot notation
Basic Multiplication Equations
k-1
p=ax x = xi 2i
i=0
k-1
p = a x = a xi 2i =
i=0
= x0a20 + x1a21 + x2a22 + … + xk-1a2k-1
Unsigned Multiplication
a4 a3 a2 a1 a0
x x4 x3 x2 x1 x0
p9 p8 p7 p6 p5 p4 p3 p2 p1 p0
Full tree multiplier - general structure
7 x 7 tree multiplier
A slice of a balanced-delay tree for 11 inputs
Tree multiplier
with a more regular structure
Unsigned vs. Signed Multiplication
Unsigned Signed
1111 15 1111 -1
x 1111 x 15 x 1111 x -1
12
2’s Complement Multiplication (1)
-24 23 22 21 20
a4 a3 a2 a1 a0
x x4 x3 x2 x1 x0
24 23 22 21 20
-a4 a3 a2 a1 a0
x -x4 x3 x2 x1 x0
2’s Complement Multiplication (2)
-a4 a3 a2 a1 a0
x -x4 x3 x2 x1 x0
-p9 p8 p7 p6 p5 p4 p3 p2 p1 p0
29 28 27 26 25 24 23 22 21 20
2’s Complement Multiplication (3)
-p9 p8 p7 p6 p5 p4 p3 p2 p1 p0
29 28 27 26 25 24 23 22 21 20
p9 p8 p7 p6 p5 p4 p3 p2 p1 p0
-29 28 27 26 25 24 23 22 21 20
2’s Complement Multiplication (4)
z=1-z
z=1-z
- aj xi = - aj (1 - xi) = aj xi - aj = aj xi + aj - 2 aj
- aj xi = - (1- aj ) xi = aj xi - xi = aj xi + xi - 2 xi
- aj xi = - (1- aj xi) = aj xi - 1 = aj xi + 1 - 2
-aj = - (1 - aj) = aj - 1 = aj + 1 - 2
-xi = - (1 - xi) = xi - 1 = xi + 1 - 2
-a4x0
-a4x1
-a4x2
+ -a4x3
-a4 a4x0
-a4 a4x1 a4
-a4 a4x2 a4
-a4 a4x3 a4
a4
a4 a4x3 a4x2 a4x1 a4x0
-1 a4
+ -a3x4 -a2x4 -a1x4 -a0x4
-x4 a0x4
-x4 a1x4 x4
-x4 a2x4 x4
-x4 a3x4 x4
x4
x4 a3x4 a2x4 a1x4 a0x4
-1 x4
29 28 27 26 25 24
a4 a4x3 a4x2 a4x1 a4x0
-1 a4
x4 a3x4 a2x4 a1x4 a0x4
-1 x4
-1 a4 a4x3 a4x2 a4x1 a4x0
x4 a3x4 a2x4 a1x4 a0x4
a4
x4
1 a4 a4x3 a4x2 a4x1 a4x0
x4 a3x4 a2x4 a1x4 a0x4
a4
-29 x4
Baugh-Wooley 2’s Complement Multiplier
-a4 a3 a2 a1 a0
x -x4 x3 x2 x1 x0
-1 a4x0
-1 a4x1 1
-1 a4x2 1
-1 a4x3 1
-1 a0x4
-1 a1x4 1
-1 a2x4 1
-1 a3x4 1
1
a3x4 a2x4 a1x4 a0x4
-1 1
29 28 27 26 25 24
a4x3 a4x2 a4x1 a4x0
-1 1
a3x4 a2x4 a1x4 a0x4
-1 1
x -x4 x3 x2 x1 x0
x cin
y FA
cout s
Baugh-Wooley 2’s Complement Multiplier
-a4 a3 a2 a1 a0
x -x4 x3 x2 x1 x0
xn
FA
ci+1 si
5 x 5 Array Multiplier
with modified cells
Pipelined 5 x 5 Multiplier
Optimizations for Squaring (1)
Optimizations for Squaring (2)
xi x j
xi xj + xi xj = 2 xi xj
xj x i
xi xj xi xi = xi
xi xj xi xj + xi = 2 xi xj - xi xj + xi =
xi
= 2 xi xj + xi (1-xj) =
xi xj xi xj
= 2 xi xj + xi xj
Squaring Using Look-Up Tables
for relatively small values k
input=a output=a2
0 0
1 1
2 4
3 9
4 16 2k words 2k-bit each
...
i i2
...
2k-1 (2k-1)2
Multiplication Using Squaring
(a+x)2 - (a-x)2
ax=
4