Sie sind auf Seite 1von 46

1

PLACEMENT IN
PHYSICAL
DESIGN
(ASHISH KUMAR SINGH,PRIYANKA BRAHMA,SWEETY KUMARI)
M.TECH –VLSI
NIT SILCHAR,ASSAM
2
AGENDA
WHAT IS PLACEMENT AND ITS TYPES
BACK END PROCESS
PLACEMENT PROBLEM FORMULATION
ALGORITHMS
SIMULATED BASED PLACEMENT
PARTITIONING BASED PLACEMENT
3

PLACEMENT AND ITS TYPES


PLACEMENT- 4

Placement is the process of determining the locations of


circuit devices on a die surface. It is an important stage
in the VLSI design flow, because it affects rout ability,
performance, heat distribution, and to a less extent,
power consumption of a design. Traditionally, it is
applied after the logic synthesis stage and before the
routing stage
Cont- 5

Placement is a critical step in the VLSI design flow


mainly for the following four reasons. First, placement
is a key factor in determining the performance of a
circuit. Placement largely determines the length and,
hence, the delay of interconnect wires. As feature size
in advanced VLSI technology continues to reduce,
interconnect delay has become the determining factor of
circuit performance
Types of placement- 6

1. STANDARD CELL PLACEMENT –


STANDARD CELLS HAVE BEEN DESIGNED IN SUCH A WAY THAT
POWER AND CLOCK CONNECTIONS RUN HORIZONTALLY THROUGH
THE CELL AND OTHER I/O LEAVES THE CELL FROM THE TOP OR
BOTTOM SIDES.
2. Building block placement 7
CELLS TO BE PLACED HAVE ARBITRARY SHAPE.
8
Placement is done in three steps:
1. Global placement
generate a rough placement that may violate
some placement constraints (e.g., there may be
overlaps among modules)
2. Legalization placement
makes the rough solution from global placement
legal (no placement constraint violation) by
moving modules around locally.
3. Detailed placement
further improves the legalized placement
solution in an iterative manner by rearranging a
small group of modules in a local region while
keeping all other modules fixed.
Out of the three steps important one is 9
global placement
Approaches for global placement are :
 Partitioning based approach (min cut partitioning)
 Simulated annealing approach
 Analytical approach (best)

Placement is the problem of automatically assigning correct positions to


predesigned cells on the chip with no overlapping such that some objective
function is optimized.

Placement is design state after logic synthesis and before routing.


10
11

BACK END PROCESS


12
1. PARTITIONING
GOAL: PARTITION OF A SYSTEM INTO NUMBER OF
ASIC’S(APPLICATION SPECIFIC INTEGRATED CHIP)
OBJECTIVE: MINIMISE THE NUMBER OF EXTERNAL
CONNECTIONS BETWEEN EACH ASIC. KEEP EACH ASIC
SMALLER THAN MAX SIZE.

2. FLOORPLANNING
GOAL: CALCULATE THE SIZE OF BLOCKS AND ASSIGN THEM
LOCATIONS.
OBJECTIVE: KEEP HIGHLY CONNECTED BLOCKS
PHYSICALLY CLOSE TO EACH OTHER.
3. Placement 13
Goal: assign the interconnect areas and the locations
of all the logic cells within the flexible block
Objective: minimise the ASIC area and the
interconnects
4. Global routing
Goal: determine the location of all the interconnects
Objective: minimise the total interconnect area.
5. Detailed routing
Goal: completely route all the interconnects on the
chip
Objective: minimise the total interconnect length
used
14

PLACEMENT PROBLEM FORMULATION


 INPUT: 15
Placement region, a set of modules, and a set of nets. The
widths and heights of the placement region and all modules are
given. The locations of I/O pins on the placement region and
on all modules are fixed.

 OUTPUT:

A set of location on the chip : one location for each cell.


•OBJECTIVES: 16
Minimize the ASIC area and the interconnects
•GOAL:

Arrange all the logic cells within flexible blocks

The cells are placed to produce a routable chip that meets timing

and other constraints (e.g., low-power, noise, etc.)


