massachusetts institute of technology 1 l14 – physical design 6.375 spring 2007 ajay joshi
TRANSCRIPT
![Page 1: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/1.jpg)
1
Massachusetts Institute of Technology
L14 – Physical Design
6.375 Spring 2007
Ajay Joshi
![Page 2: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/2.jpg)
26.375 Spring 2007 L14
RTL design flow
RTLSynthesis
HDL
netlist
Logicoptimization
netlist
Library/modulegenerators
physicaldesign
layout
manualdesign
a
b
s
q0
1
d
clk
a
b
s
q0
1
d
clk
![Page 3: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/3.jpg)
36.375 Spring 2007 L14
Physical design – overall flow
Placement
Cost Estimation
Routing RegionDefinition
Global Routing
Compaction/clean-up
Detailed Routing
Cost Estimation
Write Layout Database
Floorplanning
Partitioning
Improvement
Cost EstimationImprovement
Improvement
![Page 4: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/4.jpg)
46.375 Spring 2007 L14
Partitioning Decompose a large complex system into
smaller subsystems Decompose hierarchically until each
subsystem is of manageable size Design each subsystem separately to speed
up the process Minimize connection between two
subsystems to reduce interdependency
![Page 5: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/5.jpg)
56.375 Spring 2007 L14
Partitioning at different levels*
* © Sherwani 92
![Page 6: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/6.jpg)
66.375 Spring 2007 L14
Partitioning example*
* © Sherwani 92
![Page 7: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/7.jpg)
76.375 Spring 2007 L14
Partitioning problem Objective:
Minimize interconnections between partitions Minimize delay due to partitioning
Constraints Number of terminals in each subsystem (Count (Vi) <
Ti)
Area of each partition (Aimin < Area(Vi) < Ai
max)
Number of partitions (Kmin < k < Kmax) Critical path should not cut boundaries
![Page 8: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/8.jpg)
86.375 Spring 2007 L14
Kernighan-Lin algorithm Input: Graph representation of the circuit Output: Two subsets of equal sizes Bisecting algorithm :
Initial bisection Vertex pairs which gives the largest decrease in
cutsize are exchanged Exchanged vertices are locked If no improvement is possible and some vertices
are still unlocked then vertices which give smallest increase are exchanged
![Page 9: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/9.jpg)
96.375 Spring 2007 L14
K-L algorithm example*
* © Sherwani 92
![Page 10: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/10.jpg)
106.375 Spring 2007 L14
Partitioning methods Top-down partitioning
Iterative improvement Spectral based Clustering methods Network flow based Analytical based Multi-level
Bottom-up clustering Unit delay model General delay model Sequential circuits with retiming
![Page 11: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/11.jpg)
116.375 Spring 2007 L14
Physical design – overall flow
Placement
Cost Estimation
Routing RegionDefinition
Global Routing
Compaction/clean-up
Detailed Routing
Cost Estimation
Write Layout Database
Floorplanning
Partitioning
Improvement
Cost EstimationImprovement
Improvement
![Page 12: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/12.jpg)
126.375 Spring 2007 L14
Floorplanning Output from partitioning used for floorplanning Inputs:
Blocks with well-defined shapes and area Blocks with approximated area and no particular
shape Netlist specifying block connections
Outputs: Locations for all blocks
![Page 13: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/13.jpg)
136.375 Spring 2007 L14
Floorplanning problem* Objectives
Minimize area Reduce wirelength Maximize routability Determine shapes
of flexible blocks Constraints
Shape of each block Area of each block Pin locations for
each block Aspect ratio
* Sung Kyu Lim
![Page 14: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/14.jpg)
146.375 Spring 2007 L14
Slicing floorplan sizing* General case: all modules are soft macros Phase 1: bottom-up
Input – floorplan tree, modules shapes Start with a sorted shapes list of modules Perform vertical_node_sizing and
horizontal_node_sizing On reaching the root node, we have a list of
shapes, select the one that is best in terms of area Phase 2: top-down
Traverse the floorplan tree and set module locations
* Sung Kyu Lim
![Page 15: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/15.jpg)
156.375 Spring 2007 L14
Sizing example*
* Sung Kyu Lim
![Page 16: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/16.jpg)
166.375 Spring 2007 L14
Floorplanning Algorithms Stockmeyer algorithm Simulated annealing Linear programming Sequence-pair based floorplanning
![Page 17: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/17.jpg)
176.375 Spring 2007 L14
Floorplanning - Encounter
![Page 18: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/18.jpg)
186.375 Spring 2007 L14
Physical design – overall flow
Placement
Cost Estimation
Routing RegionDefinition
Global Routing
Compaction/clean-up
Detailed Routing
Cost Estimation
Write Layout Database
Floorplanning
Partitioning
Improvement
Cost EstimationImprovement
Improvement
![Page 19: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/19.jpg)
196.375 Spring 2007 L14
Placement The process of arranging circuit components
on a layout surface Inputs : Set of fixed modules, netlist Output : Best position for each module based
on various cost functions Cost functions include wirelength, wire
routability, hotspots, performance, I/O pads
![Page 20: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/20.jpg)
206.375 Spring 2007 L14
Good placement vs Bad placement*
* S. Devadas
Good placement No congestion Shorter wires Less metal levels Smaller delay Lower power dissipation
Bad placement Congestion Longer wire lengths More metal levels Longer delay Higher power dissipation
![Page 21: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/21.jpg)
216.375 Spring 2007 L14
Simulated annealing algorithm Global optimization technique Cooling schedule is adopted An action performed at each new temperature Estimate the cost associated with an action If new cost < old cost accept the action If new cost > old cost then accept the action
with probability p Probability p depends on a temperature
schedule – Higher p at higher temperature
![Page 22: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/22.jpg)
226.375 Spring 2007 L14
Annealing curve
* © Sherwani 92
![Page 23: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/23.jpg)
236.375 Spring 2007 L14
Placement using simulated annealing Use initial placement results – e.g. random
placement Two stage process*
Stage 1 Modules moved between different rows and same row Module overlaps allowed Stage two begins when temperature falls below a certain
value Stage 2
Module overlaps removed Annealing continued, but interchange adjacent modules
in the same row
* Sechen DAC86
![Page 24: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/24.jpg)
246.375 Spring 2007 L14
Placement methods Constructive methods
Cluster growth algorithm Force-directed method Algorithm by Goto Min-cut based algorithm
Iterative improvement methods Pairwise exchange Simulated annealing – Timberwolf Genetic algorithm
Analytical methods Gordian, Gordian-L
![Page 25: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/25.jpg)
256.375 Spring 2007 L14
Placement - Encounter
![Page 26: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/26.jpg)
266.375 Spring 2007 L14
Optimized placement - Encounter
![Page 27: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/27.jpg)
276.375 Spring 2007 L14
Physical design – overall flow
Placement
Cost Estimation
Routing RegionDefinition
Global Routing
Compaction/clean-up
Detailed Routing
Cost Estimation
Write Layout Database
Floorplanning
Partitioning
Improvement
Cost EstimationImprovement
Improvement
![Page 28: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/28.jpg)
286.375 Spring 2007 L14
Routing Connect the various standard cells using
wires Input:
Cell locations, netlist Output:
Geometric layout of each net connecting various standard cells
Two-step process Global routing Detailed routing
![Page 29: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/29.jpg)
296.375 Spring 2007 L14
Global routing vs detailed routing*
* Sung Kyu Lim
![Page 30: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/30.jpg)
306.375 Spring 2007 L14
Routing problem formulation Objective
100% connectivity of a system Minimize area Minimize wirelength
Constraints Number of routing layers Design rules Timing (delay) Crosstalk Process variations
![Page 31: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/31.jpg)
316.375 Spring 2007 L14
Maze routing - example
* Sung Kyu Lim
![Page 32: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/32.jpg)
326.375 Spring 2007 L14
Maze routing Mainly for single-layer routing Strengths
Finds a connection between two terminals if it exists
Weakness Large memory required as dense layout Slow
Application – global routing, detailed routing
![Page 33: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/33.jpg)
336.375 Spring 2007 L14
Routing algorithms Global routing
Maze routing Cong/Prea’s algorithm Spanning tree algorithm Steiner tree algorithm
Detailed routing 2-L Channel routing: Basic left-edge algorithm Y-K algorithm
![Page 34: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/34.jpg)
346.375 Spring 2007 L14
Detailed routing - Encounter
![Page 35: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/35.jpg)
356.375 Spring 2007 L14
Critical path - Encounter
![Page 36: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/36.jpg)
366.375 Spring 2007 L14
Specialized routing
* © Sherwani 92
![Page 37: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/37.jpg)
376.375 Spring 2007 L14
Clock distribution - Encounter
![Page 38: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/38.jpg)
386.375 Spring 2007 L14
Power routing*
*6.884 Spring 2005
![Page 39: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/39.jpg)
396.375 Spring 2007 L14
Power distribution issues
Noise in power supply IR drop (static) L di/dt (transient)
Electromigration Solution: decoupling capacitance, wire
material
Kaveh Shakeri
![Page 40: Massachusetts Institute of Technology 1 L14 – Physical Design 6.375 Spring 2007 Ajay Joshi](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649ed85503460f94be6cd9/html5/thumbnails/40.jpg)
406.375 Spring 2007 L14
Summary Looked at the physical design flow Involved several steps
Partitioning Floorplanning Placement Routing
Each step can be formulated as an optimization problem
Need to go through 2 or more iterations in each step to generate an optimized solution