VLSI Placement: Prof. Shiyan Hu Shiyan@mtu - Edu Office: EERC 731
VLSI Placement: Prof. Shiyan Hu Shiyan@mtu - Edu Office: EERC 731
VLSI Placement: Prof. Shiyan Hu Shiyan@mtu - Edu Office: EERC 731
Prof. Shiyan Hu
[email protected]
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
1/1/2019 3
Partitioning:
Objective:
1/1/2019 4
FM Partitioning:
After Cut 2
1/1/2019 5
FM Partitioning:
Moves are made based on object gain.
-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
x1 Cost 2x 1 100 2x 1 x 2
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
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:
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