vlsi placement

29
06/18/22 1 VLSI Placement Prof. Shiyan Hu [email protected] Office: EERC 731

Upload: carla-harmon

Post on 04-Jan-2016

41 views

Category:

Documents


1 download

DESCRIPTION

VLSI Placement. Prof. Shiyan Hu [email protected] Office: EERC 731. Problem formulation. Input: Blocks (standard cells and macros) B 1 , ... , B n Shapes and Pin Positions for each block B i Nets N 1 , ... , N m Output: Coordinates (x i , y i ) for block B i . - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: VLSI Placement

04/20/23 1

VLSI Placement

Prof. Shiyan Hu

[email protected]

Office: EERC 731

Page 2: VLSI Placement

204/20/23

Problem formulation

• Input:– Blocks (standard cells and macros) B1, ... , Bn

– Shapes and Pin Positions for each block Bi

– Nets N1, ... , Nm

• Output:– Coordinates (xi , yi ) for block Bi.

– The total wire length is minimized.– Subject to area constraint or the area of the resulting block is

minimized

Page 3: VLSI Placement

304/20/23

Placement can Make A Difference

Random InitialPlacement

FinalPlacement

Page 4: VLSI Placement

404/20/23

Partitioning:

Objective:

Given a set of interconnected blocks, produce two sets thatare of equal size, and such that the number of nets connecting the two sets is minimized.

Page 5: VLSI Placement

504/20/23

FM Partitioning:

Initial Random Placement

After Cut 1

After Cut 2

list_of_sets = entire_chip;while(any_set_has_2_or_more_objects(list_of_sets)){

for_each_set_in(list_of_sets){

partition_it();}/* each time through this loop the number of *//* sets in the list doubles. */

}

Page 6: VLSI Placement

604/20/23

FM Partitioning:

-1

-2

-1

1

0

0

0

2

0

0

1

-1

-1

-2

- each object is assigned a gain- objects are put into a sorted gain list- the object with the highest gain is selected and moved.- the moved object is "locked"- gains of "touched" objects are recomputed- gain lists are resorted

Object Gain: The amount of change in cut crossings that will occur if an object is moved from its current partition into the other partition

Moves are made based on object gain.

Page 7: VLSI Placement

704/20/23

-1

-2

-1

1

0

0

0

2

0

0

1

-1

-1

-2

FM Partitioning:

Page 8: VLSI Placement

804/20/23

-1

-2

-1

1

0

-2

-20

0

1

-1

-1

-2

-2

Page 9: VLSI Placement

904/20/23

-1

-2

-1

1

0

-2

-20

0

1

-1

-1

-2

-2

Page 10: VLSI Placement

1004/20/23

-1

-2

-11

0

-2

-20

0

1

-1

-1

-2

-2

Page 11: VLSI Placement

1104/20/23

-1

-2

1 -1

0

-2

-20

-2

-1

-1

-1

-2

-2

Page 12: VLSI Placement

1204/20/23

-1

-2

1 -1

0

-2

-2 0

-2

-1

-1

-1

-2

-2

Page 13: VLSI Placement

1304/20/23

-1

-2

1 -1

0

-2

-20

-2

-1

-1

-1

-2

-2

Page 14: VLSI Placement

1404/20/23

-1

-2

1 -1

-2

-2

-2

0

-2

-1

1

-1

-2

-2

Page 15: VLSI Placement

1504/20/23

-1

-2

1

-1

-2

-2

-2

0

-2

-1

1

-1

-2

-2

Page 16: VLSI Placement

1604/20/23

-1

-2

1

-1

-2

-2

-2

0

-2

-1

1

-1

-2

-2

Page 17: VLSI Placement

1704/20/23

-1

-2

-1

-3

-2

-2

-2

0

-2

-1

1

-1

-2

-2

Page 18: VLSI Placement

1804/20/23

-1

-2

-1

-3

-2

-2

-2

0

-2

-1

1

-1

-2

-2

Page 19: VLSI Placement

1904/20/23

-1

-2

-1

-3

-2

-2

-2

0

-2

-1

1

-1

-2

-2

Page 20: VLSI Placement

2004/20/23

-1

-2

-1

-3

-2

-2

-2

-2

-2

-1

-1

-1

-2

-2

Page 21: VLSI Placement

2104/20/23

Analytical Placement

• Write down the placement problem as an analytical mathematical problem

• Quadratic placement:– Sum of squared wire length is quadratic in the cell

coordinates.– So the wirelength minimization problem can be formulated

as a quadratic program.– It can be proved that the quadratic program is convex,

hence polynomial time solvable

Page 22: VLSI Placement

2204/20/23

Cost x1 1002 x1 x22 x2 2002

x1Cost 2x1 100 2x1 x2

x2Cost 2x1 x2 2x2 200

setting the partial derivatives = 0 we solve for the minimum Cost:

Ax + B = 0

= 04 2 2 4

x1x2

200 400

= 02 1 1 2

x1x2

100 200

x1=400/3 x2=500/3

x2x1

x=100

x=200Example:

Page 23: VLSI Placement

2304/20/23

setting the partial derivatives = 0 we solve for the minimum Cost:

Ax + B = 0

= 04 2 2 4

x1x2

200 400

= 02 1 1 2

x1x2

100 200

x1=400/3 x2=500/3

x2x1

x=100

x=200

Interpretation of matrices A and B:

The diagonal values A[i,i] correspond to the number of connections to xiThe off diagonal values A[i,j] are -1 if object i is connected to object j, 0 otherwiseThe values B[i] correspond to the sum of the locations of fixed objects connected to object i

Example:

Page 24: VLSI Placement

2404/20/23

Quadratic Placement

Global optimization: solves a sequence of quadratic programming problems

Partitioning: enforces the non-overlap constraints

Page 25: VLSI Placement

2504/20/23

Solution of the Original QP

Page 26: VLSI Placement

2604/20/23

Partitioning

• Use FM to cut.

Page 27: VLSI Placement

2704/20/23

• Perform the Global Optimization again with additional constraints that the center of gravities should be in the center of regions.

Applying the Idea Recursively

Center of Gravities

Page 28: VLSI Placement

2804/20/23

Process of Gordian

(a) Global placement with 1 region (b) Global placement with 4 region (c) Final placements

Page 29: VLSI Placement

2904/20/23

Quadratic Techniques:

Pros:- mathematically well behaved- efficient solution techniques

Cons:- solution of Ax + B = 0 is not a legal placement, so generally

some additional partitioning techniques are required.- solution of Ax + B = 0 is minimizes wirelength squared, not linear wire length.