Presentation on theme: "Shuai Li and Cheng-Kok Koh School of Electrical and Computer Engineering, Purdue University West Lafayette, IN, 47907-2035 Mixed Integer Programming Models."— Presentation transcript:
Shuai Li and Cheng-Kok Koh School of Electrical and Computer Engineering, Purdue University West Lafayette, IN, 47907-2035 Mixed Integer Programming Models for Detailed Placement ISPD’12
Introduction Placement for standard-cell circuits global placement legalization detailed placement Objective for detailed placement: Minimize HPWL (Half-perimeter wirelength) Discrete optimization problem with solution space O(n!), where n is the number of cells In a more general case when m sites would be left empty after all the n cells are placed, the number of all the possible permutations would be (m + n)!/m!.
Sliding Window Technique Divide and conquer Partition the whole chip into overlapping windows Enumeration or MIP approach for each window Mixed Integer Programming (MIP) approach Constrained optimization problem Linear objection function Linear constraints Integer variables Formulate the detailed placement of cells in each window into a MIP problem, solved with branch-and-cut technique Widely applicable branch-and-price technique Used for solving the model derived from the Dantzig-Wolfe decomposition
Branch and Bound On MIP Branch-and-cut Constraints or cuts that are valid for MIP but are violated by relaxed LP solution are added at every node of the branch-and- bound tree, and the relaxed LP is solved again after the addition. Branch-and-price Usually applied in solving the Master Problem (MP) derived from Dantzig-Wolfe decomposition
MIP Models for Detailed Placement In detailed placement for standard cell circuits, a large number of small logical elements called cells are to be placed in the placement region with rows of discrete locations, called sites, that are uniformly placed. Each standard cell uniform height different widths Each sites uniform-width, uniform-height The objective of detailed placement is to minimize the total wirelength of all the nets.
MIP Model Rows and columns of sites in each rectangular sliding window Uniform-height cells occupying integral number of contiguous sites (x c, y c ): the centroid of cell c nets connecting pins located on different cells (u n x, l n x, u n y, l n y ): the bounding box for net n
S Model Model base on site-occupation variables p crq whether cell c occupies the site at row r and column q
RQ Model Model based on row-occupation and column-occupation variables: whether cell c occupies row r whether cell c occupies column q
site occupation constraint different with S Model Advantage: fewer binary occupation variable the RQ Model: O(|C| (|R| + |Q|)) the S Model: O(|C| |R| |Q|) Disadvantage: more constraints Added O(|C| 2 |R| |Q|) constraints
SCP Model Independent constraints for cell c defines a set of single-cell-placement patterns that cell c is legally placed in the window each pattern can be described with the vector of x c, y c, p crq
SCP Model Model based on binary single-cell-placement (SCP) variables:
SCP Model Advantages: fewer binary variables for cell c |R|(|Q|-w c +1) Branch-and-cut for solving the SCP Model
Experimental Results Implemented with CPLEX The original placement result is generated by the routability- driven placer proposed in . 2-row windows and 8-row windows with different numbers of cells Tolerance time: 40s In a window, if originally some cells are not completely located inside the window those cells are considered fixed and not included in C. If some nets in N have pins outside the window projected onto the nearest point in the window to form a fixed pseudo pin.
Conclusion Two new MIP models for detailed placement the RQ Model with fewer integer variables the SCP Model derived from the Dantzig-Wolfe decomposition more efficient than the S Model and the existing branch-and- price model with single-net-placement variables results in better placement solutions in terms of HPWL, routed wirelength, and number of vias