SlideShare une entreprise Scribd logo
1  sur  23
Sp09 CMPEN 411 L20 S.1
CMPEN 411
VLSI Digital Circuits
Spring 2009
Lecture 20: Multiplier Design
[Adapted from Rabaey’s Digital Integrated Circuits, Second Edition, ©2003
J. Rabaey, A. Chandrakasan, B. Nikolic]
Sp09 CMPEN 411 L20 S.2
Review: Basic Building Blocks
 Datapath
Execution units
- Adder, multiplier, divider, shifter, etc.
Register file and pipeline registers
Multiplexers, decoders
 Control
Finite state machines (PLA, ROM, random logic)
 Interconnect
Switches, arbiters, buses
 Memory
Caches (SRAMs), TLBs, DRAMs, buffers
Sp09 CMPEN 411 L20 S.3
The Binary Multiplication
x
+
Partial products
Multiplicand
Multiplier
Result
1 0 1 0 1 0
1 0 1 0 1 0
1 0 1 0 1 0
1 1 1 0 0 1 1 1 0
0 0 0 0 0 0
1 0 1 0 1 0
1 0 1 1
Sp09 CMPEN 411 L20 S.4
Multiply Operation
 Multiplication is just a a lot of additions
multiplicand
multiplier
partial
product
array
double precision product
N
2N
N can be formed in parallel
Sp09 CMPEN 411 L20 S.5
Multiplication Approaches
 Right shift and add
Partial product array rows are accumulated from top to bottom
on an N-bit adder
- After each addition, right shift (by one bit) the accumulated partial
product to align it with the next row to add
Time for N bits Tserial_mult = O(NTadder) = O(N2
) for a RCA
 Making it faster
Use a faster adder
Use higher radix (e.g., base 4) multiplication – O(N/2 Tadder)
- Use multiplier recoding to simplify multiple formation (booth)
Form the partial product array in parallel and add it in parallel
 Making it smaller (i.e., slower)
Use serial-parallel mult
Use an array multiplier
- Very regular structure with only short wires to nearest neighbor
cells. Thus, very simple and efficient layout in VLSI Can be easily
and efficiently pipelined
Sp09 CMPEN 411 L20 S.6
Serial-parallel multiplier structure
Sp09 CMPEN 411 L20 S.7
The Array Multiplier
Y0
Y1
X3 X2 X1 X0
X3
HA
X2
FA
X1
FA
X0
HA
Y2X3
FA
X2
FA
X1
FA
X0
HA
Z1
Z3Z6Z7 Z5 Z4
Y3X3
FA
X2
FA
X1
FA
X0
HA
Sp09 CMPEN 411 L20 S.11
Booth multiplier
 Encoding scheme to reduce number of stages in
multiplication.
 Performs two bits of multiplication at once—requires half
the stages.
 Each stage is slightly more complex than simple
multiplier, but adder/subtracter is almost as small/fast as
adder.
Sp09 CMPEN 411 L20 S.12
Booth encoding
 Two’s-complement form of multiplier:
y = -2n
yn + 2n-1
yn-1 + 2n-2
yn-2 + ... (first bit is the sign bit)
(example, y=18=010010 y= -18 = 101110 )
 Rewrite using 2a
= 2a+1
- 2a
:
y = 2n
(yn-1-yn) + 2n-1
(yn-2 -yn-1) + 2n-2
(yn-3 -yn-2) + ...
 Consider first two terms: by looking at three bits of y, we
can determine whether to add x, 2x to partial product.
Sp09 CMPEN 411 L20 S.13
Booth actions
yi yi-1 yi-2 increment
0 0 0 0
0 0 1 x
0 1 0 x
0 1 1 2x
1 0 0 -2x
1 0 1 -x
1 1 0 -x
1 1 1 0
y = 2n
(yn-1-yn) + 2n-1
(yn-2 -yn-1) + 2n-2
(yn-3 -yn-2) + ...
 Consider first two terms: by looking at three bits of y, we
