SlideShare une entreprise Scribd logo
1  sur  31
VLSI Physical Design Automation
Introduction , partitioning
Hemant kumar
Roll No: 2910207
Cont no. 09992440824
Dept. of Electronics &
Communication Engg.,
KITM, KURUKSHETRA.
• VLSI CAD (also known as EDA – electronic design
automation) students, in particular for chip implementation
(physical design)
• Circuit designers to understand how tools work behind
the scene
• Process engineers to tune process that is more
circuit/physical design friendly
• Mathematical/Computer Science majors who want to find
tough problems to solve
– Lots of VLSI physical design problems can be
formulated into combinatorial optimization or
mathematical programming problems.
– Actually, most CAD problems are NP-complete ->
heuristics
Intended Audience
Objective of this Lecture
To review the materials used in fabrication of VLSI devices.
To review the structure of devices and process involved in
fabricating different types of VLSI circuits.
To review the basic algorithm concepts.
 Understand the process of VLSI layout design.
 Study the basic algorithms used in layout design of VLSI
circuits.
 Learn about the physical design automation techniques used
in the best-known academic and commercial layout systems.
Physical Design
• Converts a circuit description into a geometric
description.
– This description is used for fabrication of the chip.
• Basic steps in the physical design cycle:
1. Partitioning
2. Floorplanning
3. placement
4. Routing
5. Compaction
6
System Level Partitioning
Board Level Partitioning
Chip Level Partitioning
System
PCBs
Chips
Subcircuits
/ Blocks
So, what is Partitioning?
7
Why partition ?
• Ask Lord Curzon 
– The most effective way to solve problems of high
complexity : Parallel CAD Development
• System-level partitioning for multi-chip designs
– Inter-chip interconnection delay dominates system
performance
• IO Pin Limitation
• In deep-submicron designs, partitioning defines local
and global interconnect, and has significant impact on
circuit performance
Importance of Circuit Partitioning
 Divide-and-conquer methodology
 The most effective way to solve problems of high complexity
E.g.: min-cut based placement, partitioning-based test
generation,…
 System-level partitioning for multi-chip designs
inter-chip interconnection delay dominates system
performance.
 Circuit emulation/parallel simulation
partition large circuit into multiple FPGAs (e.g. Quickturn), or
multiple special-purpose processors (e.g. Zycad).
 Parallel CAD development
Task decomposition and load balancing
 In deep-submicron designs, partitioning defines local and
