Modified Booth
-
Upload
srikanth-rapolu -
Category
Documents
-
view
44 -
download
7
description
Transcript of Modified Booth
![Page 1: Modified Booth](https://reader035.fdocuments.in/reader035/viewer/2022081505/552e058b4a79593c578b47d0/html5/thumbnails/1.jpg)
Modified Booth Multiplier
Digital ElectronicsFall 2008Project 2
![Page 2: Modified Booth](https://reader035.fdocuments.in/reader035/viewer/2022081505/552e058b4a79593c578b47d0/html5/thumbnails/2.jpg)
Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 2
Booth Multiplier: an Introduction• Recode each 1 in multiplier as “+2-1”– Converts sequences of 1 to 10…0(-1)– Might reduce the number of 1’s
0 0 1 1 1 1 1 1 0 0
+1 -1+1 -1
+1 -1+1 -1
+1 -1+1 -1
0 1 0 0 0 0 0 -1 0 0
![Page 3: Modified Booth](https://reader035.fdocuments.in/reader035/viewer/2022081505/552e058b4a79593c578b47d0/html5/thumbnails/3.jpg)
Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 3
Booth Multiplier: Recoding (Encoding) Example
• If you use the last row in multiplication, you should get exactly the same result as using the first row (after all, they represent the same number!)
0 1 1 0 1 1 1 0 0 0 1 0
(+1 -1) (+1 -1) (+1 -1) (+1 -1) (+1 -1) (+1 -1)
+1 0 -1 +1 0 0 -1 0 0 +1 -1 0
![Page 4: Modified Booth](https://reader035.fdocuments.in/reader035/viewer/2022081505/552e058b4a79593c578b47d0/html5/thumbnails/4.jpg)
Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 4
0 0 1 1 0 6x 0 1 1 1 0 14+1 0 0 -1 0 0 0 0 0 0
1 1 0 1 0 (-6) 0 0 0 0 0
0 0 0 0 0 0 0 1 1 0
0 0 1 0 1 0 1 0 0 84
Booth Recoding: Multiplication Example
1 1 1
Sign extension
![Page 5: Modified Booth](https://reader035.fdocuments.in/reader035/viewer/2022081505/552e058b4a79593c578b47d0/html5/thumbnails/5.jpg)
Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 5
Booth Recoding: Advantages and Disadvantages
• Depends on the architecture– Potential advantage: might reduce the # of 1’s
in multiplier
• In the multipliers that we have seen so far:– Doesn’t save in speed
(still have to wait for the critical path, e.g., the shift-add delay in sequential multiplier)
– Increases area: recoding circuitry AND subtraction
![Page 6: Modified Booth](https://reader035.fdocuments.in/reader035/viewer/2022081505/552e058b4a79593c578b47d0/html5/thumbnails/6.jpg)
Modified Booth
• Booth 2 modified to produce at most n/2+1 partial products.
• Algorithm: (for unsigned numbers)– Pad the LSB with one zero.– Pad the MSB with 2 zeros if n is even and 1 zero if n is
odd.– Divide the multiplier into overlapping groups of 3-bits.– Determine partial product scale factor from modified
booth 2 encoding table.– Compute the Multiplicand Multiples– Sum Partial Products
![Page 7: Modified Booth](https://reader035.fdocuments.in/reader035/viewer/2022081505/552e058b4a79593c578b47d0/html5/thumbnails/7.jpg)
Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 7
Modified Booth Multiplier: Idea (cont.)• Can encode the digits by looking at three bits at a
time• Booth recoding table:
– Must be able to add multiplicand times –2, -1, 0, 1 and 2
– Since Booth recoding got rid of 3’s, generating partial products is not that hard (shifting and negating)
i+1 i i-1 add
0 0 0 0*M 0 0 1 1*M 0 1 0 1*M 0 1 1 2*M 1 0 0 –2*M 1 0 1 –1*M 1 1 0 –1*M 1 1 1 0*M
[©Hauck]
![Page 8: Modified Booth](https://reader035.fdocuments.in/reader035/viewer/2022081505/552e058b4a79593c578b47d0/html5/thumbnails/8.jpg)
Modified Booth
• Example: (n=4-bits unsigned)1. Pad LSB with 1 zero
2. n is even then pad the MSB with two zeros
3. Form 3-bit overlapping groups for n=8 we have 5 groups
Y3 Y2 Y1 Y0
Y3 Y2 Y1 Y0
0
0
Y3 Y2 Y1 Y0 0
0 1 0 0 0
Y7 Y6 Y5 Y4
Y7 Y6 Y5 Y4
0 0 0 1
Y7 Y6 Y5 Y4
00
00
00
![Page 9: Modified Booth](https://reader035.fdocuments.in/reader035/viewer/2022081505/552e058b4a79593c578b47d0/html5/thumbnails/9.jpg)
Modified Booth
4. Determine partial product scale factor from modified booth 2 encoding table.
Xi+1 Xi Xi-1 Action
0 0 0 0 × Y
0 0 1 1 × Y
0 1 0 1 × Y
0 1 1 2 × Y
1 0 0 -2 × Y
1 0 1 -1 × Y
1 1 0 -1 × Y
1 1 1 0 × Y
Groups Coding
0 0 0 0 × Y
0 1 0 1 × Y
0 1 0 1 × Y
0 0 0 0 × Y
0 0 0 0 × Y
0 1 0 0 00 0 0 100
![Page 10: Modified Booth](https://reader035.fdocuments.in/reader035/viewer/2022081505/552e058b4a79593c578b47d0/html5/thumbnails/10.jpg)
Modified Booth
5. Compute the Multiplicand Multiples
0 0 0 0 0 1 0 0 0 1
× 0 0 0 0 1 0 1 0 0 20
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 × Y
0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 × Y
0 0 0 0 0 0 0 0 1 0 0 0 1 × Y
0 0 0 0 0 0 0 0 0 0 0 × Y
0 0 0 0 0 0 0 0 0 × Y
Groups Coding
0 0 0 0 × Y
0 1 0 1 × Y
0 1 0 1 × Y
0 0 0 0 × Y
0 0 0 0 × Y
![Page 11: Modified Booth](https://reader035.fdocuments.in/reader035/viewer/2022081505/552e058b4a79593c578b47d0/html5/thumbnails/11.jpg)
Compute Partial Products
0
Yi-1
Yi
Xi-1 Xi Xi+1
Adders
Xi+1 Xi Xi-1 Action
0 0 0 0 × Y
0 0 1 1 × Y
0 1 0 1 × Y
0 1 1 2 × Y
1 0 0 -2 × Y
1 0 1 -1 × Y
1 1 0 -1 × Y
1 1 1 0 × Y
![Page 12: Modified Booth](https://reader035.fdocuments.in/reader035/viewer/2022081505/552e058b4a79593c578b47d0/html5/thumbnails/12.jpg)
Modified Booth
6. Sum Partial Products
0 0 0 0 0 1 0 0 0 1
× 0 0 0 0 1 0 1 0 0 20
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 × Y
0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 × Y
+ 0 0 0 0 0 0 0 0 1 0 0 0 1 × Y
0 0 0 0 0 0 0 0 0 0 0 × Y
0 0 0 0 0 0 0 0 0 × Y
0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 160
![Page 13: Modified Booth](https://reader035.fdocuments.in/reader035/viewer/2022081505/552e058b4a79593c578b47d0/html5/thumbnails/13.jpg)
Modified Booth
• Booth 2 modified to produce at most n/2+1 partial products.
• Algorithm: (for unsigned numbers)– Pad the LSB with one zero.– If n is even don’t pad the MSB ( n/2 PP’s) and if n is odd
sign extend the MSB by 1 bit ( n+1/2 PP’s).– Divide the multiplier into overlapping groups of 3-bits.– Determine partial product scale factor from modified
booth 2 encoding table.– Compute the Multiplicand Multiples– Sum Partial Products
![Page 14: Modified Booth](https://reader035.fdocuments.in/reader035/viewer/2022081505/552e058b4a79593c578b47d0/html5/thumbnails/14.jpg)
Modified Booth
• Example: (n=4-bits unsigned)1. Pad LSB with 1 zero
2. n is even then do not pad the MSB
3. Form 3-bit overlapping groups for n=8 we have 5 groups
Y3 Y2 Y1 Y0
Y3 Y2 Y1 Y0
0
0
Y3 Y2 Y1 Y0 0
1 0 0 1 0
Y7 Y6 Y5 Y4
Y7 Y6 Y5 Y4
0 1 1 0
Y7 Y6 Y5 Y4
![Page 15: Modified Booth](https://reader035.fdocuments.in/reader035/viewer/2022081505/552e058b4a79593c578b47d0/html5/thumbnails/15.jpg)
Modified Booth
4. Determine partial product scale factor from modified booth 2 encoding table.
Xi+1 Xi Xi-1 Action
0 0 0 0 × Y
0 0 1 1 × Y
0 1 0 1 × Y
0 1 1 2 × Y
1 0 0 -2 × Y
1 0 1 -1 × Y
1 1 0 -1 × Y
1 1 1 0 × Y
Groups Coding
0 1 0 1 × Y
1 0 0 -2 × Y
1 0 1 -1 × Y
0 1 1 2 × Y
1 0 0 1 00 1 1 0
![Page 16: Modified Booth](https://reader035.fdocuments.in/reader035/viewer/2022081505/552e058b4a79593c578b47d0/html5/thumbnails/16.jpg)
Modified Booth
5. Compute the Multiplicand Multiples
1 0 0 1 0 1 0 1 -107
× 0 1 1 0 1 0 0 1 105
1 1 1 1 1 1 1 1 1 0 0 1 0 1 0 1 1 × Y
0 0 0 0 0 0 1 1 0 1 0 1 1 0 -2 × Y
0 0 0 0 0 1 1 0 1 0 1 1 -1 × Y
0 1 0 0 1 0 1 0 1 0 2 × Y
1 1 0 1 0 1 0 0 0 0 0 1 1 1 0 1 -11235
Groups Coding
0 1 0 1 × Y
1 0 0 -2 × Y
1 0 1 -1 × Y
0 1 1 2 × Y
![Page 17: Modified Booth](https://reader035.fdocuments.in/reader035/viewer/2022081505/552e058b4a79593c578b47d0/html5/thumbnails/17.jpg)
Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 17
Modified Booth Multiplier: Idea (cont.)• Interpretation of the Booth recoding table:
i+1 i i-1 add Explanation
0 0 0 0*M No string of 1’s in sight 0 0 1 1*M End of a string of 1’s 0 1 0 1*M Isolated 1 0 1 1 2*M End of a string of 1’s 1 0 0 –2*M Beginning of a string of 1’s 1 0 1 –1*M End one string, begin new one 1 1 0 –1*M Beginning of a string of 1’s 1 1 1 0*M Continuation of string of 1’s
[Par] p. 160
![Page 18: Modified Booth](https://reader035.fdocuments.in/reader035/viewer/2022081505/552e058b4a79593c578b47d0/html5/thumbnails/18.jpg)
Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 18
Modified Booth Recoding: Summary
• Grouping multiplier bits into pairs– Orthogonal idea to the Booth recoding– Reduces the num of partial products to half– If Booth recoding not used have to be able to
multiply by 3 (hard: shift+add)• Applying the grouping idea to Booth
Modified Booth Recoding (Encoding)– We already got rid of sequences of 1’s
no mult by 3– Just negate, shift once or twice
![Page 19: Modified Booth](https://reader035.fdocuments.in/reader035/viewer/2022081505/552e058b4a79593c578b47d0/html5/thumbnails/19.jpg)
Spring 2006 EE 5324 - VLSI Design II - © Kia Bazargan 19
Modified Booth Multiplier: Summary (cont.)
• Uses high-radix to reduce number of intermediate addition operands– Can go higher: radix-8, radix-16– Radix-8 should implement *3, *-3, *4, *-4– Recoding and partial product generation becomes
more complex• Can automatically take care of signed
multiplication– (we will see why)