Lecture 7 Tree and Array Multipliers Required Reading




































- Slides: 36

Lecture 7 Tree and Array Multipliers

Required Reading Behrooz Parhami, Computer Arithmetic: Algorithms and Hardware Design Chapter 11, Tree and Array Multipliers Chapter 12. 5, The special case of squaring Note errata at: http: //www. ece. ucsb. edu/~parhami/text_comp_arit_1 ed. htm#errors


Notation a Multiplicand ak-1 ak-2. . . a 1 a 0 x Multiplier xk-1 xk-2. . . x 1 x 0 p Product (a x) p 2 k-1 p 2 k-2. . . p 2 p 1 p 0

Multiplication of two 4 -bit unsigned binary numbers in dot notation

Basic Multiplication Equations k-1 p=a x x = xi 2 i i=0 k-1 p = a x = a xi 2 i = i=0 = x 0 a 20 + x 1 a 21 + x 2 a 22 + … + xk-1 a 2 k-1

Unsigned Multiplication x ax 0 20 a 4 a 3 a 2 a 1 a 0 x 4 x 3 x 2 x 1 x 0 a 4 x 0 a 3 x 0 a 2 x 0 a 1 x 0 a 0 x 0 ax 1 21 a 4 x 1 a 3 x 1 a 2 x 1 a 1 x 1 a 0 x 1 + ax 2 22 a 4 x 2 a 3 x 2 a 2 x 2 a 1 x 2 a 0 x 2 ax 3 23 a 4 x 3 a 3 x 3 a 2 x 3 a 1 x 3 a 0 x 3 ax 4 24 a 4 x 4 a 3 x 4 a 2 x 4 a 1 x 4 a 0 x 4 p 9 p 8 p 7 p 6 p 5 p 4 p 3 p 2 p 1 p 0

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 x 1111 15 x 15 1111 x 1111 -1 x -1 11100001 225 00000001 1 12

2’s Complement Multiplication (1) x -24 23 22 21 20 a 4 a 3 a 2 a 1 a 0 x 4 x 3 x 2 x 1 x 0 x 24 23 -a 4 a 3 -x 4 x 3 21 20 a 2 a 1 a 0 x 2 x 1 x 0 22

2’s Complement Multiplication (2) x -a 4 a 3 a 2 a 1 a 0 -x 4 x 3 x 2 x 1 x 0 -a 4 x 0 a 3 x 0 a 2 x 0 a 1 x 0 a 0 x 0 -a 4 x 1 a 3 x 1 a 2 x 1 a 1 x 1 a 0 x 1 + -a 4 x 2 a 3 x 2 a 2 x 2 a 1 x 2 a 0 x 2 -a 4 x 3 a 3 x 3 a 2 x 3 a 1 x 3 a 0 x 3 a 4 x 4 -a 3 x 4 -a 2 x 4 -a 1 x 4 -a 0 x 4 -p 9 p 8 p 7 p 6 p 5 p 4 p 3 p 2 p 1 p 0 29 28 27 26 25 24 23 22 21 20

2’s Complement Multiplication (3) -p 9 p 8 p 7 p 6 p 5 p 4 p 3 p 2 p 1 p 0 29 28 27 26 25 24 23 22 21 20 p 9 p 8 p 7 p 6 p 5 p 4 p 3 p 2 p 1 p 0 -29 28 27 26 25 24 23 22 21 20

2’s Complement Multiplication (4) 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

-a 4 x 0 -a 4 x 1 -a 4 x 2 + -a 4 x 3 -a 4 a 4 x 0 -a 4 a 4 x 1 a 4 -a 4 a 4 x 2 a 4 x 3 a 4 a 4 -1 a 4 x 3 a 4 x 2 a 4 x 1 a 4 x 0 a 4

-a 3 x 4 -a 2 x 4 -a 1 x 4 -a 0 x 4 + -x 4 a 0 x 4 -x 4 a 1 x 4 -x 4 a 2 x 4 a 3 x 4 x 4 x 4 -1 a 3 x 4 a 2 x 4 a 1 x 4 a 0 x 4

29 28 27 a 4 x 3 a 4 x 2 a 4 x 1 a 4 x 0 -1 x 4 -1 -1 26 25 24 a 3 x 4 a 2 x 4 a 1 x 4 a 0 x 4 a 4 a 4 x 3 a 4 x 2 a 4 x 1 a 4 x 0 x 4 a 3 x 4 a 2 x 4 a 1 x 4 a 0 x 4 a 4 x 4 1 a 4 x 3 a 4 x 2 a 4 x 1 a 4 x 0 x 4 a 3 x 4 a 2 x 4 a 1 x 4 a 0 x 4 a 4 -29 x 4