global interconnect, and has significant impact on circuit
performance
…… ……
9
Objectives
• Since each partition can correspond to a chip, interesting
objectives are:
– Minimum number of partitions
• Subject to maximum size (area) of each partition
– Minimum number of interconnections between partitions
• Since they correspond to off-chip wiring with more
delay and less reliability
• Less pin count on ICs (larger IO pins, much higher
packaging cost)
– Balanced partitioning given bound for area of each
partition
Partitioning:
Partitioning is the task of dividing a circuit into smaller parts .
The objective is to partition the circuit into parts, so that the size
of each component is within prescribed ranges and the number of
connections between the components is minimized .
Different ways to partition correspond to different circuit
implementations . Therefore, a good partitioning can significantly
improve circuit performance and reduce layout costs .
• Decomposition of a complex system into smaller subsystems
– Done hierarchically
– Partitioning done until each subsystem has manageable size
– Each subsystem can be designed independently
• Interconnections between partitions minimized
– Less hassle interfacing the subsystems
– Communication between subsystems usually costly
Partitioning of a Circuit
Input size: 48
Cut 1=4
Size 1=15
Cut 2=4
Size 2=16 Size 3=17
Hierarcahical Partitioning
• Levels of partitioning:
– System-level partitioning:
Each sub-system can be designed as a single PCB
– Board-level partitioning:
Circuit assigned to a PCB is partitioned into sub-circuits
each fabricated as a VLSI chip
– Chip-level partitioning:
Circuit assigned to the chip is divided into manageable sub-
circuits
NOTE: physically not necessary
13
Delay at Different Levels of Partitions
A
B
C
PCB1
D
x
10x
20x
PCB2
14
Partitioning: Formal Definition
• Input:
– Graph or hypergraph
– Usually with vertex weights
– Usually weighted edges
• Constraints
– Number of partitions (K-way partitioning)
– Maximum capacity of each partition
OR
maximum allowable difference between partitions
• Objective
– Assign nodes to partitions subject to constraints
s.t. the cutsize is minimized
• Tractability
- Is NP-complete 
Circuit Representation
• Netlist:
– Gates:A, B, C, D
– Nets: {A,B,C}, {B,D}, {C,D}
• Hypergraph:
– Vertices: A, B, C, D
– Hyperedges: {A,B,C}, {B,D}, {C,D}
– Vertex label: Gate size/area
– Hyperedge label:
Importance of net (weight)
A
B
C D
A
B
C D
16
Circuit Partitioning: Formulation
Bi-partitioning formulation:
Minimize interconnections between partitions
• Minimum cut: min c(x, x’)
• minimum bisection: min c(x, x’) with |x|= |x’|
• minimum ratio-cut: min c(x, x’) / |x||x’|
X X’
c(X,X’)
17
A Bi-Partitioning Example
Min-cut size=13
Min-Bisection size = 300
Min-ratio-cut size= 19
a
b
c e
d f
mini-ratio-cut min-bisection
min-cut
9
10
100
100 100
100100
100
4
Ratio-cut helps to identify natural clusters
18
Iterative Partitioning Algorithms
• Greedy iterative improvement method (Deterministic)
– [Kernighan-Lin 1970]
• Simulated Annealing (Non-Deterministic)
19
Restricted Partition Problem
• Restrictions:
– For Bisectioning of circuit
– Assume all gates are of the same size
– Works only for 2-terminal nets
• If all nets are 2-terminal, hypergraph  graph
a
b
c d
Hypergraph
Representation
Graph
Representation
a
b
c d
20
Problem Formulation
• Input: A graph with
– Set verticesV (|V| = 2n)
– Set of edges E (|E| = m)
– Cost cAB for each edge {A, B} in E
• Output: 2 partitions X &Y such that
– Total cost of edge cuts is minimized
– Each partition has n vertices
• This problem is NP-Complete!!!!!
21
A Trivial Approach
• Try all possible bisections and find the best one
• If there are 2n vertices,
# of possibilities = (2n)! / n!2 = nO(n)
• For 4 vertices (a,b,c,d), 3 possibilities
1. X={a,b} & Y={c,d}
2. X={a,c} & Y={b,d}
3. X={a,d} & Y={b,c}
• For 100 vertices, 5x1028 possibilities
• Need 1.59x1013 years if one can try 100M
possbilities per second
Definitions
• Definition 1: Consider any node a in block X. The
contribution of node a to the cutset is called the external cost
of a and is denoted as Ea, where
Ea =Σcav (for all v in Y)
• Definition 2: The internal cost Ia of node a in X is defined
as follows:
Ia =Σcav (for all v in X)
Example
• External cost (connection) Ea = 2
• Internal cost Ia = 1
a
b
c
d
X Y
Idea of KL Algorithm
• Da = Decrease in cut value if moving a = Ea-Ia
– Moving node a from block X to block Y would decrease the
value of the cutset by Ea and increase it by Ia
a
b
c
d
X Y
a
b
c
d
X Y
Da = 2-1 = 1
Db = 1-1 = 0
Idea of KL Algorithm
• Note that we want to balance two partitions
• If switch A & B, gain(A,B) = DA+DB-2cAB
– cAB : edge cost for AB
A
B
C
D
X Y
A
B
C
D
X Y
gain(A,B) = 1+0-2 = -1
• Start with any initial legal partitions X and Y
• A pass (exchanging each vertex exactly once) is described
below:
1. For i := 1 to n do
From the unlocked (unexchanged) vertices,
choose a pair (A,B) s.t. gain(A,B) is largest
Exchange A and B. Lock A and B.
Let gi = gain(A,B)
2. Find the k s.t. G=g1+...+gk is maximized
3. Switch the first k pairs
• Repeat the pass until there is no
improvement (G=0)
Idea of KL Algorithm
Example
1
X
2
3
4
5
6
Y
Original CutValue = 9
4
X
2
3
1
5
6
Y
Optimal CutValue = 5
A good step-by-step example in SY book
Time Complexity of KL
• For each pass,
– O(n2) time to find the best pair to exchange.
– n pairs exchanged.
– Total time is O(n3) per pass.
• Better implementation can get O(n2log n) time per pass.
• Number of passes is usually small.
Recap of Kernighan-Lin’s Algorithm
 Pair-wise exchange of nodes to reduce cut size
 Allow cut size to increase temporarily within a