•CHALLENGE:
The number of cells in a design is very large (> 1 million).
17
Global and Detailed Placement
IN GLOBAL PLACEMENT ,
THE APPROXIMATE
LOCATIONS FOR CELLS IS DECIDED
BY PLACING CELLS IN GLOBAL BINS.

IN DETAILED PLACEMENT, CELLS ARE


PLACED WITHOUT OVER LAPPING.
Good and bad placement 18

Good placement Bad placement

 Minimize area (total wiring  Consumes large areas


area)  Results in performance
 Ensure routability degradation
 Avoid signal interference  Results in difficult and
 Distribute heat sometimes impossible tasks
(Routing)
 Maximize performance
 An ill-placed layout cannot
be improved by high quality
routing.
19
20

PLACEMENT ALGORITHMS
21

Optimisation of the following is done using


placement algorithm

•TOTAL AREA

•TOTAL WIRE LENGTH


•HEURISTICS ARE USED IN THE ALGORITHMS.
22
Estimation of Wirelength
The speed and quality of estimation has a drastic
effect on the performance of placement algorithms.
 For 2-terminal nets, we can use Manhattan distance as
an estimate.
 If the end co-ordinates are (x1,y1) and (x2,y2), then the
wire length
L = ⎥ x1 – x2 ⎥ + ⎥ y1 – y2⎥
23
Constructive Iterative

 Once the position of the  Intermediate placements are


cell is fixed , it can not be modified in an attempt to
modified improve the cost function.

 Constructive algorithms are  The initial placement is


used to obtain an followed by an iterative
initial placement. improvement phase.
24
Techniques for initial placement

A TOP-DOWN METHOD:
MIN-CUT PARTITIONING AND PLACEMENT (BISECT THE CIRCUIT
RECURSIVELY)
MIN-CUT PLACEMENT METHOD:
1. CUT PLACEMENT AREA INTO TWO PIECES
2. SWAP LOGIC CELLS TO MINIMIZE CUT COST
3.REPEAT PROCESS FROM STEP 1, CUTTING SMALLER
PIECES UNTIL ALL LOGIC CELLS ARE PLACED
25
26
A bottom-up method: cluster growth (select
cells with strongest connections one by one)
SIMULATED ANNEALING PLACEMENT 27

•INITIAL PLACEMENT IMPROVED THROUGH SWAPS AND MOVES


•ACCEPT A SWAP/MOVE IF IT IMPROVES THE COST
Classification of Algorithm
28

CLASSIFICATION OF ALGORITHM

Simulation based Partitioning based Other

Simulated Annealing Breuer’s Algorithm Cluster Growth


Simulated Evolution Terminal Propagation Force Directed
Force Directed
Simulation annealing placement- 29

 Various algorithms proposed for placement in circuits.


 Constructive placement vs Iterative improvement.
 Simulated Annealing – an iterative improvement
algorithm
Simulated Annealing 30

 Annealing in metals
 Heat the solid state metal to a high temperature
 Cool it down very slowly according to a specific
schedule.
 If the heating temperature is sufficiently high to
ensure random state and the cooling process is
slow enough to ensure thermal equilibrium, then
the atoms will place themselves in a pattern that
corresponds to the global energy minimum of a
perfect crystal.
Simulated Annealing and 31
VLSI Placement:
 Arrangement of atoms = a new configuration of cells (
a new solution)
 Total configurations = Total solution set
 Perturbation = small random movement of cells to get
new configuration (possible solution).
 Energy = Cost function
 Temperature = control parameter
 Cooling schedule = starting temperature and a rule
how to decrease the temperate or how to cool
Steps- 32
Step 1: Initialize – Start with a random initial placement.
Initialize a very high “temperature”.

Step 2: Move – Perturb the placement through a defined move.

Step 3: Calculate score – calculate the change in the score due


to the move made.

Step 4: Choose – Depending on the change in score, accept or


reject the move. The probability of acceptance depending on
the current “temperature”.

Step 5: Update and repeat– Update the temperature value by


lowering the temperature. Go back to Step 2.