can determine whether to add x, 2x to partial product.
Sp09 CMPEN 411 L20 S.14
Booth example
 x = 1001 (910), y = 0111 (710).
 P0 = 00000000
 y3y2y1=011 y1y0y-1=11(0)
 y1y0y-1 = 110, P1 = P0 - (1001) = 11110111
 x shift left for 2 bits to be 100100
 y3y2y1 = 011, P2 = P1+ (10*100100) =
11110111+01001000 = 001111111 (6310)
 An array multiplier needs N addtions, booth multiplier
needs only N/2 additions
Sp09 CMPEN 411 L20 S.15
Review: A 64-bit Adder/Subtractor
1-bit
FA S0
C0=Cin
C1
1-bit
FA S1
C2
1-bit
FA S2
C3
C64=Cout
1-bit
FA S63
C63
...
 Ripple Carry Adder (RCA)
built out of 64 FAs
 Subtraction – complement
all subtrahend bits (xor
gates) and set the low
order carry-in
 RCA
 advantage: simple logic,
so small (low cost)
 disadvantage: slow (O(N)
for N bits) and lots of
glitching (so lots of energy
consumption)
A0
B0
A1
B1
A2
B2
A63
B63
add/subt
Sp09 CMPEN 411 L20 S.16
Booth structure
Sp09 CMPEN 411 L20 S.17
Wallace-Tree Multiplier
6 5 4 3 2 1 0 6 5 4 3 2 1 0
Partial products First stage
Bit position
6 5 4 3 2 1 0 6 5 4 3 2 1 0
Second stage Final adder
FA HA
(a) (b)
(c) (d)
Sp09 CMPEN 411 L20 S.18
Wallace-Tree Multiplier
Partial products
First stage
Second stage
Final adder
FA FA FA
HA HA
FA
x3y3
z7 z6 z5 z4 z3 z2 z1 z0
x3y2
x2y3
x1y1x3y0 x2y0 x0y1
x0y2
x2y2
x1y3
x1y2x3y1
x0y3 x1y0 x0y
Full adder = (3,2) compressor
Sp09 CMPEN 411 L20 S.19
Making it Faster: Tree Multiplier Structure
partial
product
array
reduction
tree
fast carry
propagate
adder (CPA)
P (product)
mux
+
reduction
tree (log N)
+
CPA (log N)
Q (‘ier)
D (‘icand)
D
D
D
0
0
0
0
multiple
forming
circuits
interconnect
Sp09 CMPEN 411 L20 S.20
(4,2) Counter
 Built out of two (3,2) counters (just FA’s!)
all of the inputs (4 external plus one internal) have
the same weight (i.e., are in the same bit position)
the internal carry output is fed to the next higher
weight position (indicated by the )
(3,2)
(3,2)
Note: Two carry outs - one
“internal” and one “external”
Sp09 CMPEN 411 L20 S.22
Tiling (4,2) Counters
 Reduces columns four high to columns only two high
Tiles with neighboring (4,2) counters
Internal carry in at same “level” (i.e., bit position weight) as the
internal carry out
(3,2)
(3,2)
(3,2)
(3,2)
(3,2)
(3,2)
Sp09 CMPEN 411 L20 S.24
4x4 Partial Product Array Reduction
multiplicand
multiplier
partial
product
array
reduced pp
array (to
CPA)
double
precision
product
 Fast 4x4 multiplication using (4,2) counters
 How would you
lay it out?
five (4,2) counters
5-bit CPA
multiplicand
multiplier
8-bit product
Sp09 CMPEN 411 L20 S.25
8x8 Partial Product Array Reduction
‘icand
‘ier
partial
product
array
reduced
partial
product
array
 Wallace tree
multiplier
two rows of
nine (4,2)
counters
one row of
thirteen
(4,2)
counters
to a 13-bit fast CPA
Sp09 CMPEN 411 L20 S.26
An 8x8 Multiplier Layout
 How should it be laid out?