pass
Compute the gain of a swap
Repeat Perform a feasible swap of max gain
Mark swapped nodes “locked”;
Update swap gains;
Until no feasible swap;
Find max prefix partial sum in gain sequence g1,
g2, …, gm
Make corresponding swaps permanent.
 Start another pass if current pass reduces the
cut size
(usually converge after a few passes)
u v a
v u
locked
Other Partitioning Methods
• KL and FM have each held up very well
• Min-cut / max-flow algorithms
–Ford-Fulkerson – for unconstrained
partitions
• Ratio cut
• Genetic algorithm
• Simulated annealing
References and Copyright
 Textbooks referred (none required)
 [Mic94] G. De Micheli
“Synthesis and Optimization of Digital Circuits”
McGraw-Hill, 1994.
 [CLR90] T. H. Cormen, C. E. Leiserson, R. L. Rivest
“Introduction to Algorithms”
MIT Press, 1990.
 [Sar96] M. Sarrafzadeh, C. K. Wong
“An Introduction to VLSI Physical Design”
McGraw-Hill, 1996.
 [She99] N. Sherwani
“Algorithms For VLSI Physical Design Automation”
Kluwer Academic Publishers, 3rd edition, 1999.
THANK YOU

Contenu connexe

Tendances

Paper id 37201520
Paper id 37201520Paper id 37201520
Paper id 37201520
IJRAT
 
Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)
IJERD Editor
 

Tendances (19)

Divide and Conquer Case Study
Divide and Conquer Case StudyDivide and Conquer Case Study
Divide and Conquer Case Study
 
DAOR - Bridging the Gap between Community and Node Representations: Graph Emb...
DAOR - Bridging the Gap between Community and Node Representations: Graph Emb...DAOR - Bridging the Gap between Community and Node Representations: Graph Emb...
DAOR - Bridging the Gap between Community and Node Representations: Graph Emb...
 
Scheduling Using Multi Objective Genetic Algorithm
Scheduling Using Multi Objective Genetic AlgorithmScheduling Using Multi Objective Genetic Algorithm
Scheduling Using Multi Objective Genetic Algorithm
 
FPGA Implementation of 2-D DCT & DWT Engines for Vision Based Tracking of Dyn...
FPGA Implementation of 2-D DCT & DWT Engines for Vision Based Tracking of Dyn...FPGA Implementation of 2-D DCT & DWT Engines for Vision Based Tracking of Dyn...
FPGA Implementation of 2-D DCT & DWT Engines for Vision Based Tracking of Dyn...
 
Dsp iit workshop
Dsp iit workshopDsp iit workshop
Dsp iit workshop
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
 
R044120124
R044120124R044120124
R044120124
 
SC-FDM-IDMA Scheme Employing BCH Coding
SC-FDM-IDMA Scheme Employing BCH Coding SC-FDM-IDMA Scheme Employing BCH Coding
SC-FDM-IDMA Scheme Employing BCH Coding
 
Hpg2011 papers kazakov
Hpg2011 papers kazakovHpg2011 papers kazakov
Hpg2011 papers kazakov
 
