7/15/2015 1 VLSI Placement Prof. Shiyan Hu [email protected] Office: EERC 731.

29
03/17/22 1 VLSI Placement Prof. Shiyan Hu [email protected] Office: EERC 731
  • date post

    22-Dec-2015
  • Category

    Documents

  • view

    223
  • download

    2

Transcript of 7/15/2015 1 VLSI Placement Prof. Shiyan Hu [email protected] Office: EERC 731.

04/19/23 1

VLSI Placement

Prof. Shiyan Hu

[email protected]

Office: EERC 731

204/19/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

304/19/23

Placement can Make A Difference

Random InitialPlacement

FinalPlacement

404/19/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.

504/19/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. */

}

604/19/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.

704/19/23

-1

-2

-1

1

0

0

0

2

0

0

1

-1

-1

-2

FM Partitioning:

804/19/23

-1

-2

-1

1

0

-2

-20

0

1

-1

-1

-2

-2

904/19/23

-1

-2

-1

1

0

-2

-20

0

1

-1

-1

-2

-2

1004/19/23

-1

-2

-11

0

-2

-20

0

1

-1

-1

-2

-2

1104/19/23

-1

-2

1 -1

0

-2

-20

-2

-1

-1

-1

-2

-2

1204/19/23

-1

-2

1 -1

0

-2

-2 0

-2

-1

-1

-1

-2

-2

1304/19/23

-1

-2

1 -1

0

-2

-20

-2

-1

-1

-1

-2

-2

1404/19/23

-1

-2

1 -1

-2

-2

-2

0

-2

-1

1

-1

-2

-2

1504/19/23

-1

-2

1

-1

-2

-2

-2

0

-2

-1

1

-1

-2

-2

1604/19/23

-1

-2

1

-1

-2

-2

-2

0

-2

-1

1

-1

-2

-2

1704/19/23

-1

-2

-1

-3

-2

-2

-2

0

-2

-1

1

-1

-2

-2

1804/19/23

-1

-2

-1

-3

-2

-2

-2

0

-2

-1

1

-1

-2

-2

1904/19/23

-1

-2

-1

-3

-2

-2

-2

0

-2

-1

1

-1

-2

-2

2004/19/23

-1

-2

-1

-3

-2

-2

-2

-2

-2

-1

-1

-1

-2

-2

2104/19/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

2204/19/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:

2304/19/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:

2404/19/23

Quadratic Placement

Global optimization: solves a sequence of quadratic programming problems

Partitioning: enforces the non-overlap constraints

2504/19/23

Solution of the Original QP

2604/19/23

Partitioning

• Use FM to cut.

2704/19/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

2804/19/23

Process of Gordian

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

2904/19/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.