VLSI Quadratic Placement EE4271 VLSI Design, Fall 2016 VLSI Quadratic Placement
Problem formulation Input: Output: 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 Partitioning: 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.
FM Partitioning: The more crossings along the cut, the longer the total wirelength. The idea is to reduce the crossings. Initial Random Placement After Cut 1 After Cut 2
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 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 -1 -2 -2 -1 1 -1 1
FM Partitioning: -1 2 -1 -2 -2 -1 1 -1 1
-1 -2 -2 -2 -1 -2 -2 -1 1 -1 1
-1 -2 -2 -2 -1 -2 -2 -1 1 1 -1
-1 -2 -2 -2 -1 -2 -2 -1 1 1 -1
-1 -2 -2 -2 -1 -2 -2 -2 1 -1 -1 -1
-1 -2 -2 -2 -1 -2 -2 -2 1 -1 -1 -1
-1 -2 -2 -2 -1 -2 -2 -2 1 -1 -1 -1
-1 -2 -2 -2 1 -2 -2 -2 -2 1 -1 -1 -1
-1 -2 -2 -2 1 -2 -2 -2 -2 1 -1 -1 -1
-1 -2 -2 -2 1 -2 -2 -2 1 -2 -1 -1 -1
-1 -2 -2 -2 1 -2 -2 -1 -2 -2 -3 -1 -1
-1 -2 -2 1 -2 -2 -1 -2 -2 -2 -3 -1 -1
-1 -2 -2 1 -2 -2 -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
Solution of the Original QP
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
(b) Global placement with 4 region 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