Baugh-Wooley 2’s Complement Multiplier x -a 4 a 3 a 2 a 1 a 0 -x 4 x 3 x 2 x 1 x 0 a 4 x 0 a 3 x 0 a 2 x 0 a 1 x 0 a 0 x 0 a 4 x 1 a 3 x 1 a 2 x 1 a 1 x 1 a 0 x 1 + a 4 x 2 a 3 x 2 a 2 x 2 a 1 x 2 a 0 x 2 a 4 x 3 a 4 x 4 a 3 x 4 a 4 x 4 1 p 9 p 8 p 7 -29 28 27 a 3 x 3 a 2 x 3 a 1 x 3 a 0 x 3 a 2 x 4 a 1 x 4 a 0 x 4 a 4 x 4 p 6 p 5 p 4 p 3 p 2 p 1 p 0 26 25 24 23 22 21 20

-a 4 x 0 -a 4 x 1 -a 4 x 2 + -a 4 x 3 -1 -1 a 4 x 2 a 4 x 3 1 a 4 x 0 1 1 1 a 4 x 3 a 4 x 2 a 4 x 1 a 4 x 0 -1 1

-a 3 x 4 -a 2 x 4 -a 1 x 4 -a 0 x 4 + -1 -1 a 2 x 4 a 3 x 4 1 a 1 x 4 a 0 x 4 1 1 1 a 3 x 4 a 2 x 4 a 1 x 4 a 0 x 4 -1 1

29 28 27 26 25 24 a 4 x 3 a 4 x 2 a 4 x 1 a 4 x 0 -1 1 a 3 x 4 a 2 x 4 a 1 x 4 a 0 x 4 1 -1 a 4 x 3 a 4 x 2 a 4 x 1 a 4 x 0 a 3 x 4 a 2 x 4 a 1 x 4 a 0 x 4 -1 1 a 4 x 3 a 4 x 2 a 4 x 1 a 4 x 0 a 3 x 4 a 2 x 4 a 1 x 4 a 0 x 4 1 -29 1

Modified Baugh-Wooley Multiplier x -a 4 a 3 a 2 a 1 a 0 -x 4 x 3 x 2 x 1 x 0 a 4 x 0 a 3 x 0 a 2 x 0 a 1 x 0 a 0 x 0 a 4 x 1 a 3 x 1 a 2 x 1 a 1 x 1 a 0 x 1 + a 4 x 2 a 3 x 2 a 2 x 2 a 1 x 2 a 0 x 2 a 4 x 3 a 4 x 4 a 3 x 3 a 2 x 3 a 1 x 3 a 0 x 3 a 2 x 4 a 1 x 4 a 0 x 4 1 1 p 9 p 8 p 7 p 6 p 5 p 4 p 3 p 2 p 1 p 0 -29 28 27 26 25 24 23 22 21 20

Basic array multiplier

5 x 5 Array Multiplier

Array Multiplier - Basic Cell x y cin FA cout s

Baugh-Wooley 2’s Complement Multiplier x -a 4 a 3 a 2 a 1 a 0 -x 4 x 3 x 2 x 1 x 0 a 4 x 0 a 3 x 0 a 2 x 0 a 1 x 0 a 0 x 0 a 4 x 1 a 3 x 1 a 2 x 1 a 1 x 1 a 0 x 1 + a 4 x 2 a 3 x 2 a 2 x 2 a 1 x 2 a 0 x 2 a 4 x 3 a 4 x 4 a 3 x 4 a 4 x 4 1 p 9 p 8 p 7 -29 28 27 a 3 x 3 a 2 x 3 a 1 x 3 a 0 x 3 a 2 x 4 a 1 x 4 a 0 x 4 a 4 x 4 p 6 p 5 p 4 p 3 p 2 p 1 p 0 26 25 24 23 22 21 20

Modifications in a 5 x 5 multiplier

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

Optimizations for Squaring (1)

Optimizations for Squaring (2) xi xj xj xi xi = xi xi xj + xi xj = 2 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 output=a 2 0 1 4 9 16 . . . i i 2 . . . 2 k-1 (2 k-1)2 2 k words 2 k-bit each

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