IRJET- Chord Classification of an Audio Signal using Artificial Neural Network
IRJET- Chord Classification of an Audio Signal using Artificial Neural NetworkIRJET- Chord Classification of an Audio Signal using Artificial Neural Network
IRJET- Chord Classification of an Audio Signal using Artificial Neural Network
 
Paper id 37201520
Paper id 37201520Paper id 37201520
Paper id 37201520
 
Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)
 
Optimized Network-coded Scalable Video Multicasting over eMBMS Networks
Optimized Network-coded Scalable Video Multicasting over eMBMS NetworksOptimized Network-coded Scalable Video Multicasting over eMBMS Networks
Optimized Network-coded Scalable Video Multicasting over eMBMS Networks
 
Interconnection Network
Interconnection NetworkInterconnection Network
Interconnection Network
 
An Efficient Multiplierless Transform algorithm for Video Coding
An Efficient Multiplierless Transform algorithm for Video CodingAn Efficient Multiplierless Transform algorithm for Video Coding
An Efficient Multiplierless Transform algorithm for Video Coding
 
Project 2: Baseband Data Communication
Project 2: Baseband Data CommunicationProject 2: Baseband Data Communication
Project 2: Baseband Data Communication
 
MDCT audio coding with pulse vector quantizers
MDCT audio coding with pulse vector quantizersMDCT audio coding with pulse vector quantizers
MDCT audio coding with pulse vector quantizers
 
Investigative Compression Of Lossy Images By Enactment Of Lattice Vector Quan...
Investigative Compression Of Lossy Images By Enactment Of Lattice Vector Quan...Investigative Compression Of Lossy Images By Enactment Of Lattice Vector Quan...
Investigative Compression Of Lossy Images By Enactment Of Lattice Vector Quan...
 
Id2514581462
Id2514581462Id2514581462
Id2514581462
 

En vedette

Makalah bahasa indonesia
Makalah bahasa indonesiaMakalah bahasa indonesia
Makalah bahasa indonesia
ogiig
 

En vedette (14)

Garsas o
Garsas   oGarsas   o
Garsas o
 
Közösségi média lehetőségek és kihívások vállalatok számára 2014-ben
Közösségi média lehetőségek és kihívások vállalatok számára 2014-benKözösségi média lehetőségek és kihívások vállalatok számára 2014-ben
Közösségi média lehetőségek és kihívások vállalatok számára 2014-ben
 
Incio del año 2017
Incio del año 2017Incio del año 2017
Incio del año 2017
 
The flipped classroom in action
The flipped classroom in actionThe flipped classroom in action
The flipped classroom in action
 
Integrált Közösségi Marketing Stratégia Vállalkozások számára 2014
Integrált Közösségi Marketing Stratégia Vállalkozások számára 2014Integrált Közösségi Marketing Stratégia Vállalkozások számára 2014
Integrált Közösségi Marketing Stratégia Vállalkozások számára 2014
 
Graphs towers watson
Graphs towers watsonGraphs towers watson
Graphs towers watson
 
Kv
KvKv
Kv
 
RIA
RIARIA
RIA
 
Mobile apps development
Mobile apps developmentMobile apps development
Mobile apps development
 
Makalah bahasa indonesia
Makalah bahasa indonesiaMakalah bahasa indonesia
Makalah bahasa indonesia
 
Boružiukų metraštis
Boružiukų metraštisBoružiukų metraštis
Boružiukų metraštis
 
Digitális Trendek és Bevezetés a Google Adwords Rendszerébe
Digitális Trendek és Bevezetés a Google Adwords RendszerébeDigitális Trendek és Bevezetés a Google Adwords Rendszerébe
Digitális Trendek és Bevezetés a Google Adwords Rendszerébe
 
Daugyba iš 2 ir 3
Daugyba iš 2 ir 3Daugyba iš 2 ir 3
Daugyba iš 2 ir 3
 
Žalgirio mūšis
Žalgirio mūšisŽalgirio mūšis
Žalgirio mūšis
 

Similaire à Vlsiphysicaldesignautomationonpartitioning 120219012744-phpapp01

