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 ISPD12
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!.
Slide 4
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
Slide 5
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
Slide 6
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.
Slide 7
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
Slide 8
S Model Model base on site-occupation variables p crq whether
cell c occupies the site at row r and column q
Slide 9
RQ Model Model based on row-occupation and column-occupation
variables: whether cell c occupies row r whether cell c occupies
column q
Slide 10
RQ Model
Slide 11
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
Slide 12
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
Slide 13
SCP Model Model based on binary single-cell-placement (SCP)
variables:
Slide 14
SCP Model Advantages: fewer binary variables for cell c
|R|(|Q|-w c +1) Branch-and-cut for solving the SCP Model
Slide 15
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.
Slide 16
Slide 17
Slide 18
Slide 19
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