Lec - 29 Final
Lec - 29 Final
Lec - 29 Final
1
Contents
• Introduction
• Levels of placement
• Problem formulation
2
Introduction to placement
• Physical design flow:
Placement
3
Levels of placement
• The placement of the block occurs at three different levels:
4
Levels of placement
• System level placement:
– Place all the PCBs together so that the area occupied is minimal.
5
Levels of placement
• Board level placement:
6
Levels of placement
• Board level placement:
– There is no specific limit on the number of routing layers in the PCB.
– The primary objectives of board-level placement algorithms are:
1. Minimizing the number of routing layers to optimize signal
routing.
2. Meeting system performance requirements,
especially for high-performance circuits.
7
Levels of placement
• Board level placement:
8
Levels of placement
• Chip level placement:
– A key distinction from board-level placement is the
9
Levels of placement
• Chip level placement:
10
Problem Formulation
• Given
11
Problem Formulation
• Performance (timing) driven placement problem:
12
Problem Formulation
• The quality of a placement is based on several factors:
– layout area.
– circuit performance.
13
Problem Formulation
Picture source: Naveed A. Sherwani, Algorithms for VLSI Physical Design Automation
14
Problem Formulation
• Let B1, B2,…Bn be the blocks to be placed on the chip.
15
Problem Formulation
• The placement problem is to find iso-oriented rectangles for each
of these blocks on the plane denoted by R = {R1, R2,…Rn} such
that:
16
Problem Formulation
2. Placement is routable, i.e., Q j; 1 ≤ j ≤ k, is sufficient to route
all the nets. Where,
17
Problem Formulation
Where,
18
Problem Formulation
5. In the case of high-performance circuits, the length of
longest net max {Li | i = 1,..,m} is minimized.
19
Design style-specific placement problems
• Full custom design style:
20
Design style-specific placement problems
• Standard cells:
– Simpler than full custom placement, as cells have a uniform height.
– Cells are placed in rows. Minimizing layout area is equivalent to
• Minimizing the summation of channel heights
• Minimizing the width of the widest row.
– All rows should have equal widths to reduce
overall area.
21
Design style-specific placement problems
• Standard cells:
22
Design style-specific placement problems
• Gate arrays:
– Partitioning and placement are essentially the same in this design style.
23
Classification of placement algorithms
Partitioning
24
Classification based on input
– Constructive placement:
• Input consists of a set of blocks along with the netlist.
• The algorithm finds the locations of blocks.
– Iterative improvement:
• Start with an initial placement.
• modify the initial placement in search of a
better placement.
25
Classification based on output
• Deterministic placement algorithms:
26
Classification based on output
• Probabilistic placement algorithms:
27
Classification based on process
• Simulation-based algorithms:
– Simulation-based algorithms simulate some natural
phenomenon.
– There are three major algorithms in this class:
• simulated annealing
• simulated evolution
• force-directed placement
28
Classification based on process
• Partitioning-based algorithms:
– The netlist and the layout are divided into smaller sub-netlists
and sub-regions.
29
Classification based on process
• Other placement algorithms:
– The algorithms which use clustering and other approaches are
classified under ‘other’ placement algorithms.
– Examples include:
• Cluster Growth
• Quadratic Assignment
• Resistive Network Optimization
30
Thank You
31