Presentation is loading. Please wait.

Presentation is loading. Please wait.

High-Radix Sequential Multipliers Bit-Serial Multipliers Modular Multipliers Lecture 9.

Similar presentations


Presentation on theme: "High-Radix Sequential Multipliers Bit-Serial Multipliers Modular Multipliers Lecture 9."— Presentation transcript:

1 High-Radix Sequential Multipliers Bit-Serial Multipliers Modular Multipliers Lecture 9

2 Required Reading Chapter 10, High-Radix Multipliers Chapter 12.3, Bit-Serial Multipliers Chapter 12.4, Modular Multipliers Behrooz Parhami, Computer Arithmetic: Algorithms and Hardware Design

3 High-Radix Sequential Multipliers

4 High-Radix Notation a Multiplicand (a n-1 a n-2... a 1 a 0 ) r x Multiplier (x n-1 x n-2... x 1 x 0 ) r p Product (a  x) (p 2n-1 p 2n-2... p 2 p 1 p 0 ) r

5 Radix-4, or two-bit-at-a-time, multiplication in dot notation

6 Basic Multiplication Equations x =  x i  r i i=0 n-1 p = a  x p = a  x =  a  x i  r i = = x 0 ar 0 + x 1 a r 1 + x 2 a r 2 + … + x n-1 a r n-1 i=0 n-1

7 High-Radix Shift/Add Algorithms Right-shift high-radix algorithm p = a  x = x 0 ar 0 + x 1 ar 1 + x 2 ar 2 + … + x n-1 ar n-1 = (...((0 + x 0 ar n )/r + x 1 ar n )/r +... + x n-1 ar n )/r = n times = p (0) = 0 p = p (n) p (j+1) = (p (j) + x j a r n ) / r j=0..n-1

8 High-Radix Shift/Add Algorithms Left-shift high-radix algorithm p = a  x = x 0 ar 0 + x 1 ar 1 + x 2 ar 2 + … + x n-1 ar n-1 = (...((0  r + x n-1 a)  r + x n-2 a)  r +... + x 1 a)  r + x 0 a= n times = p (0) = 0 p = p (n) p (j+1) = (p (j)  r + x n-1-j a) j=0..n-1

9 The multiple generation part of a radix-4 multiplier with precomputation of 3a

10 Example of radix-4 multiplication using the 3a multiple

11 The multiple generation part of a radix-4 multiplier based on replacing 3a with 4a (carry into next higher radix-4 multiplier digit) and -a

12 Higher Radix Multiplication In radix-8, one must precompute 3a, 5a, 7a –Overhead becomes prohibitive and does not help However, when we discuss CSA this may be useful

13 Radix-2 Booth Recoding i j j+1

14 Radix-2 Booth Recoding y i = -x i + x i-1

15 Sequential multiplication of 2’s-complement numbers with right shifts using Booth’s recoding

16 Notation Y Multiplicand y m-1 y m-2... y 1 y 0 X Multiplier x m-1 x m-2... x 1 x 0 P Product (Y  X ) p 2m-1 p 2m-2... p 2 p 1 p 0 If multiplicand and multiplier are of different sizes, usually multiplier has the smaller size

17 Radix-2 Booth Multiplier Basic Step

18 Radix-2 Booth Multiplier Basic Step in Xilinx FPGAs

19 Radix-2 Booth Multiplier in Xilinx FPGAs

20 Radix-4 Booth Recoding (1) -1 0 1 0 0 -1 1 0 -1 1 -1 1 0 0 -1 0

21 z i/2 = -2x i+1 + x i + x i-1

22 Example radix-4 multiplication with modified Booth’s recoding of the 2’s-complement multiplier

23 The multiple generation part of a radix-4 multiplier based on Booth’s recoding

24 Notation Y Multiplicand y m-1 y m-2... y 1 y 0 X Multiplier x m-1 x m-2... x 1 x 0 P Product (Y  X ) p 2m-1 p 2m-2... p 2 p 1 p 0 If multiplicand and multiplier are of different sizes, usually multiplier has the smaller size