The process is done until “Freezing Point” is reached.


Simulated Annealing Algorithm 33

Algorithm SA_Placement
begin
T = initial_temperature;
P = initial_placement;
while ( T > final_temperature) do
while (no_of_trials_at_each_temp not yet completed) do
new_P = PERTURB (P);
ΔC = COST (new_P) – COST (P);
if (ΔC < 0) then
P = new_P;
else if (random(0,1) > exp(-ΔC/T)) then
P = new_P;
T = SCHEDULE (T); /** Decrease temperature **/
end
Parameters 34

 INIT-TEMP = 4000000 C;
 INIT-PLACEMENT = Random;
 PERTURB(place)
1. Displacement of a block to a new
position.
2. Interchange blocks.
3. Orientation change for a block.
 SCHEDULE.
Timber Wolf 35
One of the most successful placement algorithms.
Developed by Sechen and Sangiovanni-Vincentelli.
Parameters used:
– Initial_temperature = 4,000,000 C
– Final_temperature = 0.1 C
– SCHEDULE(T) = α(T) x T
• α(T) specifies the cooling rate which depends on the
current temperature.
• α(T) is 0.8 when the cooling process just starts.
• α(T) is 0.95 in the medium range of temperature.
• α(T) is 0.8 again when temperature is low.
36
Simulated Evolution / Genetic
Algorithm
 The algorithm starts with an initial set of placement
configurations.
Called the population.
 The process is iterative, where each iteration is called a
generation.
The individuals of a population are evaluated to measure
their goodness.
 To move from one generation to the next, three genetic
operators are used:
 Crossover
 Mutation
 Selection
Breuer’s Algorithm
37

 Partitioning technique used to generate placement.

 The given circuit is repeatedly partitioned into two sub-


circuits

 At each level of partitioning, the available layout area is

partitioned into horizontal and vertical subsections


alternately.

 Each of the sub-circuits is assigned to a subsection.

 Process continues till each sub-circuit consists of a single

gate, and has a unique place on the layout area.


Cont- 38

 Different sequences of cut lines used:

1. Cut Oriented Min-Cut Placement

2. Quadrature Placement

3. Bisection Placement

4. Slice Bisection Placement


Terminal Propagation 39
Algorithm
 Partitioning algorithms merely reduce net cut.
 Direct use of partitioning algorithms would increase net
length.
 To prevent this, terminal propagation is used.
 When a net connecting two terminals is cut, a dummy
terminal is propagated to the nearest pin on the
boundary.
40
Cluster Growth 41

 In this constructive placement algorithm, bottom-up


approach is used.
 Blocks are placed sequentially in a partially completed
layout.
 The first block (seed) is usually placed by the user.
 Other blocks are selected and placed one by one.
 Selection of blocks is usually based on connectivity with
placed blocks
Cont- 42

 Layouts produced are not usually good.


Does not take into account the interconnections and other
circuit features.
 Useful for generating initial placements.
For iterative placement algorithms
43

Algorithm Cluster_Growth
begin
B = set of blocks to be placed;
Select a seed block S from B;
Place S in the layout;
B = B – S;
while (B ≠ φ) do
begin
Select a block X from B;
Place X in the layout;
B = B – X;
end;
end
Performance Driven 44
Placement
 The delay at chip level plays an important role in
determining the performance of the chip.
- Depends on interconnecting wires.
 As the blocks in a circuit becomes smaller and
smaller:
-The size of the chip decreases.
-Interconnection delay becomes a major issue in
highperformance circuits.
 Placement algorithms for high-performance chips:
-Allow routing of nets within timing constraints.
45
Cont-

Two major categories of algorithms:


1. Net-based approach
 Try to route the nets to meet the timing constraints on the
individual nets instead of considering paths.
 The timing requirement for each net has to be decided by
the algorithm.
 Usually a pre-timing analysis generates the bounds on the
net-lengths which must be satisfied during placement.
2. Path-based approach
 Critical paths in the circuit are considered.
 Try to place the blocks in a manner that the path length is
within the timing constraint.
46

Das könnte Ihnen auch gefallen