multiplicand
multiplier
thirteen (4,2) counters
nine (4,2) counters
nine (4,2) counters
13-bit CPA
Sp09 CMPEN 411 L20 S.32
Multipliers —Summary
• Optimization Goals Different Vs Binary Adder
• Once Again: Identify Critical Path
• Other possible techniques
- Data encoding (Booth)
- Pipelining
FIRST GLIMPSE AT SYSTEM LEVEL OPTIMIZATION
- Logarithmic versus Linear (Wallace Tree Mult)
Sp09 CMPEN 411 L20 S.33
Next Lecture and Reminders
 Next lecture
Shifters, decoders, and multiplexers
- Reading assignment – Rabaey, et al, 11.5-11.6

Contenu connexe

Tendances (20)

Short channel effects
Short channel effectsShort channel effects
Short channel effects
 
Booth Multiplier
Booth MultiplierBooth Multiplier
Booth Multiplier
 
Introduction to VLSI Design
Introduction to VLSI DesignIntroduction to VLSI Design
Introduction to VLSI Design
 
VLSI
VLSIVLSI
VLSI
 
Pass transistor logic
Pass transistor logicPass transistor logic
Pass transistor logic
 
Vlsi ppt priyanka
Vlsi ppt priyankaVlsi ppt priyanka
Vlsi ppt priyanka
 
VLSI routing
VLSI routingVLSI routing
VLSI routing
 
Short Channel Effect In MOSFET
Short Channel Effect In MOSFETShort Channel Effect In MOSFET
Short Channel Effect In MOSFET
 
Silicon on Insulator (SOI) Technology
Silicon on Insulator (SOI) TechnologySilicon on Insulator (SOI) Technology
Silicon on Insulator (SOI) Technology
 
MOSFET Small signal model
MOSFET Small signal modelMOSFET Small signal model
MOSFET Small signal model
 
Twin well process
Twin well processTwin well process
Twin well process
 
gate level modeling
gate level modelinggate level modeling
gate level modeling
 
CMOS TG
CMOS TGCMOS TG
CMOS TG
 
Xilinx 4000 series
Xilinx 4000 seriesXilinx 4000 series
Xilinx 4000 series
 
Cmos fabrication
Cmos fabricationCmos fabrication
Cmos fabrication
 
Vlsi design and fabrication ppt
Vlsi design and fabrication  pptVlsi design and fabrication  ppt
Vlsi design and fabrication ppt
 
VLSI Testing Techniques
VLSI Testing TechniquesVLSI Testing Techniques
VLSI Testing Techniques
 
Layout design on MICROWIND
Layout design on MICROWINDLayout design on MICROWIND
Layout design on MICROWIND
 
Finfets
FinfetsFinfets
Finfets
 
Low power vlsi design ppt
Low power vlsi design pptLow power vlsi design ppt
Low power vlsi design ppt
 

En vedette

Bit Serial multiplier using Verilog
Bit Serial multiplier using VerilogBit Serial multiplier using Verilog
Bit Serial multiplier using VerilogBhargavKatkam
 
The Multipliers Seminar
The Multipliers SeminarThe Multipliers Seminar
The Multipliers SeminarGreg McKeown
 
DESIGN AND SIMULATION OF DIFFERENT 8-BIT MULTIPLIERS USING VERILOG CODE BY SA...
DESIGN AND SIMULATION OF DIFFERENT 8-BIT MULTIPLIERS USING VERILOG CODE BY SA...DESIGN AND SIMULATION OF DIFFERENT 8-BIT MULTIPLIERS USING VERILOG CODE BY SA...
DESIGN AND SIMULATION OF DIFFERENT 8-BIT MULTIPLIERS USING VERILOG CODE BY SA...Saikiran Panjala
 
All VLSI programs
All VLSI programsAll VLSI programs
All VLSI programsGouthaman V
 

En vedette (7)

Mux based array mul ppt
Mux based array mul pptMux based array mul ppt
Mux based array mul ppt
 
Bit Serial multiplier using Verilog
Bit Serial multiplier using VerilogBit Serial multiplier using Verilog
Bit Serial multiplier using Verilog
 
