Download presentation
Presentation is loading. Please wait.
Published byIra Ryan Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.