280 likes | 419 Views
EE4271 VLSI Design, Fall 2013. VLSI Quadratic Placement. 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 .
E N D
EE4271 VLSI Design, Fall 2013 VLSI Quadratic Placement
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 wirelength as an estimation of timing is minimized.
Placement Can Make A Difference Random Initial Placement Final Placement
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. Partitioning:
The more crossings along the cut, the longer the total wirelength. The idea is to reduce the crossings. FM Partitioning: Initial Random Placement After Cut 1 After Cut 2
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 FM Partitioning: -1 2 0 - 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 0 -1 0 -2 0 0 -2 -1 1 -1 1
FM Partitioning: -1 2 0 0 -1 0 -2 0 0 -2 -1 1 -1 1
-1 -2 -2 0 -1 -2 -2 0 0 -2 -1 1 -1 1
-1 -2 -2 0 -1 -2 -2 0 0 -2 -1 1 1 -1
-1 -2 -2 0 -1 -2 -2 0 0 -2 -1 1 1 -1
-1 -2 -2 0 -1 -2 -2 0 -2 -2 1 -1 -1 -1
-1 -2 -2 -1 -2 0 -2 0 -2 -2 1 -1 -1 -1
-1 -2 -2 -1 -2 -2 0 0 -2 -2 1 -1 -1 -1
-1 -2 -2 1 -2 -2 0 -2 -2 -2 1 -1 -1 -1
-1 -2 -2 1 -2 -2 0 -2 -2 -2 1 -1 -1 -1
-1 -2 -2 1 -2 -2 0 -2 -2 1 -2 -1 -1 -1
-1 -2 -2 1 -2 -2 0 -1 -2 -2 -2 -3 -1 -1
-1 -2 -2 1 -2 -2 0 -1 -2 -2 -2 -3 -1 -1
-1 -2 -2 1 -2 -2 0 -1 -2 -2 -2 -3 -1 -1
-1 -2 -2 -1 -2 -2 -2 -1 -2 -2 -2 -3 -1 -1
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
Example: x=100 x=200 x1 x2
Quadratic Placement • Form quadratic placement problem • Perform partitioning to reduce overlap
Partitioning • Use FM to cut.
Applying the Idea Recursively • Perform the quadratic placement on each region with additional constraints that the center of gravities should be in the center of regions. Center of Gravities
Process (a) Global placement with 1 region (b) Global placement with 4 region (c) Final placements
Summary • Definition of VLSI quadratic placement problem • Partitioning technique