The Multipliers Seminar
The Multipliers SeminarThe Multipliers Seminar
The Multipliers Seminar
 
VERILOG CODE
VERILOG CODEVERILOG CODE
VERILOG CODE
 
DESIGN AND SIMULATION OF DIFFERENT 8-BIT MULTIPLIERS USING VERILOG CODE BY SA...
DESIGN AND SIMULATION OF DIFFERENT 8-BIT MULTIPLIERS USING VERILOG CODE BY SA...DESIGN AND SIMULATION OF DIFFERENT 8-BIT MULTIPLIERS USING VERILOG CODE BY SA...
DESIGN AND SIMULATION OF DIFFERENT 8-BIT MULTIPLIERS USING VERILOG CODE BY SA...
 
Array multiplier
Array multiplierArray multiplier
Array multiplier
 
All VLSI programs
All VLSI programsAll VLSI programs
All VLSI programs
 

Similaire à Multipliers in VLSI

ANALYSIS & DESIGN OF COMBINATIONAL LOGIC
ANALYSIS & DESIGN OF COMBINATIONAL LOGICANALYSIS & DESIGN OF COMBINATIONAL LOGIC
ANALYSIS & DESIGN OF COMBINATIONAL LOGICSupanna Shirguppe
 
Hardware combinational
Hardware combinationalHardware combinational
Hardware combinationalDefri Tan
 
Lec5 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Branch Pred...
Lec5 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Branch Pred...Lec5 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Branch Pred...
Lec5 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Branch Pred...Hsien-Hsin Sean Lee, Ph.D.
 
Opampless sigma delta_2019
Opampless sigma delta_2019Opampless sigma delta_2019
Opampless sigma delta_2019takashi miki
 
Instruction_Set.pdf
Instruction_Set.pdfInstruction_Set.pdf
Instruction_Set.pdfboukomra
 
Lesson 8_et438b (2).ppsx
Lesson 8_et438b (2).ppsxLesson 8_et438b (2).ppsx
Lesson 8_et438b (2).ppsxBkannan2
 
Bt0064 logic design1
Bt0064 logic design1Bt0064 logic design1
Bt0064 logic design1Techglyphs
 
Logic Design - Chapter 5: Part1 Combinattional Logic
Logic Design - Chapter 5: Part1 Combinattional LogicLogic Design - Chapter 5: Part1 Combinattional Logic
Logic Design - Chapter 5: Part1 Combinattional LogicGouda Mando
 
Design of Counter Using SRAM
Design of Counter Using SRAMDesign of Counter Using SRAM
Design of Counter Using SRAMIOSRJECE
 
Ceng232 Decoder Multiplexer Adder
Ceng232 Decoder Multiplexer AdderCeng232 Decoder Multiplexer Adder
Ceng232 Decoder Multiplexer Addergueste731a4
 
A Simple Communication System Design Lab #4 with MATLAB Simulink
A Simple Communication System Design Lab #4 with MATLAB SimulinkA Simple Communication System Design Lab #4 with MATLAB Simulink
A Simple Communication System Design Lab #4 with MATLAB SimulinkJaewook. Kang
 
fyp....fyp.....fyp.....
fyp....fyp.....fyp.....fyp....fyp.....fyp.....
fyp....fyp.....fyp.....VisualBee.com
 
Admission in india 2015
Admission in india 2015Admission in india 2015
Admission in india 2015Edhole.com
 
Programmable array-logic-and-programmable-logic-array
Programmable array-logic-and-programmable-logic-arrayProgrammable array-logic-and-programmable-logic-array
Programmable array-logic-and-programmable-logic-arrayJher Carlson Atasan
 
Digital electronics Multiplexers & Demultiplexers
Digital electronics Multiplexers & DemultiplexersDigital electronics Multiplexers & Demultiplexers
Digital electronics Multiplexers & DemultiplexersSweta Kumari Barnwal
 

Similaire à Multipliers in VLSI (20)

