1 / 17

NTUplace: A Partitioning Based Placement Algorithm for Large-Scale Designs

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

jasonmoser
Download Presentation

NTUplace: A Partitioning Based Placement Algorithm for Large-Scale Designs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Outline • Introduction • Global placement • HPWL modeling with min-cut • Whitespace management • Look-ahead partitioning • Legalization • Detailed placement • Matching based detailed placement • Results

  3. 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

  4. 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.

  5. 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.

  6. 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.

  7. 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

  8. 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

  9. Relationship Between HPWL and Cutsize • Theorem: HPWL = w1 + ncut. • Then, we have Finding the minimum HPWL is equivalent to finding the min-cut. (Constant)

  10. 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.

  11. 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

  12. 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

  13. 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

  14. 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

  15. Old Results • Old results in the ISPD-05 proceedings. *On a Pentium 4 3.2GHz PC

  16. 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%.

  17. Thank you for your attention!

More Related