SlideShare a Scribd company logo
1 of 8
Download to read offline
Encoding Schemes for Multipliers
Hardware multiplication is performed in the same way multiplication done by
hand, first step is to partialized the products are computed then shifted
appropriately and summed.
Normal multiplication Process:
The simplest multiplication operation is to directly calculate the product of two
numbers by hand. This procedure can be divided into three steps:
1. Partial product generation
2. Partial product reduction
3. Addition.
Let us calculate the product of 2’s complement of two numbers 1101(-3) and 5
(0101), when computing the two binary numbers product we get the result
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
------------------------------------
1 1 1 1 1 0 0 0 1 = −15 Product
Discard this bit
From the above we say that 1101 is multiplicand and 0101 is multiplier. The
intermediate products are partial products. The final result is product (-15). When
this method is processed in hardware, the operation is to take one of the multiplier
bits at a time from right to left, multiplying the multiplicand by the single bit of
the multiplier and shifting the intermediate product one position to the left of the
earlier intermediate products. All the bits of the partial products in each column
are added to obtain two bits: sum and carry. Finally, the sum and carry bits in
each column have to be summed. The two rows before the product are called sum
and carry bits.
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.
ALU implements Booth algorithm to multiply binary number. ALU cannot
simply multiply binary number as it can do only addition, subtraction and
shifting.
Working Principle:-
Accumulator Multiplier
Q
Q-1 Multiplicand Action
0000
Step1
0000
0010
0001
0
0
0110 2’s
complement of
0110
Shifting
1010
0000 Step 2
+1010
1010
1101 Step 3
0001
0000
0
1
0110 2’s
complement of
0110
1010
Subtraction
shifting
1101 Step 4
+0110
0011
0001 Step 5
0000
1000
1
0
0110 Addition
Shifting
0000 Step 6 1100 0
Shifting
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.
Based on this comparision we will perform the action on Accumulator and
multiplicand.
In the above table we multiplied 0010 and 0110 as an example and the result will
be combination of both Accumulator and multiplier i.e 0000 1100(12).
Q0 Q-1
Action on A and
multiplicand
0 0 Shifting
0 1 Adding
1 0 Subtracting
1 1 Shifting
Modified Booth Algorithm:
The encoding method is widely used to generate the partial products for the
implementation of large multipliers. It adopts parallel encoding scheme.
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:
It implements Booth Algorithm encoding.
Basic Principle:-
The basic principle in modified Booth Algorithm is, consider X and Y are two
fixed-point two’s complement numbers, where X is multiplier and Y is
multiplicand both having same n bits.
X can be represented as
X = −𝑋 𝑛−12 𝑛−1
+ ∑ 𝑋𝑖2𝑖𝑛−2
𝑖=0
= ∑ (−𝑋2𝑖−1 + 𝑋2𝑖 + 𝑋2𝑖−1). 22𝑖𝑛/2−1
𝑖=0
= ∑ (−2𝑋2𝑖+1 + 𝑋2𝑖 + 𝑋2𝑖−1). 4𝑖𝑛/2−1
𝑖=0
By multiplying the X with Y, results
XY = ∑ (−2𝑋2𝑖+1 + 𝑋2𝑖 + 𝑋2𝑖−1). 4𝑖𝑛/2−1
𝑖=0
. 𝑌
From the above equation we portioned the bits of multipliers into substrings of
3 adjacent bits and each substring consists of(𝑋2𝑖+1, 𝑋2𝑖 , 𝑋2𝑖−1), 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
𝑋2𝑖+1 𝑋2𝑖 𝑋2𝑖−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
Possible values Operation on Y
0 0*Y: Y => 0 => Product is zero
+1 +1*Y: Y => Product (Y is the product)
+2 +2*Y: One Shift Y to the left => Product
Architecture: Booth Multiplier
Multiplier cell
-1 -1*Y: Invert Y and add 1 to the LSB of Y => Product
-2 -2*Y: One Shift to the left for Y, then inverted Y & added 1 to
the LSB
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
𝑆0 = A XOR B
𝐶0 = AB
The Boolean Expression for Full Adder is
𝑆0 = A XOR B XOR 𝐶𝑖𝑛
𝐶0 = A (~B) 𝐶𝑖𝑛+ ÃB𝐶𝑖𝑛+AB.
Ramavathu Sakru Naik,
NIT ROURKELA,
SILICON MENTOR.
Encoding Schemes for Multipliers

More Related Content

What's hot

Chapter 03 arithmetic for computers
Chapter 03   arithmetic for computersChapter 03   arithmetic for computers
Chapter 03 arithmetic for computers
Bảo Hoang
 
