0% found this document useful (0 votes)
213 views40 pages

Placement and Routing

Placement and Routing

Uploaded by

raji
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
213 views40 pages

Placement and Routing

Placement and Routing

Uploaded by

raji
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 40

L14 Physical Design

6.375 Spring 2007


Ajay Joshi

Massachusetts Institute of Technology

1
RTL design flow

HDL

RTL manual
Synthesis design

netlist a

b
0
1
d
q

Library/ s clk

module Logic
generators optimization

a 0 d
netlist b 1
q

s clk

physical
design

layout

6.375 Spring 2007 L14 2


Physical design overall flow
Partitioning

Floorplanning

Placement
Improvement
Cost Estimation
Routing Region
Definition

Global Routing
Improvement
Cost Estimation

Detailed Routing
Improvement
Cost Estimation

Compaction/clean-up

Write Layout Database

6.375 Spring 2007 L14 3


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

6.375 Spring 2007 L14 4


Partitioning at different levels*

* Sherwani 92
6.375 Spring 2007 L14 5
Partitioning example*

* Sherwani 92

6.375 Spring 2007 L14 6


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) < Aimax)
Number of partitions (Kmin < k < Kmax)
Critical path should not cut boundaries

6.375 Spring 2007 L14 7


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

6.375 Spring 2007 L14 8


K-L algorithm example*

* Sherwani 92
6.375 Spring 2007 L14 9
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

6.375 Spring 2007 L14 10


Physical design overall flow
Partitioning

Floorplanning

Placement
Improvement
Cost Estimation
Routing Region
Definition

Global Routing
Improvement
Cost Estimation

Detailed Routing
Improvement
Cost Estimation

Compaction/clean-up

Write Layout Database

6.375 Spring 2007 L14 11


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

6.375 Spring 2007 L14 12


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

6.375 Spring 2007 L14 13


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


6.375 Spring 2007 L14 14
Sizing example*

6.375 Spring 2007 L14 15 Lim


* Sung Kyu
Floorplanning Algorithms
Stockmeyer algorithm
Simulated annealing
Linear programming
Sequence-pair based floorplanning

6.375 Spring 2007 L14 16


Floorplanning - Encounter

6.375 Spring 2007 L14 17


Physical design overall flow
Partitioning

Floorplanning

Placement
Improvement
Cost Estimation
Routing Region
Definition

Global Routing
Improvement
Cost Estimation

Detailed Routing
Improvement
Cost Estimation

Compaction/clean-up

Write Layout Database

6.375 Spring 2007 L14 18


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

6.375 Spring 2007 L14 19


Good placement vs Bad placement*

Good placement Bad placement


No congestion Congestion
Shorter wires Longer wire lengths
Less metal levels
More metal levels
Smaller delay
Longer delay
Lower power dissipation
Higher power dissipation
* S. Devadas
6.375 Spring 2007 L14 20
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

6.375 Spring 2007 L14 21


Annealing curve

* Sherwani 92
6.375 Spring 2007 L14 22
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
6.375 Spring 2007 L14 23
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

6.375 Spring 2007 L14 24


Placement - Encounter

6.375 Spring 2007 L14 25


Optimized placement - Encounter

6.375 Spring 2007 L14 26


Physical design overall flow
Partitioning

Floorplanning

Placement
Improvement
Cost Estimation
Routing Region
Definition

Global Routing
Improvement
Cost Estimation

Detailed Routing
Improvement
Cost Estimation

Compaction/clean-up

Write Layout Database

6.375 Spring 2007 L14 27


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

6.375 Spring 2007 L14 28


Global routing vs detailed routing*

* Sung Kyu Lim


6.375 Spring 2007 L14 29
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

6.375 Spring 2007 L14 30


Maze routing - example

* Sung Kyu Lim


6.375 Spring 2007 L14 31
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

6.375 Spring 2007 L14 32


Routing algorithms
Global routing
Maze routing
Cong/Preas algorithm
Spanning tree algorithm
Steiner tree algorithm
Detailed routing
2-L Channel routing: Basic left-edge algorithm
Y-K algorithm

6.375 Spring 2007 L14 33


Detailed routing - Encounter

6.375 Spring 2007 L14 34


Critical path - Encounter

6.375 Spring 2007 L14 35


Specialized routing

* Sherwani 92
6.375 Spring 2007 L14 36
Clock distribution - Encounter

6.375 Spring 2007 L14 37


Power routing*

*6.884 Spring 2005


6.375 Spring 2007 L14 38
Power distribution issues

Kaveh Shakeri
Noise in power supply
IR drop (static)
L di/dt (transient)
Electromigration
Solution: decoupling capacitance, wire
material

6.375 Spring 2007 L14 39


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

6.375 Spring 2007 L14 40

You might also like