You are on page 1of 12

Lecture 7

Tree and Array Multipliers

Notation

a x p

Multiplicand Multiplier Product (a ⋅ x)

ak-1ak-2 . . . a1 a0 xk-1xk-2 . . . x1 x0 p2k-1p2k-2 . . . p2 p1 p0

1

Multiplication of two 4-bit unsigned binary numbers in dot notation Basic Multiplication Equations p=a⋅x x=   k-1 xi ⋅ 2i i=0 p=a⋅x=   k-1 i=0 a ⋅ xi ⋅ 2i = = x0a20 + x1a21 + x2a22 + … + xk-1a2k-1 Unsigned Multiplication a4 x ax0 20 ax1 21 ax2 22 ax3 23 ax4 24 p9 x4 a3 x3 a2 x2 a1 x1 a0 x0 a4x0 a3x0 a2x0 a1x0 a0x0 + a4x1 a3x1 a2x1 a1x1 a0x1 a4x2 a3x2 a2x2 a1x2 a0x2 a4x3 a3x3 a2x3 a1x3 a0x3 a4x4 a3x4 a2x4 a1x4 a0x4 p8 p7 p6 p5 p4 p3 p2 p1 p0 2 .

general structure 7 x 7 tree multiplier A slice of a balanced-delay tree for 11 inputs 3 .Full tree multiplier .

Tree multiplier with a more regular structure Layout of a multiplier based on 4-to-2 reduction modules 2’s Complement Multiplication (1) -24 a4 x x4 23 a3 x3 22 a2 x2 21 a1 x1 20 a0 x0 ≡ 24 -a4 x -x4 23 a3 x3 22 a2 x2 21 a1 x1 20 a0 x0 4 .

aj) = aj .aj (1 .aj xi = .xi = aj xi + xi .1 = aj xi + 1 .2’s Complement Multiplication (2) -a4 x -x4 a3 x3 a2 x2 a1 x1 a0 x0 -a4x0 a3x0 a2x0 a1x0 a0x0 + -a4x3 -a4x1 a3x1 a2x1 a1x1 a0x1 -a4x2 a3x2 a2x2 a1x2 a0x2 a3x3 a2x3 a1x3 a0x3 a4x4 -a3x4 -a2x4 -a1x4 -a0x4 -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 = .1 -xi = .(1.aj = aj xi + aj .aj ) xi = aj xi .aj xi) = aj xi .aj xi = .1 = aj + 1 .xi) = aj xi .(1 .(1 .2 5 .2 aj .xi) = xi .2 xi .2 -aj = .(1.2 = xi + 1 .

-a4x0 -a4x1 -a4x2 + -a4x3 -a4 -a4 -a4 -a4 a4x3 a4 a4 -1 a4x3 a4x2 a4x1 a4x0 a4 a4x2 a4 a4x1 a4 a4x0 a4 + -a3x4 -a2x4 -a1x4 -a0x4 -x4 a0x4 -x4 -x4 -x4 a3x4 x4 x4 -1 a3x4 a2x4 a1x4 a0x4 x4 a2x4 x4 a1x4 x4 x4 29 28 a4 -1 x4 -1 27 26 25 24 a4 a4x3 a4x2 a4x1 a4x0 a3x4 a2x4 a1x4 a0x4 x4 a4x3 a4x2 a4x1 a4x0 a3x4 a2x4 a1x4 a0x4 a4 x4 -1 a4 x4 1 a4 x4 a4x3 a4x2 a4x1 a4x0 a3x4 a2x4 a1x4 a0x4 a4 x4 -29 6 .

Baugh-Wooley 2’s Complement Multiplier -a4 x -x4 a3 x3 a2 x2 a1 x1 a0 x0 a4x0 a3x0 a2x0 a1x0 a0x0 + a4x3 a4x4 a3x4 a4 x4 1 p 9 p8 p7 a4x1 a3x1 a2x1 a1x1 a0x1 a4x2 a3x2 a2x2 a1x2 a0x2 a3x3 a2x3 a1x3 a0x3 a2x4 a1x4 a0x4 a4 x4 p6 p5 p4 p3 p2 p1 p0 -29 28 27 26 25 24 23 22 21 20 -a4x0 -a4x1 -a4x2 + -a4x3 -1 -1 -1 -1 a4x3 1 a4x3 a4x2 a4x1 a4x0 -1 1 a4x2 1 a4x1 1 a4x0 1 + -a3x4 -a2x4 -a1x4 -a0x4 -1 -1 -1 -1 a3x4 1 a3x4 a2x4 a1x4 a0x4 -1 1 a2x4 1 a1x4 1 a0x4 1 7 .

29 28 -1 27 26 25 24 1 a4x3 a4x2 a4x1 a4x0 a3x4 a2x4 a1x4 a0x4 -1 1 a4x3 a4x2 a4x1 a4x0 a3x4 a2x4 a1x4 a0x4 -1 1 a4x3 a4x2 a4x1 a4x0 a3x4 a2x4 a1x4 a0x4 1 1 -29 Modified Baugh-Wooley Multiplier -a4 x -x4 a3 x3 a2 x2 a1 x1 a0 x0 a4x0 a3x0 a2x0 a1x0 a0x0 + a4x3 a4x4 a3x4 1 p9 p8 p7 p6 a4x1 a3x1 a2x1 a1x1 a0x1 a4x2 a3x2 a2x2 a1x2 a0x2 a3x3 a2x3 a1x3 a0x3 a2x4 a1x4 a0x4 1 p5 p4 p3 p2 p1 p0 -29 28 27 26 25 24 23 22 21 20 Basic array multiplier 8 .

5 x 5 Array Multiplier Array Multiplier .Basic Cell x cin y FA cout s Modifications in a 5 x 5 multiplier 9 .

Array Multiplier – Modified Basic Cell si-1 am ci xn FA ci+1 si 5 x 5 Array Multiplier with modified cells Pipelined 5 x 5 Multiplier 10 .

.. 2k-1 (2k-1)2 11 .Optimizations for Squaring (1) Optimizations for Squaring (2) xi xj xj xi xi xj xi xj + xi xj = 2 xi xj xi xi = xi xi xj xi xi xj xi xj xi xj + xi = 2 xi xj ...xi xj + xi = = 2 xi xj + xi (1-xj) = = 2 xi xj + xi xj Squaring Using Look-Up Tables for relatively small values k input=a 0 1 2 3 4 i output=a2 0 1 4 9 16 . i2 2k words 2k-bit each .

(a-x)2 4 12 .Multiplication Using Squaring a⋅x= (a+x)2 .