Computer organization and architecture lab manual
Computer organization and architecture lab manual Computer organization and architecture lab manual
Computer organization and architecture lab manual
Shankar Gangaju
 

What's hot (20)

FYBSC IT Digital Electronics Unit I Chapter II Number System and Binary Arith...
FYBSC IT Digital Electronics Unit I Chapter II Number System and Binary Arith...FYBSC IT Digital Electronics Unit I Chapter II Number System and Binary Arith...
FYBSC IT Digital Electronics Unit I Chapter II Number System and Binary Arith...
 
arithmetic
arithmeticarithmetic
arithmetic
 
Decoder encoder
Decoder   encoderDecoder   encoder
Decoder encoder
 
Basic electronics
Basic electronicsBasic electronics
Basic electronics
 
Computer arithmetic
Computer arithmeticComputer arithmetic
Computer arithmetic
 
Binary parallel adder, decimal adder
Binary parallel adder, decimal adderBinary parallel adder, decimal adder
Binary parallel adder, decimal adder
 
Finite word lenth effects
Finite word lenth effectsFinite word lenth effects
Finite word lenth effects
 
Chapter 5: Cominational Logic with MSI and LSI
Chapter 5: Cominational Logic with MSI and LSIChapter 5: Cominational Logic with MSI and LSI
Chapter 5: Cominational Logic with MSI and LSI
 
Computer Arithmetic
Computer ArithmeticComputer Arithmetic
Computer Arithmetic
 
Chapter 03 arithmetic for computers
Chapter 03   arithmetic for computersChapter 03   arithmetic for computers
Chapter 03 arithmetic for computers
 
Chapter 01 Basic Principles of Digital Systems
Chapter 01 Basic Principles of Digital SystemsChapter 01 Basic Principles of Digital Systems
Chapter 01 Basic Principles of Digital Systems
 
FYBSC IT Digital Electronics Unit III Chapter II Arithmetic Circuits
FYBSC IT Digital Electronics Unit III Chapter II Arithmetic CircuitsFYBSC IT Digital Electronics Unit III Chapter II Arithmetic Circuits
FYBSC IT Digital Electronics Unit III Chapter II Arithmetic Circuits
 
Computer organization and architecture lab manual
Computer organization and architecture lab manual Computer organization and architecture lab manual
Computer organization and architecture lab manual
 
Combinational circuits
Combinational circuits Combinational circuits
Combinational circuits
 
Python PCEP Logic Bit Operations
Python PCEP Logic Bit OperationsPython PCEP Logic Bit Operations
Python PCEP Logic Bit Operations
 
logical circuits substractors
logical circuits substractors logical circuits substractors
logical circuits substractors
 
Survey On Two-Term Dot Product Of Multiplier Using Floating Point
Survey On Two-Term Dot Product Of Multiplier Using Floating PointSurvey On Two-Term Dot Product Of Multiplier Using Floating Point
Survey On Two-Term Dot Product Of Multiplier Using Floating Point
 
DESIGN OF COMBINATIONAL LOGIC
DESIGN OF COMBINATIONAL LOGICDESIGN OF COMBINATIONAL LOGIC
DESIGN OF COMBINATIONAL LOGIC
 
Digital logic design part1
Digital logic design part1Digital logic design part1
Digital logic design part1
 
Simulink4 beginners
Simulink4 beginnersSimulink4 beginners
Simulink4 beginners
 

Similar to Encoding Schemes for Multipliers

Similar to Encoding Schemes for Multipliers (20)

Error Reduction of Modified Booth Multipliers in Mac Unit
Error Reduction of Modified Booth Multipliers in Mac UnitError Reduction of Modified Booth Multipliers in Mac Unit
Error Reduction of Modified Booth Multipliers in Mac Unit
 
COMPUTER ORGANIZATION NOTES Unit 6
COMPUTER ORGANIZATION NOTES Unit 6COMPUTER ORGANIZATION NOTES Unit 6
COMPUTER ORGANIZATION NOTES Unit 6
 
Lect 1 unit 2.pdf
Lect 1 unit 2.pdfLect 1 unit 2.pdf
Lect 1 unit 2.pdf
 
Arithmetic Logic
Arithmetic LogicArithmetic Logic
Arithmetic Logic
 
H010114954
H010114954H010114954
H010114954
 
Fast Multiplier for FIR Filters
Fast Multiplier for FIR FiltersFast Multiplier for FIR Filters
Fast Multiplier for FIR Filters
 
Ijetr011743
Ijetr011743Ijetr011743
Ijetr011743
 
Implementation and Simulation of Ieee 754 Single-Precision Floating Point Mul...
Implementation and Simulation of Ieee 754 Single-Precision Floating Point Mul...Implementation and Simulation of Ieee 754 Single-Precision Floating Point Mul...
Implementation and Simulation of Ieee 754 Single-Precision Floating Point Mul...
 