ANALYSIS & DESIGN OF COMBINATIONAL LOGIC
ANALYSIS & DESIGN OF COMBINATIONAL LOGICANALYSIS & DESIGN OF COMBINATIONAL LOGIC
ANALYSIS & DESIGN OF COMBINATIONAL LOGIC
 
Hardware combinational
Hardware combinationalHardware combinational
Hardware combinational
 
Lec5 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Branch Pred...
Lec5 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Branch Pred...Lec5 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Branch Pred...
Lec5 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Branch Pred...
 
Chapter-04.pdf
Chapter-04.pdfChapter-04.pdf
Chapter-04.pdf
 
Opampless sigma delta_2019
Opampless sigma delta_2019Opampless sigma delta_2019
Opampless sigma delta_2019
 
Instruction set
Instruction setInstruction set
Instruction set
 
Instruction_Set.pdf
Instruction_Set.pdfInstruction_Set.pdf
Instruction_Set.pdf
 
Lesson 8_et438b (2).ppsx
Lesson 8_et438b (2).ppsxLesson 8_et438b (2).ppsx
Lesson 8_et438b (2).ppsx
 
Bt0064 logic design1
Bt0064 logic design1Bt0064 logic design1
Bt0064 logic design1
 
Logic Design - Chapter 5: Part1 Combinattional Logic
Logic Design - Chapter 5: Part1 Combinattional LogicLogic Design - Chapter 5: Part1 Combinattional Logic
Logic Design - Chapter 5: Part1 Combinattional Logic
 
13486500-FFT.ppt
13486500-FFT.ppt13486500-FFT.ppt
13486500-FFT.ppt
 
Design of Counter Using SRAM
Design of Counter Using SRAMDesign of Counter Using SRAM
Design of Counter Using SRAM
 
Ofdm.pptx
Ofdm.pptxOfdm.pptx
Ofdm.pptx
 
Ceng232 Decoder Multiplexer Adder
Ceng232 Decoder Multiplexer AdderCeng232 Decoder Multiplexer Adder
Ceng232 Decoder Multiplexer Adder
 
A Simple Communication System Design Lab #4 with MATLAB Simulink
A Simple Communication System Design Lab #4 with MATLAB SimulinkA Simple Communication System Design Lab #4 with MATLAB Simulink
A Simple Communication System Design Lab #4 with MATLAB Simulink
 
fyp....fyp.....fyp.....
fyp....fyp.....fyp.....fyp....fyp.....fyp.....
fyp....fyp.....fyp.....
 
Admission in india 2015
Admission in india 2015Admission in india 2015
Admission in india 2015
 
Programmable array-logic-and-programmable-logic-array
Programmable array-logic-and-programmable-logic-arrayProgrammable array-logic-and-programmable-logic-array
Programmable array-logic-and-programmable-logic-array
 
pandu-vivek (1)
pandu-vivek (1)pandu-vivek (1)
pandu-vivek (1)
 
Digital electronics Multiplexers & Demultiplexers
Digital electronics Multiplexers & DemultiplexersDigital electronics Multiplexers & Demultiplexers
Digital electronics Multiplexers & Demultiplexers
 

Dernier

Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 

Dernier (20)

Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 