Sorting and Routing on Hypercubes and Hypercubic Architectures
Sorting and Routing on Hypercubes and Hypercubic ArchitecturesSorting and Routing on Hypercubes and Hypercubic Architectures
Sorting and Routing on Hypercubes and Hypercubic Architectures
CTOGreenITHub
 
IOEfficientParalleMatrixMultiplication_present
IOEfficientParalleMatrixMultiplication_presentIOEfficientParalleMatrixMultiplication_present
IOEfficientParalleMatrixMultiplication_present
Shubham Joshi
 
Reducing Structural Bias in Technology Mapping
Reducing Structural Bias in Technology MappingReducing Structural Bias in Technology Mapping
Reducing Structural Bias in Technology Mapping
satrajit
 
Delay Calculation in CMOS Chips Using Logical Effort by Prof. Akhil Masurkar
Delay Calculation in CMOS Chips Using Logical Effort by Prof. Akhil MasurkarDelay Calculation in CMOS Chips Using Logical Effort by Prof. Akhil Masurkar
Delay Calculation in CMOS Chips Using Logical Effort by Prof. Akhil Masurkar
Akhil Masurkar
 
Delay Calculation in CMOS Chips Using Logical Effort by Prof. Akhil Masurkar
Delay Calculation in CMOS Chips Using Logical Effort by Prof. Akhil MasurkarDelay Calculation in CMOS Chips Using Logical Effort by Prof. Akhil Masurkar
Delay Calculation in CMOS Chips Using Logical Effort by Prof. Akhil Masurkar
Akhil Masurkar
 

Similaire à Vlsiphysicaldesignautomationonpartitioning 120219012744-phpapp01 (20)

Vlsi physical design automation on partitioning
Vlsi physical design automation on partitioningVlsi physical design automation on partitioning
Vlsi physical design automation on partitioning
 
Floor planning ppt
Floor planning pptFloor planning ppt
Floor planning ppt
 
09 placement
09 placement09 placement
09 placement
 
L3-.pptx
L3-.pptxL3-.pptx
L3-.pptx
 
6 Switch Fabric
6 Switch Fabric6 Switch Fabric
6 Switch Fabric
 
Lecture24 clockpower routing
Lecture24 clockpower routingLecture24 clockpower routing
Lecture24 clockpower routing
 
Sorting and Routing on Hypercubes and Hypercubic Architectures
Sorting and Routing on Hypercubes and Hypercubic ArchitecturesSorting and Routing on Hypercubes and Hypercubic Architectures
Sorting and Routing on Hypercubes and Hypercubic Architectures
 
IOEfficientParalleMatrixMultiplication_present
IOEfficientParalleMatrixMultiplication_presentIOEfficientParalleMatrixMultiplication_present
IOEfficientParalleMatrixMultiplication_present
 
SCALABLE PATTERN MATCHING OVER COMPRESSED GRAPHS VIA DE-DENSIFICATION
SCALABLE PATTERN MATCHING OVER COMPRESSED GRAPHS VIA DE-DENSIFICATIONSCALABLE PATTERN MATCHING OVER COMPRESSED GRAPHS VIA DE-DENSIFICATION
SCALABLE PATTERN MATCHING OVER COMPRESSED GRAPHS VIA DE-DENSIFICATION
 
Unit iii ppt1
Unit iii ppt1Unit iii ppt1
Unit iii ppt1
 
Implementation of Reversable Logic Based Design using Submicron Technology
Implementation of Reversable Logic Based Design using Submicron TechnologyImplementation of Reversable Logic Based Design using Submicron Technology
Implementation of Reversable Logic Based Design using Submicron Technology
 
Hardware Acceleration for Machine Learning
Hardware Acceleration for Machine LearningHardware Acceleration for Machine Learning
Hardware Acceleration for Machine Learning
 
Reducing Structural Bias in Technology Mapping
Reducing Structural Bias in Technology MappingReducing Structural Bias in Technology Mapping
Reducing Structural Bias in Technology Mapping
 
