vlsi placement
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 PresentationTRANSCRIPT
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
304/20/23
Placement can Make A Difference
Random InitialPlacement
FinalPlacement
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.
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. */
}
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.
704/20/23
-1
-2
-1
1
0
0
0
2
0
0
1
-1
-1
-2
FM Partitioning:
804/20/23
-1
-2
-1
1
0
-2
-20
0
1
-1
-1
-2
-2
904/20/23
-1
-2
-1
1
0
-2
-20
0
1
-1
-1
-2
-2
1004/20/23
-1
-2
-11
0
-2
-20
0
1
-1
-1
-2
-2
1104/20/23
-1
-2
1 -1
0
-2
-20
-2
-1
-1
-1
-2
-2
1204/20/23
-1
-2
1 -1
0
-2
-2 0
-2
-1
-1
-1
-2
-2
1304/20/23
-1
-2
1 -1
0
-2
-20
-2
-1
-1
-1
-2
-2
1404/20/23
-1
-2
1 -1
-2
-2
-2
0
-2
-1
1
-1
-2
-2
1504/20/23
-1
-2
1
-1
-2
-2
-2
0
-2
-1
1
-1
-2
-2
1604/20/23
-1
-2
1
-1
-2
-2
-2
0
-2
-1
1
-1
-2
-2
1704/20/23
-1
-2
-1
-3
-2
-2
-2
0
-2
-1
1
-1
-2
-2
1804/20/23
-1
-2
-1
-3
-2
-2
-2
0
-2
-1
1
-1
-2
-2
1904/20/23
-1
-2
-1
-3
-2
-2
-2
0
-2
-1
1
-1
-2
-2
2004/20/23
-1
-2
-1
-3
-2
-2
-2
-2
-2
-1
-1
-1
-2
-2
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
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:
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:
2404/20/23
Quadratic Placement
Global optimization: solves a sequence of quadratic programming problems
Partitioning: enforces the non-overlap constraints
2504/20/23
Solution of the Original QP
2604/20/23
Partitioning
• Use FM to cut.
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
2804/20/23
Process of Gordian
(a) Global placement with 1 region (b) Global placement with 4 region (c) Final placements
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.