Multiplication algorithm, hardware and flowchart
Multiplication algorithm, hardware and flowchartMultiplication algorithm, hardware and flowchart
Multiplication algorithm, hardware and flowchart
 
index of all of the financial accounts in a company's general ledger. In shor...
index of all of the financial accounts in a company's general ledger. In shor...index of all of the financial accounts in a company's general ledger. In shor...
index of all of the financial accounts in a company's general ledger. In shor...
 
Digital Electronics Unit_2.pptx
Digital Electronics Unit_2.pptxDigital Electronics Unit_2.pptx
Digital Electronics Unit_2.pptx
 
Computer Architecture refers to those attributes of a system that have a dire...
Computer Architecture refers to those attributes of a system that have a dire...Computer Architecture refers to those attributes of a system that have a dire...
Computer Architecture refers to those attributes of a system that have a dire...
 
Module 4_Digital Electronics till complements.pdf
Module 4_Digital Electronics till complements.pdfModule 4_Digital Electronics till complements.pdf
Module 4_Digital Electronics till complements.pdf
 
Four bit Signed Calculator.pptx
Four bit Signed Calculator.pptxFour bit Signed Calculator.pptx
Four bit Signed Calculator.pptx
 
computer arithmatic
computer arithmaticcomputer arithmatic
computer arithmatic
 
05 multiply divide
05 multiply divide05 multiply divide
05 multiply divide
 
Comp Arithmetic Basic.ppt
Comp Arithmetic Basic.pptComp Arithmetic Basic.ppt
Comp Arithmetic Basic.ppt
 
Arithmetic Operations
Arithmetic OperationsArithmetic Operations
Arithmetic Operations
 
Arithmetic Process in Computer Systems
Arithmetic Process in Computer SystemsArithmetic Process in Computer Systems
Arithmetic Process in Computer Systems
 
Multiplication algorithm
Multiplication algorithmMultiplication algorithm
Multiplication algorithm
 

More from Silicon Mentor

More from Silicon Mentor (16)

Image Processing and Computer Vision
Image Processing and Computer VisionImage Processing and Computer Vision
Image Processing and Computer Vision
 
Signal Filtering
Signal FilteringSignal Filtering
Signal Filtering
 
Implementation of DSP Algorithms on FPGA
Implementation of DSP Algorithms on FPGAImplementation of DSP Algorithms on FPGA
Implementation of DSP Algorithms on FPGA
 
High Performance FPGA Based Decimal-to-Binary Conversion Schemes
High Performance FPGA Based Decimal-to-Binary Conversion SchemesHigh Performance FPGA Based Decimal-to-Binary Conversion Schemes
High Performance FPGA Based Decimal-to-Binary Conversion Schemes
 
Low Power Design Approach in VLSI
Low Power Design Approach in VLSILow Power Design Approach in VLSI
Low Power Design Approach in VLSI
 
Floating Point Unit (FPU)
Floating Point Unit (FPU)Floating Point Unit (FPU)
Floating Point Unit (FPU)
 
Introduction to Support Vector Machines
Introduction to Support Vector MachinesIntroduction to Support Vector Machines
Introduction to Support Vector Machines
 
Design and Implementation of Single Precision Pipelined Floating Point Co-Pro...
Design and Implementation of Single Precision Pipelined Floating Point Co-Pro...Design and Implementation of Single Precision Pipelined Floating Point Co-Pro...
Design and Implementation of Single Precision Pipelined Floating Point Co-Pro...
 
Analog design
Analog design Analog design
Analog design
 
Matlab worshop
Matlab worshopMatlab worshop
Matlab worshop
 
Low power vlsi design workshop 1
Low power vlsi design workshop 1Low power vlsi design workshop 1
Low power vlsi design workshop 1
 
Hspice proposal workshop
Hspice proposal workshopHspice proposal workshop
Hspice proposal workshop
 
HDL workshop
HDL workshopHDL workshop
HDL workshop
 
Vlsi ieee projects
Vlsi ieee projectsVlsi ieee projects
Vlsi ieee projects
 
Vlsi ieee projects
Vlsi ieee projectsVlsi ieee projects
Vlsi ieee projects
 
IEEE based Research projects List for M.tech/PhD students
IEEE based Research projects List for M.tech/PhD studentsIEEE based Research projects List for M.tech/PhD students
IEEE based Research projects List for M.tech/PhD students
 

Recently uploaded

Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.
MateoGardella
 
Gardella_PRCampaignConclusion Pitch Letter
Gardella_PRCampaignConclusion Pitch LetterGardella_PRCampaignConclusion Pitch Letter
Gardella_PRCampaignConclusion Pitch Letter
MateoGardella
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
negromaestrong
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
QucHHunhnh
 