Vlsi
VlsiVlsi
Vlsi
 
zkStudyClub: PLONKUP & Reinforced Concrete [Luke Pearson, Joshua Fitzgerald, ...
zkStudyClub: PLONKUP & Reinforced Concrete [Luke Pearson, Joshua Fitzgerald, ...zkStudyClub: PLONKUP & Reinforced Concrete [Luke Pearson, Joshua Fitzgerald, ...
zkStudyClub: PLONKUP & Reinforced Concrete [Luke Pearson, Joshua Fitzgerald, ...
 
Oxford 05-oct-2012
Oxford 05-oct-2012Oxford 05-oct-2012
Oxford 05-oct-2012
 
Delay Calculation in CMOS Chips Using Logical Effort by Prof. Akhil Masurkar
Delay Calculation in CMOS Chips Using Logical Effort by Prof. Akhil MasurkarDelay Calculation in CMOS Chips Using Logical Effort by Prof. Akhil Masurkar
Delay Calculation in CMOS Chips Using Logical Effort by Prof. Akhil Masurkar
 
Delay Calculation in CMOS Chips Using Logical Effort by Prof. Akhil Masurkar
Delay Calculation in CMOS Chips Using Logical Effort by Prof. Akhil MasurkarDelay Calculation in CMOS Chips Using Logical Effort by Prof. Akhil Masurkar
Delay Calculation in CMOS Chips Using Logical Effort by Prof. Akhil Masurkar
 
Parallel Implementation of K Means Clustering on CUDA
Parallel Implementation of K Means Clustering on CUDAParallel Implementation of K Means Clustering on CUDA
Parallel Implementation of K Means Clustering on CUDA
 
Network Deconvolution review [cdm]
Network Deconvolution review [cdm]Network Deconvolution review [cdm]
Network Deconvolution review [cdm]
 

Dernier

Dernier (20)

On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptxCOMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
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
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 

Vlsiphysicaldesignautomationonpartitioning 120219012744-phpapp01

  • 1. VLSI Physical Design Automation Introduction , partitioning Hemant kumar Roll No: 2910207 Cont no. 09992440824 Dept. of Electronics & Communication Engg., KITM, KURUKSHETRA.
  • 2. • VLSI CAD (also known as EDA – electronic design automation) students, in particular for chip implementation (physical design) • Circuit designers to understand how tools work behind the scene • Process engineers to tune process that is more circuit/physical design friendly • Mathematical/Computer Science majors who want to find tough problems to solve – Lots of VLSI physical design problems can be formulated into combinatorial optimization or mathematical programming problems. – Actually, most CAD problems are NP-complete -> heuristics Intended Audience
  • 3. Objective of this Lecture To review the materials used in fabrication of VLSI devices. To review the structure of devices and process involved in fabricating different types of VLSI circuits. To review the basic algorithm concepts.  Understand the process of VLSI layout design.  Study the basic algorithms used in layout design of VLSI circuits.  Learn about the physical design automation techniques used in the best-known academic and commercial layout systems.
  • 4. Physical Design • Converts a circuit description into a geometric description. – This description is used for fabrication of the chip. • Basic steps in the physical design cycle: 1. Partitioning 2. Floorplanning 3. placement 4. Routing 5. Compaction
  • 5. 6 System Level Partitioning Board Level Partitioning Chip Level Partitioning System PCBs Chips Subcircuits / Blocks So, what is Partitioning?
  • 6. 7 Why partition ? • Ask Lord Curzon  – The most effective way to solve problems of high complexity : Parallel CAD Development • System-level partitioning for multi-chip designs – Inter-chip interconnection delay dominates system performance • IO Pin Limitation • In deep-submicron designs, partitioning defines local and global interconnect, and has significant impact on circuit performance
  • 7. Importance of Circuit Partitioning  Divide-and-conquer methodology  The most effective way to solve problems of high complexity E.g.: min-cut based placement, partitioning-based test generation,…  System-level partitioning for multi-chip designs inter-chip interconnection delay dominates system performance.  Circuit emulation/parallel simulation partition large circuit into multiple FPGAs (e.g. Quickturn), or multiple special-purpose processors (e.g. Zycad).  Parallel CAD development Task decomposition and load balancing  In deep-submicron designs, partitioning defines local and global interconnect, and has significant impact on circuit performance …… ……
  • 8. 9 Objectives • Since each partition can correspond to a chip, interesting objectives are: – Minimum number of partitions • Subject to maximum size (area) of each partition – Minimum number of interconnections between partitions • Since they correspond to off-chip wiring with more delay and less reliability • Less pin count on ICs (larger IO pins, much higher packaging cost) – Balanced partitioning given bound for area of each partition
  • 9. Partitioning: Partitioning is the task of dividing a circuit into smaller parts . The objective is to partition the circuit into parts, so that the size of each component is within prescribed ranges and the number of connections between the components is minimized . Different ways to partition correspond to different circuit implementations . Therefore, a good partitioning can significantly improve circuit performance and reduce layout costs . • Decomposition of a complex system into smaller subsystems – Done hierarchically – Partitioning done until each subsystem has manageable size – Each subsystem can be designed independently • Interconnections between partitions minimized – Less hassle interfacing the subsystems – Communication between subsystems usually costly
  • 10. Partitioning of a Circuit Input size: 48 Cut 1=4 Size 1=15 Cut 2=4 Size 2=16 Size 3=17
  • 11. Hierarcahical Partitioning • Levels of partitioning: – System-level partitioning: Each sub-system can be designed as a single PCB – Board-level partitioning: Circuit assigned to a PCB is partitioned into sub-circuits each fabricated as a VLSI chip – Chip-level partitioning: Circuit assigned to the chip is divided into manageable sub- circuits NOTE: physically not necessary
  • 12. 13 Delay at Different Levels of Partitions A B C PCB1 D x 10x 20x PCB2
  • 13. 14 Partitioning: Formal Definition • Input: – Graph or hypergraph – Usually with vertex weights – Usually weighted edges • Constraints – Number of partitions (K-way partitioning) – Maximum capacity of each partition OR maximum allowable difference between partitions • Objective – Assign nodes to partitions subject to constraints s.t. the cutsize is minimized • Tractability - Is NP-complete 
  • 14. Circuit Representation • Netlist: – Gates:A, B, C, D – Nets: {A,B,C}, {B,D}, {C,D} • Hypergraph: – Vertices: A, B, C, D – Hyperedges: {A,B,C}, {B,D}, {C,D} – Vertex label: Gate size/area – Hyperedge label: Importance of net (weight) A B C D A B C D
  • 15. 16 Circuit Partitioning: Formulation Bi-partitioning formulation: Minimize interconnections between partitions • Minimum cut: min c(x, x’) • minimum bisection: min c(x, x’) with |x|= |x’| • minimum ratio-cut: min c(x, x’) / |x||x’| X X’ c(X,X’)
  • 16. 17 A Bi-Partitioning Example Min-cut size=13 Min-Bisection size = 300 Min-ratio-cut size= 19 a b c e d f mini-ratio-cut min-bisection min-cut 9 10 100 100 100 100100 100 4 Ratio-cut helps to identify natural clusters
  • 17. 18 Iterative Partitioning Algorithms • Greedy iterative improvement method (Deterministic) – [Kernighan-Lin 1970] • Simulated Annealing (Non-Deterministic)
  • 18. 19 Restricted Partition Problem • Restrictions: – For Bisectioning of circuit – Assume all gates are of the same size – Works only for 2-terminal nets • If all nets are 2-terminal, hypergraph  graph a b c d Hypergraph Representation Graph Representation a b c d
  • 19. 20 Problem Formulation • Input: A graph with – Set verticesV (|V| = 2n) – Set of edges E (|E| = m) – Cost cAB for each edge {A, B} in E • Output: 2 partitions X &Y such that – Total cost of edge cuts is minimized – Each partition has n vertices • This problem is NP-Complete!!!!!
  • 20. 21 A Trivial Approach • Try all possible bisections and find the best one • If there are 2n vertices, # of possibilities = (2n)! / n!2 = nO(n) • For 4 vertices (a,b,c,d), 3 possibilities 1. X={a,b} & Y={c,d} 2. X={a,c} & Y={b,d} 3. X={a,d} & Y={b,c} • For 100 vertices, 5x1028 possibilities • Need 1.59x1013 years if one can try 100M possbilities per second
  • 21. Definitions • Definition 1: Consider any node a in block X. The contribution of node a to the cutset is called the external cost of a and is denoted as Ea, where Ea =Σcav (for all v in Y) • Definition 2: The internal cost Ia of node a in X is defined as follows: Ia =Σcav (for all v in X)
  • 22. Example • External cost (connection) Ea = 2 • Internal cost Ia = 1 a b c d X Y
  • 23. Idea of KL Algorithm • Da = Decrease in cut value if moving a = Ea-Ia – Moving node a from block X to block Y would decrease the value of the cutset by Ea and increase it by Ia a b c d X Y a b c d X Y Da = 2-1 = 1 Db = 1-1 = 0
  • 24. Idea of KL Algorithm • Note that we want to balance two partitions • If switch A & B, gain(A,B) = DA+DB-2cAB – cAB : edge cost for AB A B C D X Y A B C D X Y gain(A,B) = 1+0-2 = -1
  • 25. • Start with any initial legal partitions X and Y • A pass (exchanging each vertex exactly once) is described below: 1. For i := 1 to n do From the unlocked (unexchanged) vertices, choose a pair (A,B) s.t. gain(A,B) is largest Exchange A and B. Lock A and B. Let gi = gain(A,B) 2. Find the k s.t. G=g1+...+gk is maximized 3. Switch the first k pairs • Repeat the pass until there is no improvement (G=0) Idea of KL Algorithm
  • 26. Example 1 X 2 3 4 5 6 Y Original CutValue = 9 4 X 2 3 1 5 6 Y Optimal CutValue = 5 A good step-by-step example in SY book
  • 27. Time Complexity of KL • For each pass, – O(n2) time to find the best pair to exchange. – n pairs exchanged. – Total time is O(n3) per pass. • Better implementation can get O(n2log n) time per pass. • Number of passes is usually small.
  • 28. Recap of Kernighan-Lin’s Algorithm  Pair-wise exchange of nodes to reduce cut size  Allow cut size to increase temporarily within a pass Compute the gain of a swap Repeat Perform a feasible swap of max gain Mark swapped nodes “locked”; Update swap gains; Until no feasible swap; Find max prefix partial sum in gain sequence g1, g2, …, gm Make corresponding swaps permanent.  Start another pass if current pass reduces the cut size (usually converge after a few passes) u v a v u locked
  • 29. Other Partitioning Methods • KL and FM have each held up very well • Min-cut / max-flow algorithms –Ford-Fulkerson – for unconstrained partitions • Ratio cut • Genetic algorithm • Simulated annealing
  • 30. References and Copyright  Textbooks referred (none required)  [Mic94] G. De Micheli “Synthesis and Optimization of Digital Circuits” McGraw-Hill, 1994.  [CLR90] T. H. Cormen, C. E. Leiserson, R. L. Rivest “Introduction to Algorithms” MIT Press, 1990.  [Sar96] M. Sarrafzadeh, C. K. Wong “An Introduction to VLSI Physical Design” McGraw-Hill, 1996.  [She99] N. Sherwani “Algorithms For VLSI Physical Design Automation” Kluwer Academic Publishers, 3rd edition, 1999.

Notes de l'éditeur

  1. Maximum difference between partition sizes is usually specified as a percentage. For example, if 5% is the maximum allowable imbalance, then a partition cannot have more than 55% of the vertices (or sum of vertex weights) in a 2-way partitioning solutionWhat does cutsize mean?It refers to the number (sum of weights) of the edges that are “cut”, i.e., connect two vertices from two different partitions