Академический Документы
Профессиональный Документы
Культура Документы
Contents
Unsigned array multiplier
Signed array multiplier
Booth multiplier
Introduction
This is used to multiply number without considering
the sign .
Example : 2X3 =6
2= 0010 (in binary)
3= 0011 (in binary)
2X3=0010X0011
0010
+ 0010X
+ 0000XX
+ 0000XXX
0000110 = 6(in decimal)
A3B1
A3B2
A2B2
A1B2 A0B2
A3B3 A2B3
A1B3
A0B3
+
P7 P 6
P5
P4
P3
x
P2
P1
P0
Circuit Diagram
Improved circuit
The previous circuit occupies a lot of area as the design in the form of a
parallelogram . Thus the design can be compressed as shown below.
Introduction
Signed multiplication is a little more complicated than
unsigned multiplication .
The product of signed numbers can be computed as shown
below
Example 1
-2X-3
For negative numbers the 2s complement of the
negative number is taken.
2= 010 -> 1s C = 101-> 2s C= 101+1=110
3= 011-> 1s C= 100-> 2s C= 100+1=101
110X101=
NOTE: The 1s in
11110
red are added
when ever the
000X
multiplication
takes place with 1.
110XX
00110
=6
Example 2
-2X3=
2 in binary =010 -> 1s C=101->2s C= 110
3 in binary =011
110X011=
NOTE: The 1s in red are
added when ever the
11110
multiplication takes place
with 1
1110X
000XX
11010 = -6
By using the modified Baugh Wooley Algorithm the number of partial products
can be can be reduced .
Reducing the number of partial products is done by pre-computing the sums of
the constant I's and pushing some of the terms upward into extra columns.
The multiplier circuit is as shown :
This design is identical to the design of
the unsigned multiplier. The only difference is that the hatched cells have NAND
gates instead of AND gates which helps in computing the product of the
negative partial products
Booth Multiplication
Introduction
The booth algorithm is used to multiply two negative numbers
in 2s complement format.
In this algorithm adjacent pairs of digits of the multiplier are
subtracted.
The difference between the consecutive terms is written as
recorded multiplier.
If the digit in the recorded multiplier is :
-1: take the 2s complement of the multiplicand and shift
right
0: right shift the multiplicand
1: keep the multiplicand as it is and shift right
Perform addition and get the result
Example 1
3X8
3 in binary =0000 0011
8 in binary =0000 1000
0000 0011(multiplicand)
X 0000 1000 0 (multiplier)
0001 -1000 ( recorded multiplier)
multiplying the recorded multiplier with the multiplicand from right:
Shift right : 000000000
Shift right : 0000000000
Shift right: 00000000000
Add (-3): +11111011
11111011000
Shift right: 111111011000
Add(3):
+00000011
000000011000
Shift right : 0000000011000
Shift right: 00000000011000
Shift right: 000000000011000
= 24
Example 2
3X-8
3 in binary = 00000011
-8 in binary = 11111000
00000011 (multiplicand)
11111000 0 ( multiplier)
0000-1000 ( recorded multiplier)
multiplying the recorded multiplier with the multiplicand from right:
Shift right: 000000000
Shift right: 0000000000
Shift right: 00000000000
Add(-3) : +11111101
11111101000
Shift right: 111111101000
Shift right: 1111111101000
Shift right: 11111111101000
Shift right: 111111111101000
Shift right: 1111111111101000 = -24