Multipliers in VLSI

  • 1. Sp09 CMPEN 411 L20 S.1 CMPEN 411 VLSI Digital Circuits Spring 2009 Lecture 20: Multiplier Design [Adapted from Rabaey’s Digital Integrated Circuits, Second Edition, ©2003 J. Rabaey, A. Chandrakasan, B. Nikolic]
  • 2. Sp09 CMPEN 411 L20 S.2 Review: Basic Building Blocks  Datapath Execution units - Adder, multiplier, divider, shifter, etc. Register file and pipeline registers Multiplexers, decoders  Control Finite state machines (PLA, ROM, random logic)  Interconnect Switches, arbiters, buses  Memory Caches (SRAMs), TLBs, DRAMs, buffers
  • 3. Sp09 CMPEN 411 L20 S.3 The Binary Multiplication x + Partial products Multiplicand Multiplier Result 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 1
  • 4. Sp09 CMPEN 411 L20 S.4 Multiply Operation  Multiplication is just a a lot of additions multiplicand multiplier partial product array double precision product N 2N N can be formed in parallel
  • 5. Sp09 CMPEN 411 L20 S.5 Multiplication Approaches  Right shift and add Partial product array rows are accumulated from top to bottom on an N-bit adder - After each addition, right shift (by one bit) the accumulated partial product to align it with the next row to add Time for N bits Tserial_mult = O(NTadder) = O(N2 ) for a RCA  Making it faster Use a faster adder Use higher radix (e.g., base 4) multiplication – O(N/2 Tadder) - Use multiplier recoding to simplify multiple formation (booth) Form the partial product array in parallel and add it in parallel  Making it smaller (i.e., slower) Use serial-parallel mult Use an array multiplier - Very regular structure with only short wires to nearest neighbor cells. Thus, very simple and efficient layout in VLSI Can be easily and efficiently pipelined
  • 6. Sp09 CMPEN 411 L20 S.6 Serial-parallel multiplier structure
  • 7. Sp09 CMPEN 411 L20 S.7 The Array Multiplier Y0 Y1 X3 X2 X1 X0 X3 HA X2 FA X1 FA X0 HA Y2X3 FA X2 FA X1 FA X0 HA Z1 Z3Z6Z7 Z5 Z4 Y3X3 FA X2 FA X1 FA X0 HA
  • 8. Sp09 CMPEN 411 L20 S.11 Booth multiplier  Encoding scheme to reduce number of stages in multiplication.  Performs two bits of multiplication at once—requires half the stages.  Each stage is slightly more complex than simple multiplier, but adder/subtracter is almost as small/fast as adder.
  • 9. Sp09 CMPEN 411 L20 S.12 Booth encoding  Two’s-complement form of multiplier: y = -2n yn + 2n-1 yn-1 + 2n-2 yn-2 + ... (first bit is the sign bit) (example, y=18=010010 y= -18 = 101110 )  Rewrite using 2a = 2a+1 - 2a : y = 2n (yn-1-yn) + 2n-1 (yn-2 -yn-1) + 2n-2 (yn-3 -yn-2) + ...  Consider first two terms: by looking at three bits of y, we can determine whether to add x, 2x to partial product.
  • 10. Sp09 CMPEN 411 L20 S.13 Booth actions yi yi-1 yi-2 increment 0 0 0 0 0 0 1 x 0 1 0 x 0 1 1 2x 1 0 0 -2x 1 0 1 -x 1 1 0 -x 1 1 1 0 y = 2n (yn-1-yn) + 2n-1 (yn-2 -yn-1) + 2n-2 (yn-3 -yn-2) + ...  Consider first two terms: by looking at three bits of y, we can determine whether to add x, 2x to partial product.
  • 11. Sp09 CMPEN 411 L20 S.14 Booth example  x = 1001 (910), y = 0111 (710).  P0 = 00000000  y3y2y1=011 y1y0y-1=11(0)  y1y0y-1 = 110, P1 = P0 - (1001) = 11110111  x shift left for 2 bits to be 100100  y3y2y1 = 011, P2 = P1+ (10*100100) = 11110111+01001000 = 001111111 (6310)  An array multiplier needs N addtions, booth multiplier needs only N/2 additions
  • 12. Sp09 CMPEN 411 L20 S.15 Review: A 64-bit Adder/Subtractor 1-bit FA S0 C0=Cin C1 1-bit FA S1 C2 1-bit FA S2 C3 C64=Cout 1-bit FA S63 C63 ...  Ripple Carry Adder (RCA) built out of 64 FAs  Subtraction – complement all subtrahend bits (xor gates) and set the low order carry-in  RCA  advantage: simple logic, so small (low cost)  disadvantage: slow (O(N) for N bits) and lots of glitching (so lots of energy consumption) A0 B0 A1 B1 A2 B2 A63 B63 add/subt
  • 13. Sp09 CMPEN 411 L20 S.16 Booth structure
  • 14. Sp09 CMPEN 411 L20 S.17 Wallace-Tree Multiplier 6 5 4 3 2 1 0 6 5 4 3 2 1 0 Partial products First stage Bit position 6 5 4 3 2 1 0 6 5 4 3 2 1 0 Second stage Final adder FA HA (a) (b) (c) (d)
  • 15. Sp09 CMPEN 411 L20 S.18 Wallace-Tree Multiplier Partial products First stage Second stage Final adder FA FA FA HA HA FA x3y3 z7 z6 z5 z4 z3 z2 z1 z0 x3y2 x2y3 x1y1x3y0 x2y0 x0y1 x0y2 x2y2 x1y3 x1y2x3y1 x0y3 x1y0 x0y Full adder = (3,2) compressor
  • 16. Sp09 CMPEN 411 L20 S.19 Making it Faster: Tree Multiplier Structure partial product array reduction tree fast carry propagate adder (CPA) P (product) mux + reduction tree (log N) + CPA (log N) Q (‘ier) D (‘icand) D D D 0 0 0 0 multiple forming circuits interconnect
  • 17. Sp09 CMPEN 411 L20 S.20 (4,2) Counter  Built out of two (3,2) counters (just FA’s!) all of the inputs (4 external plus one internal) have the same weight (i.e., are in the same bit position) the internal carry output is fed to the next higher weight position (indicated by the ) (3,2) (3,2) Note: Two carry outs - one “internal” and one “external”
  • 18. Sp09 CMPEN 411 L20 S.22 Tiling (4,2) Counters  Reduces columns four high to columns only two high Tiles with neighboring (4,2) counters Internal carry in at same “level” (i.e., bit position weight) as the internal carry out (3,2) (3,2) (3,2) (3,2) (3,2) (3,2)
  • 19. Sp09 CMPEN 411 L20 S.24 4x4 Partial Product Array Reduction multiplicand multiplier partial product array reduced pp array (to CPA) double precision product  Fast 4x4 multiplication using (4,2) counters  How would you lay it out? five (4,2) counters 5-bit CPA multiplicand multiplier 8-bit product
  • 20. Sp09 CMPEN 411 L20 S.25 8x8 Partial Product Array Reduction ‘icand ‘ier partial product array reduced partial product array  Wallace tree multiplier two rows of nine (4,2) counters one row of thirteen (4,2) counters to a 13-bit fast CPA
  • 21. Sp09 CMPEN 411 L20 S.26 An 8x8 Multiplier Layout  How should it be laid out? multiplicand multiplier thirteen (4,2) counters nine (4,2) counters nine (4,2) counters 13-bit CPA
  • 22. Sp09 CMPEN 411 L20 S.32 Multipliers —Summary • Optimization Goals Different Vs Binary Adder • Once Again: Identify Critical Path • Other possible techniques - Data encoding (Booth) - Pipelining FIRST GLIMPSE AT SYSTEM LEVEL OPTIMIZATION - Logarithmic versus Linear (Wallace Tree Mult)
  • 23. Sp09 CMPEN 411 L20 S.33 Next Lecture and Reminders  Next lecture Shifters, decoders, and multiplexers - Reading assignment – Rabaey, et al, 11.5-11.6

Notes de l'éditeur

  1. Right shift approach (almost) always used because left shift requires 2n bit adder
  2. One simple,small way to implement is the serial-parallel multiplier. So called because the n-bit multiplier is fed in serially while the m bit multiplicand is held in parallel.
  3. See Wayne Wolf book the
  4. a balanced delay tree 2 csa delays total
  5. For class handout
  6. For lecture a balanced delay tree 2 csa delays total
  7. For class handout
  8. For lecture
  9. Completely populate (costs more in terms of (4,2) counters) – advantage is the CPA doesn’t have to be as wide, so the multiplier faster, and the reduction tree is more “regular”