Recently uploaded (20)

SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.
 
Gardella_PRCampaignConclusion Pitch Letter
Gardella_PRCampaignConclusion Pitch LetterGardella_PRCampaignConclusion Pitch Letter
Gardella_PRCampaignConclusion Pitch Letter
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 

Encoding Schemes for Multipliers

  • 1. Encoding Schemes for Multipliers Hardware multiplication is performed in the same way multiplication done by hand, first step is to partialized the products are computed then shifted appropriately and summed. Normal multiplication Process: The simplest multiplication operation is to directly calculate the product of two numbers by hand. This procedure can be divided into three steps: 1. Partial product generation 2. Partial product reduction 3. Addition. Let us calculate the product of 2’s complement of two numbers 1101(-3) and 5 (0101), when computing the two binary numbers product we get the result 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 ------------------------------------ 1 1 1 1 1 0 0 0 1 = −15 Product Discard this bit From the above we say that 1101 is multiplicand and 0101 is multiplier. The intermediate products are partial products. The final result is product (-15). When this method is processed in hardware, the operation is to take one of the multiplier bits at a time from right to left, multiplying the multiplicand by the single bit of the multiplier and shifting the intermediate product one position to the left of the earlier intermediate products. All the bits of the partial products in each column are added to obtain two bits: sum and carry. Finally, the sum and carry bits in each column have to be summed. The two rows before the product are called sum and carry bits.
  • 2. 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. ALU implements Booth algorithm to multiply binary number. ALU cannot simply multiply binary number as it can do only addition, subtraction and shifting. Working Principle:- Accumulator Multiplier Q Q-1 Multiplicand Action 0000 Step1 0000 0010 0001 0 0 0110 2’s complement of 0110 Shifting
  • 3. 1010 0000 Step 2 +1010 1010 1101 Step 3 0001 0000 0 1 0110 2’s complement of 0110 1010 Subtraction shifting 1101 Step 4 +0110 0011 0001 Step 5 0000 1000 1 0 0110 Addition Shifting 0000 Step 6 1100 0 Shifting 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. Based on this comparision we will perform the action on Accumulator and multiplicand. In the above table we multiplied 0010 and 0110 as an example and the result will be combination of both Accumulator and multiplier i.e 0000 1100(12). Q0 Q-1 Action on A and multiplicand 0 0 Shifting 0 1 Adding 1 0 Subtracting 1 1 Shifting
  • 4. Modified Booth Algorithm: The encoding method is widely used to generate the partial products for the implementation of large multipliers. It adopts parallel encoding scheme. 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: It implements Booth Algorithm encoding. Basic Principle:- The basic principle in modified Booth Algorithm is, consider X and Y are two fixed-point two’s complement numbers, where X is multiplier and Y is multiplicand both having same n bits. X can be represented as X = −𝑋 𝑛−12 𝑛−1 + ∑ 𝑋𝑖2𝑖𝑛−2 𝑖=0 = ∑ (−𝑋2𝑖−1 + 𝑋2𝑖 + 𝑋2𝑖−1). 22𝑖𝑛/2−1 𝑖=0 = ∑ (−2𝑋2𝑖+1 + 𝑋2𝑖 + 𝑋2𝑖−1). 4𝑖𝑛/2−1 𝑖=0 By multiplying the X with Y, results XY = ∑ (−2𝑋2𝑖+1 + 𝑋2𝑖 + 𝑋2𝑖−1). 4𝑖𝑛/2−1 𝑖=0 . 𝑌 From the above equation we portioned the bits of multipliers into substrings of 3 adjacent bits and each substring consists of(𝑋2𝑖+1, 𝑋2𝑖 , 𝑋2𝑖−1), 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
  • 5. 𝑋2𝑖+1 𝑋2𝑖 𝑋2𝑖−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 Possible values Operation on Y 0 0*Y: Y => 0 => Product is zero +1 +1*Y: Y => Product (Y is the product) +2 +2*Y: One Shift Y to the left => Product
  • 6. Architecture: Booth Multiplier Multiplier cell -1 -1*Y: Invert Y and add 1 to the LSB of Y => Product -2 -2*Y: One Shift to the left for Y, then inverted Y & added 1 to the LSB
  • 7. 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 𝑆0 = A XOR B 𝐶0 = AB The Boolean Expression for Full Adder is 𝑆0 = A XOR B XOR 𝐶𝑖𝑛 𝐶0 = A (~B) 𝐶𝑖𝑛+ ÃB𝐶𝑖𝑛+AB. Ramavathu Sakru Naik, NIT ROURKELA, SILICON MENTOR.