25 Radix-4 Booth Multiplier Basic Step

26 Radix-4 Booth Multiplier: Left Shifter & Control

27 High-Radix Multipliers with Carry-Save Adder

28 Radix-4 multiplication with a carry-save adder used to combine the cumulative partial product, x i a, and 2x i+1 a into two numbers

29 Radix-4 multiplier with a carry-save adder and Booth’s recoding

30 Booth recoding and multiple selection logic for high-radix multiplication

31 Radix-4 multiplier with two carry-save adders

32 Radix-16 multiplier with carry-save adders

33 Bit-Serial Multipliers

34 Bit Serial Multipliers Advantages small area reduced pin count reduced wire length high clock rate

35 Systolic Array Systolic array: synchronous arrays of processing elements that are interconnected by only short, local wires thus allowing very high clock rates

36 Semisystolic Bit-Serial Multiplier (1)

37 Semisystolic Bit-Serial Multiplier (2) a 3 x 0 a 2 x 0 a 1 x 0 a 0 x 0 a 3 x 1 a 2 x 1 a 1 x 1 a 0 x 1 a 3 x 2 a 2 x 2 a 1 x 2 a 0 x 2 a 3 x 3 a 2 x 3 a 1 x 3 a 0 x 3 a 3 0 a 2 0 a 1 0 a 0 0 p0p0 p1p1 p2p2 p3p3 p4p4 p5p5 p6p6 p7p7

38 Retiming d kk k+n k+n+d d k k+d k+d+n

39 Retimed Semisystolic Bit-Serial Multiplier (1)

40 Retimed Semisystolic Bit-Serial Multiplier (2) a 3 0 a 2 0 a 1 0 a 0 x 0 a 3 0 a 2 0 a 1 x 0 a 0 x 1 a 3 0 a 2 x 0 a 1 x 1 a 0 x 2 a 3 x 0 a 2 x 1 a 1 x 2 a 0 x 3 a 3 x 1 a 2 x 2 a 1 x 3 a 0 0 a 3 x 2 a 2 x 3 a 1 0 a 0 0 a 3 x 3 a 2 0 a 1 0 a 0 0 a 3 0 a 2 0 a 1 0 a 0 0 p0p0 p1p1 p2p2 p3p3 p4p4 p5p5 p6p6 p7p7

41 Systolic Bit-Serial Multiplier

42 Modular Multipliers

43 Modular Multiplication Special Cases a x pHpH pLpL a x = p = p H 2 k + p L k bits a x mod 2 k = p L a x mod 2 k -1 = p L + p H + carry p a x a x mod 2 k +1 = p L - p H - borrow

44 Modular Multiplication Special Case (1) a x mod 2 k -1 = (p H 2 k + p L ) mod (2 k -1) = = (p H (2 k mod (2 k -1)) + p L ) mod (2 k -1) = = p H + p L mod (2 k -1) = = p H + p L if p H + p L < 2 k - 1 p H + p L - (2 k -1) if p H + p L  2 k - 1 = p L + p H + carry carry = carry from addition p L + p H

45 Modular Multiplication Special Case (2) a x mod 2 k +1 = (p H 2 k + p L ) mod (2 k +1) = = (p H (2 k +1-1) + p L ) mod (2 k +1) = = p L - p H mod (2 k +1) = = p L - p H if p L - p H  0 p L - p H + (2 k +1) if p L - p H < 0 = p L - p H + borrow borrow = borrow from subtraction p L + p H

46 Modulo (2 b -1) Carry Save Adder

47 4 x 4 Modulo 15 Multiplier

48 4 x 4 Modulo 13 Multiplier


Download ppt "High-Radix Sequential Multipliers Bit-Serial Multipliers Modular Multipliers Lecture 9."

Similar presentations


Ads by Google