Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 29

VLSI Placement

Prof. Shiyan Hu
shiyan@mtu.edu
Office: EERC 731

1/1/2019 1
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

1/1/2019 2
Placement can Make A Difference

Random Initial Final


Placement Placement

1/1/2019 3
Partitioning:

Objective:

Given a set of interconnected blocks, produce two sets that


are of equal size, and such that the number of nets
connecting the two sets is minimized.

1/1/2019 4
FM Partitioning:

Initial Random Placement


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 */ After Cut 1
/* sets in the list doubles. */
}

After Cut 2
1/1/2019 5
FM Partitioning:
Moves are made based on object gain.

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

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

1/1/2019 6
FM Partitioning:

-1 0 2

0
0 -
-2

0 0
-2
-1
1
-1
1

1/1/2019 7
-1 -2 -2

0
-2 -
-2

0 0
-2
-1
1
-1
1

1/1/2019 8
-1 -2 -2

0
-2 -
-2

0 0
-2
-1

1 1
-1

1/1/2019 9
-1 -2 -2

0
-2 -
-2

0 0
-2
-1
1
1
-1

1/1/2019 10
-1 -2 -2

0
-2 -
-2

0 -2
-2
1 -1
-1
-1

1/1/2019 11
-1 -2 -2

-2 -
-2 0

0 -2
-2
1 -1
-1
-1

1/1/2019 12
-1 -2 -2

-2 -
-2 0

0 -2
-2
1 -1
-1
-1

1/1/2019 13
-1 -2 -2

-2 1
-2
0

-2 -2
-2
1 -1
-1
-1

1/1/2019 14
-1 -2 -2

-2 1
-2
0

-2 -2
1 -2

-1
-1
-1

1/1/2019 15
-1 -2 -2

-2 1
-2
0

-2 -2
1 -2

-1
-1
-1

1/1/2019 16
-1 -2 -2

-2 1
-2
0

-2 -1
-2
-2

-3
-1
-1

1/1/2019 17
-1 -2 -2

1
-2
-2
0
-
-2 1
-2
-2

-3
-1
-1

1/1/2019 18
-1 -2 -2

1
-2
-2
0
-
-2 1
-2
-2

-3
-1
-1

1/1/2019 19
-1 -2 -2

-1
-2
-2
-2
-
-2 1
-2
-2

-3
-1
-1

1/1/2019 20
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

1/1/2019 21
x=100
Example: x=200

x1 x2

Cost  x1  100 2  x 1  x 2 2  x 2  200 2


x1 Cost  2x 1  100  2x 1  x 2

 Cost  2x  x   2x  200


x2 1 2 2

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

Ax + B = 0

4 2 x1 200
2 4 x 2  400 = 0

2 1 x 1
x  100
200 = 0
1 2 2

x1=400/3 x2=500/3

1/1/2019 22
Example: x=100 x=200

x1 x2

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

Ax + B = 0

4 2 x 1 200
2 4 x 2  400 = 0

2 1 x 1 100 = 0
x  200
1 2 2

x1=400/3 x2=500/3
Interpretation of matrices A and B:

The diagonal values A[i,i] correspond to the number of connections to xi


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

1/1/2019 23
Quadratic Placement

 Global optimization:
solves a sequence of quadratic
programming problems
 Partitioning:
enforces the non-overlap constraints

1/1/2019 24
Solution of the Original QP

1/1/2019 25
Partitioning
• Use FM to cut.

1/1/2019 26
Applying the Idea Recursively
• Perform the Global Optimization again with additional
constraints that the center of gravities should be in the
center of regions.

Center of Gravities

1/1/2019 27
Process of Gordian

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

1/1/2019 28
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.

1/1/2019 29

You might also like