200 likes | 382 Views
Mixed Integer Programming Models for Detailed Placement. Shuai Li and Cheng-Kok Koh School of Electrical and Computer Engineering, Purdue University West Lafayette, IN, 47907-2035. ISPD’12. Outline. Introduction Mixed Integer Programming MIP Models for Detailed Placement
E N D
Mixed Integer Programming Models for Detailed Placement Shuai Li and Cheng-Kok Koh School of Electrical and Computer Engineering, Purdue University West Lafayette, IN, 47907-2035 ISPD’12
Outline • Introduction • Mixed Integer Programming • MIP Models for Detailed Placement • Experimental Results • Conclusion
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 nis 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
MIP Models for Detailed Placement • In detailed placement for standard cell circuits, a large number of small logical elements called cellsare 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 sitesin each rectangular sliding window • Uniform-height cellsoccupying integral number of contiguous sites • (xc, yc): the centroid of cell c • netsconnecting pinslocated on different cells • (unx, lnx, uny, lny): the bounding box for net n
S Model • Model base on site-occupationvariables • pcrqwhether cell coccupies the site at row rand column q
RQ Model • Model based on row-occupation and column-occupation variables: • whether cell coccupies row r • whether cell coccupies column q
RQ Model • 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 xc, yc, pcrq
SCP Model • Model based on binary single-cell-placement(SCP) variables:
SCP Model • Advantages: fewer binary variables for cell c • |R|(|Q|-wc +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 [25]. • 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