Booth Multiplier
Booth Multiplier
1 1 0 1 Multiplicand
x 0 1 0 1 Multiplier
------------------------
1 1 1 1 1 1 0 1 PP1
0 0 0 0 0 0 0 PP2
1 1 1 1 0 1 PP3
+ 0 0 0 0 0 PP4
------------------------------------
0 0 0 0 1 0 0 1 Sum bit
1 1 1 1 0 1 0 0 0 Carry bit
______________________________
1 1 1 1 1 0 0 0 1 = −15 Product
Advantage:
In this method the partial product circuit is simple and easy to implement.
Therefore, is is suitable for the implementation of small multipliers.
Disadvantage:
This method is not able to efficiently handle the sign extension and it generates a
number of partial products as many as the number of bits of the multiplier, which
results in many adders needed so that the area and power consumption increase.
This method is not applicable for large multipliers.
Booths algorithm:-
This algorithm will be slow if there are many partial products because the output
must wait until each sum is calculated and performed. As speed is main important
aspect while calculating the multiplication. By using the Booths algorithm, we
can maximize the speed. In Booths algorithm, speed can be maximized by
reducing the partial products to half. The adder circuits in Booth algorithm
provide the advantage in maximizing the speed.
Working Principle:-
Accumulator Multiplier Q-1 Multiplicand Action
Q
0000 0010 0 0110 2’s Shifting
Step1 complement of
0000 0001 0 0110
1010
0000 Step 2 0001 0 0110 2’s Subtraction
+1010 complement of
1010 0110
1101 Step 3 0000 1 shifting
1010
1101 Step 4 0000 1 0110 Addition
+0110
0011
0001 Step 5 1000 0 Shifting
Shifting
0000 Step 6 1100 0
The operation of Booth encoding consists of two major steps: the first one is to
take one bit of the multiplier, and then to decide whether to add the multiplicand
according to the current and previous bits of the multiplier.
Initially accumulator start with 0000 and we will perform shift that is arthimetic
shift then we get first bit of A and the copy of first bit A and for the remaining
positions we get from the second position of A. The left bit in A is shifted to Q
and bits of Q is placed after it. The bit in Q is shifted to Q-1 . Initially Q-1 will be
0. Then we will compare LSB Multiplier, based on this comparision we will
perform the addition, subtraction and shifting.
X can be represented as
�−
X = − �− 2�− + ∑�= �2
�
�/ − �
= ∑�= − �− + � + �− .2
�/ −
= ∑�= −2 �+ + � + �− . 4�
�/ −
XY = ∑�= −2 �+ + � + �− . 4� .
From the above equation we portioned the bits of multipliers into substrings of
3 adjacent bits and each substring consists of �+ , � , �− ), each
corresponds to the value {−2, −1, 0, +1, +2}
The grouping of bits of multiplies can be done as
1 1 0 1 1 0 1 0 1 1
�+ � �− Possible values
0 0 0 0
0 0 1 +1
0 1 0 +1
0 1 1 +2
1 0 0 -2
1 0 1 -1
1 1 0 -1
1 1 1 0
Each three adjacent bits of the multiplier can generate a single encoding digit
having the possible values
{−2, −1, 0, +1, +2}. For the n × n multiplication, the number of bits for the
multiplier X is n, using the modified Booth encoding n/2 partial products are
produced.
Multiplication:
The partial product should be shifted two positions to the left of the partial product
due to the is multiplied by
Add a Zero to get 3 bit as a group
1 1 0 1 0
+1
-1
0 1 0 1 +1Y
1 0 1 1 -1Y
-------------------------------------------
1 1 0 0 0 1 (-15)
The operation is summerized as
Multiplier cell
Modified Booth Algorithm can be realized by using circuits consists of Booth
Encoder and multiplier array of partial product generator (Multiplexer) and
adders.
Booth Encoder:
On the left-hand side are the Booth encoders, one for each partial product.
They each have three bits of as input (with “0” to the right of the LSB).They are
also responsible for decoding and propagating the sign extension logic to the
next encoder. The array cells then generate the appropriate bit and add it to the
accumulated sum with their internal adders. In two’s complement format
inverting a number consists of flipping all bits and adding one. The “ADD” cell
generates the 1 if required.
Multiplier cell:
The cell consists of two components, a multiplexer to generate the partial product
bit (PP-MUX) and a full adder (FA) or half adder (HA) to add this bit with the
previous sum.
The multiplier cell represents one bit in a partial product and is responsible for:
1) Generating a bit of the correct partial product in response to the signals from
the Booth encoder;
2) Adding this bit to the cumulative sum propagated from the row above.
Adders:
In Booth Algorithm we use Half Adder and Full Adders along with the
Multiplexer. The FA is the most critical circuit in the multiplier as it ultimately
determines the speed and power dissipation of the array.
The Boolean Expression for Half Adder is
� = A XOR B
� = AB
The Boolean Expression for Full Adder is
� = A XOR B XOR ���
� = A (~B) ��� + ÃB��� +AB.
Date :- 10/05/015 – 16/05/015
We calculate the power of Half Adder for different input patterns taken in such
Pattern Power
Source 1 (1v) 0011 6.0470e-008
Source 2(1v) 0101 1.6233e-009
TOTAL POWER 1.596313e-7
a way that satisfies the all the conditions or having all the possible cases. The
power of VDD Voltage Source is 9.7538e-008
Delay in CMOS
Outbus<0> w.r.t Y2i-1 6.8460e-011
Outbus<1> w.r.t Y2i-1 1.1024e-010
Outbus<2> w.r.t Y2i-1 1.1285e-010
Outbus<3> w.r.t Y2i-1 1.2418e-010
Outbus<4> w.r.t Y2i-1 8.3383e-011
Pattern Power
Source1(1v) 0000000011111111 8.7274e-008
Source2(1v) 0000111100001111 5.8733e-008
Source3(1v) 0011001100110011 1.0371e-007
Source4(1v) 0101010101010101 2.4736e-007
TOTAL POWER 0.0004295371
We calculate the power of Half Adder for different input patterns taken in such
a way that satisfies the all the conditions or having all the possible cases. The
power of VDD Voltage Source is 4.2904e-004.
Comparison of time delay of both GDI & CMOS Multiplier:
Delay in CMOS Delay in GDI
Outbus<0> w.r.t Y2i-1 6.8460e-011 7.6990e-009
Outbus<1> w.r.t Y2i-1 1.1024e-010 2.5674e-008
Outbus<2> w.r.t Y2i-1 1.1285e-010 5.9361e-009
Outbus<3> w.r.t Y2i-1 1.2418e-010 1.8549e-010
Outbus<4> w.r.t Y2i-1 8.3383e-011 4.3784e-011
From the above table we say that the delay is more in GDI Multiplier compared
to CMOS Multiplier.
From the above table we say that the power dissipation is more in CMOS
Multiplier compared to GDI Multiplier by 8%. This is due to less transistors are
used GDI Multiplier when compared to CMOS Multiplier. So that the power is
less in GDI Multiplier when compared to CMOS Multiplier.