180 likes | 361 Views
NTUplace: A Partitioning Based Placement Algorithm for Large-Scale Designs. Tung-Chieh Chen 1 , Tien-Chang Hsu 1 , Zhe-Wei Jiang 1 , and Yao-Wen Chang 1,2 Graduate Institute of Electronics Engineering 1 Department of Electrical Engineering 2 National Taiwan University Taipei, Taiwan
E N D
NTUplace: A Partitioning Based Placement Algorithm for Large-Scale Designs Tung-Chieh Chen1, Tien-Chang Hsu1, Zhe-Wei Jiang1, and Yao-Wen Chang1,2 Graduate Institute of Electronics Engineering1 Department of Electrical Engineering2 National Taiwan University Taipei, Taiwan April 6, 2005
Outline • Introduction • Global placement • HPWL modeling with min-cut • Whitespace management • Look-ahead partitioning • Legalization • Detailed placement • Matching based detailed placement • Results
Introduction • NTUplace is based on the min-cut partitioning technique. • Algorithm: Wirelength modeling with min-cut Whitespace management Look-ahead partitioning Global Placement Legalization Detailed Placement Matching based detailed placement
HPWL Modeling with Min-Cut • The HPWL (half-perimeter wirelength) is exactly modeled with the min-cut objective. • Finding the min-cut is equivalent to finding the minimum HPWL. • The idea is similar to the Bounding Box aware Terminal Propagation (BBTP) in the TheTo placer: • Selvakkumaran and Karypis, Technical Report 04-040, Univ. of Minnesota. Oct. 2004. • They use 7 cases to discuss the HPWL modeling. • We derive a unified method for the modeling. • Our method can be applied to the diagonal-bin repartitioning. • TheTo might need to consider tens of cases.
Fixed pin Movable cell HPWL = w1 HPWL = w2 HPWL = w12 (Fixed pin) Net-Weight Assignment (1/2) • For each net, we compute three HPWL values. • Consider the case for a net with 2 fixed pins and 2 movable cells, and the x-range of the 2 pins is within that of the 2 cells and the center of the left partition is closer to the x-range • w1: the wirelength when the 2 cells are at the left side • w2: the wirelength when the 2 cells are at the right side, • w12: the wirelength when the 2 cells are at different sides. • Here, w12 > w2 > w1 X-range 2 cells are at the right side. 2 cells are at different side. 2 cells are at the left side.
Movable node weight(e1) = (w2-w1) weight(e2) = (w12-w2) Right fixed node Left fixed node Movable node Net-Weight Assignment (2/2) • Introduce a partitioning graph (hypergraph) and two fixed nodes to represent the two sides. • Add two hyperedges into the graph. • Since w2 > w1, assign the weight of the hyperedge e1 between the cells and the left fixed node be (w2-w1). • Assign the weight of the hyperedge e2 between the two cells be (w12-w2). • Partition the resulting hypergraph to decide the cell/node partition.
e1 e1 e1 e2 e2 e2 Movable node Fixed node Three Possible Partitioning Results Movable node weight(e1) = (w2-w1) weight(e2) = (w12-w2) Left fixed node Right fixed node Movable node 1 3 2
e1 e1 e1 e2 e2 e2 Relationship Between HPWL and Cutsize 1 2 3 ncut = weight(e1)+ weight(e2) = (w12-w2) + (w2-w1) = (w12-w1) ncut = weight(e1) = (w2-w1) ncut = 0 HPWL = w1 = w1 + ncut HPWL = w12 = w1 + ncut HPWL = w2 = w1 + ncut All three cases: HPWL = w1 + ncut
Relationship Between HPWL and Cutsize • Theorem: HPWL = w1 + ncut. • Then, we have Finding the minimum HPWL is equivalent to finding the min-cut. (Constant)
Whitespace Management (1/2) • Traditional min-cut placers uniformly distribute whitespace and tend to produce excessive wirelength when the whitespace is large. • Adya, Markov, Villarrubia use filler (dummy) cells to control the whitespace allocation [ICCAD-03]. • Add dummy cells to increase the utilization. Whitespace is distributed according to the dummy cell locations. • However, their method tend to increase the number of cells, leading to longer running time and larger memory usage.
Whitespace Management (2/2) • We directly control the balance criteria during partitioning using the available free space. • Relaxing the balance criteria leads to smaller cutsize and thus smaller wirelength. • The balance criterion satisfies that the utilization of each partition is less than or equal to 1. • The criterion is fed into the partitioner to allocate whitespace. Uniform whitespace distribution Left partition Utilization = 1.0 Right partition Utilization = 1.0 Block Area Block Area Left util. = 1, right util. < 1 Both util. < 1 Left util. < 1, right util. = 1
Look-Ahead Partitioning • Simplify the idea in Cong et al., “Fast floorplanning by look-ahead enabled recursive bipartitioning,”ASPDAC-2005. • Use the first-fit bin-packing heuristic to check if the subpartition can be legalized. • Increase the chance of legalizing macro blocks. • If the subpartition cannot be legalized, we move the cutline and redo the partitioning. Re-partition Legalization Fails Legalization Succeeds
Sort the cells 2 3 4 1 5 Legalization • Place all cells in the rows to obtain a feasible solution. • Place cells into their nearest rows. • Sort all standard cells according to their sizes, from the largest to the smallest. • Assign the x-coordinates for all cells according to the sorted order. If overlap occurs, we will find a nearest empty slot to place the cell. 2 3 4 1 5 Place cells into nearest rows Place cells one-by-one
Detailed Placement • Is based on cell location assignment (matching). • Each cell has different costs atdifferent locations. • Minimize total cost: O(n3) time for n cells • Is better than O(n!) time for a branch & bound (BB) detailed placer • Can use a much larger window (> 64 cells) 1 2 3 A B C
Old Results • Old results in the ISPD-05 proceedings. *On a Pentium 4 3.2GHz PC
New Results from the Enhanced Methods • Enhance our placer with matching based detailed placement and other schemes (e.g., repartitioning). • Improve the published HPWL by 10%.