placement and algorithm

46
PLACEMENT IN PHYSICAL DESIGN (ASHISH KUMAR SINGH,PRIYANKA BRAHMA,SWEETY KUMARI) M.TECH –VLSI NIT SILCHAR,ASSAM 0 7 / 0 5 / 2 0 2 2 1

Upload: ashish-singh

Post on 18-Feb-2017

291 views

Category:

Career


0 download

TRANSCRIPT

Page 1: Placement and algorithm

05/01/2023

1PLACEMENT IN PHYSICAL DESIGN

(ASHISH KUMAR SINGH,PRIYANKA BRAHMA,SWEETY KUMARI) M.TECH –VLSI NIT SILCHAR,ASSAM

Page 2: Placement and algorithm

05/01/2023

2AGENDAWHAT IS PLACEMENT AND ITS TYPESBACK END PROCESSPLACEMENT PROBLEM FORMULATIONALGORITHMSSIMULATED BASED PLACEMENT PARTITIONING BASED PLACEMENT

Page 3: Placement and algorithm

05/01/2023

3

PLACEMENT AND ITS TYPES

Page 4: Placement and algorithm

05/01/2023

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 therouting stage

PLACEMENT-

Page 5: Placement and algorithm

05/01/2023

5Cont-

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

Page 6: Placement and algorithm

05/01/2023

6Types of placement- 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.

Page 7: Placement and algorithm

05/01/2023

72. Building block placement

CELLS TO BE PLACED HAVE ARBITRARY SHAPE.

Page 8: Placement and algorithm

05/01/2023

8Placement 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.

Page 9: Placement and algorithm

05/01/2023

9Out of the three steps important one is 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.

Page 10: Placement and algorithm

05/01/2023

10

Page 11: Placement and algorithm

05/01/2023

11

BACK END PROCESS

Page 12: Placement and algorithm

05/01/2023

121. 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.

Page 13: Placement and algorithm

05/01/2023

13

3. PlacementGoal: assign the interconnect areas and the locations of all the logic cells within the flexible blockObjective: minimise the ASIC area and the interconnects4. Global routing Goal: determine the location of all the interconnects Objective: minimise the total interconnect area.5. Detailed routingGoal: completely route all the interconnects on the chipObjective: minimise the total interconnect length used

Page 14: Placement and algorithm

05/01/2023

14

PLACEMENT PROBLEM FORMULATION

Page 15: Placement and algorithm

05/01/2023

15

INPUT:

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.

Page 16: Placement and algorithm

05/01/2023

16•OBJECTIVES:

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).

Page 17: Placement and algorithm

05/01/2023

17Global and Detailed Placement

IN GLOBAL PLACEMENT , THE APPROXIMATELOCATIONS FOR CELLS IS DECIDEDBY PLACING CELLS IN GLOBAL BINS.

IN DETAILED PLACEMENT, CELLS ARE PLACED WITHOUT OVER LAPPING.

Page 18: Placement and algorithm

05/01/2023

18

Good and bad placement

Good placement Minimize area (total wiring

area) Ensure routability Avoid signal interference Distribute heat Maximize performance

Bad placement

Consumes large areas Results in performance

degradation Results in difficult and

sometimes impossible tasks (Routing)

An ill-placed layout cannot be improved by high quality routing.

Page 19: Placement and algorithm

05/01/2023

19

Page 20: Placement and algorithm

05/01/2023

20

PLACEMENT ALGORITHMS

Page 21: Placement and algorithm

05/01/2023

21

Optimisation of the following is done using placement algorithm

•TOTAL AREA•TOTAL WIRE LENGTH•HEURISTICS ARE USED IN THE ALGORITHMS.

Page 22: Placement and algorithm

05/01/2023

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⎥

Page 23: Placement and algorithm

05/01/2023

23 Constructive

Once the position of the cell is fixed , it can not be modified

Constructive algorithms are used to obtain aninitial placement.

Iterative

Intermediate placements are modified in an attempt to improve the cost function.

The initial placement is followed by an iterative improvement phase.

Page 24: Placement and algorithm

05/01/2023

24Techniques 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

Page 25: Placement and algorithm

05/01/2023

25

Page 26: Placement and algorithm

05/01/2023

26

A bottom-up method: cluster growth (selectcells with strongest connections one by one)

Page 27: Placement and algorithm

05/01/2023

27

SIMULATED ANNEALING PLACEMENT

•INITIAL PLACEMENT IMPROVED THROUGH SWAPS AND MOVES•ACCEPT A SWAP/MOVE IF IT IMPROVES THE COST

Page 28: Placement and algorithm

05/01/2023

28

Classification of Algorithm

CLASSIFICATION OF ALGORITHM

Simulation based Partitioning based Other

Simulated AnnealingSimulated EvolutionForce Directed

Breuer’s AlgorithmTerminal Propagation

Cluster GrowthForce Directed

Page 29: Placement and algorithm

05/01/2023

29

Simulation annealing placement-

Various algorithms proposed for placement in circuits.

Constructive placement vs Iterative improvement.

Simulated Annealing – an iterative improvement algorithm

Page 30: Placement and algorithm

05/01/2023

30 Simulated

Annealing 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.

Page 31: Placement and algorithm

05/01/2023

31Simulated Annealing and

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

Page 32: Placement and algorithm

05/01/2023

32

Steps-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.

Page 33: Placement and algorithm

05/01/2023

33

Simulated Annealing AlgorithmAlgorithm SA_Placementbegin 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

Page 34: Placement and algorithm

05/01/2023

34 Parameters

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.

Page 35: Placement and algorithm

05/01/2023

35 Timber Wolf

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.

Page 36: Placement and algorithm

05/01/2023

36Simulated 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

Page 37: Placement and algorithm

05/01/2023

37

Breuer’s Algorithm

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.

Page 38: Placement and algorithm

05/01/2023

38Cont-

Different sequences of cut lines used:

1. Cut Oriented Min-Cut Placement

2. Quadrature Placement

3. Bisection Placement

4. Slice Bisection Placement

Page 39: Placement and algorithm

05/01/2023

39Terminal Propagation

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.

Page 40: Placement and algorithm

05/01/2023

40

Page 41: Placement and algorithm

05/01/2023

41Cluster Growth

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

Page 42: Placement and algorithm

05/01/2023

42Cont-

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

Page 43: Placement and algorithm

05/01/2023

43

Algorithm Cluster_GrowthbeginB = set of blocks to be placed;Select a seed block S from B;Place S in the layout;B = B – S;while (B ≠ φ) dobeginSelect a block X from B;Place X in the layout;B = B – X;end;end

Page 44: Placement and algorithm

05/01/2023

44Performance Driven

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.

Page 45: Placement and algorithm

05/01/2023

45Cont-

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.

Page 46: Placement and algorithm

05/01/2023

46

Thank you