Title: Fractional Cut: Improved Recursive Bisection Placement
1Fractional CutImproved Recursive Bisection
Placement
- Ameya R. Agnihotri Mehmet Can YILDIZ Ateen
KhatkhateAjita Mathur Satoshi Ono Patrick H.
MaddenSUNY Binghamton Computer Science
Departmenthttp//vlsicad.cs.binghamton.edu - pmadden_at_cs.binghamton.edu
- IBM Austin Research Labs
- Work supported by SRC Project 947.1, IBM Faculty
Partnership Award, Intel, and NYSTAR
Microelectronics Design Center
2Overview
- Recursive Bisection
- The "Narrow Region" problem
- Fractional Cuts
- Legalization of Placements
- Experimental Results
- Conclusion and Future Work
3Bisection Based Placement
Logic elements
Placement region
4Recursive Bisection Placement
5After Bisection
- Cells have been assigned to rows
- Relative horizontal positions are known, but
there may be overlaps - Overlap removal sort by X and pack
- For MCNC benchmarks, this works well
- For IBM and PEKO benchmarks some problems occur
6The Narrow Region Problem
Total cell area matches the available row space,
but... Its not possible to partition the cells
to fit within the boundaries
7The Narrow Region Problem
The problem may occur more than once
8Feng Shui 1.2 crash and burn.
Adya, Benchmarking for Large Scale Placement
and Beyond ISPD 2003
We were co-authors on this paper, and contributed
a H/V demand table that contained errors (trend
indicated was correct, and results were uniformly
skewed). TCAD version is fixed.
9Narrow Region Solutions
- Avoid them!
- Capo cut sequences are biased towards horizontal
- Cut sequence impacts HPWL
- White space
- Additional area gives greater freedom
- Post-Bisection Optimization
- Fix the problem by moving cells vertically
after bisection is complete - Fractional Cuts.
10Fractional Cut
We cant change where the cut line falls between
the cells We can move the cut line off of the row
boundary
11Ignoring Row Boundaries
Row boundaries are in blue Black outlined
rectangles are the regions Numbers indicate
total cell areas (there may be a number of cells
in each region).
12Fractional Cut
After bisection, cells are placed in non-legal
positions at the centers of their regions
13After Bisection
14After Bisection
- The cells must be row aligned
- Overlaps must be removed
- This is very much like legalization in analytic
placement
15Legalization Method
- Process rows one at a time
- For each row
- Select a subset of cells such that the total
horizontal WL of the packed subset, plus the
penalty for the non-selected cells, is minimized - Simple dynamic programming formulation obtains
good results - Example six cells, with space for four cells in
the row
16Example
B
F
A
D
E
C
All the blocks are going to be packed to the
"left." The total distance things travel depends
on which blocks we choose.
17Some Observations
- If A is to the left of B before packing
- It should still be to the left after packing
- The distance that a block travels depends only on
the number of blocks to the left of it - We don't care which blocks to the left are
taken--only how many
18Dynamic Programming
- A B C D E F
Position 0 -
Position 1 - -
Position 2 - - ??
Position 3 - -
Table contains total movement cost for
legalization Rows are filled to
location Columns are using some subset using up
to the given cell
19Dynamic Programming
- Optimal solution to fill three locations using a
subset of ABCDE - Contains E, with the optimal solution using two
locations and a subset of ABCD - or does not contain E, and the optimal solution
using three locations and a subset of ABCD
20After Bisection
21After Bisection
22After Bisection
23After Bisection
24After Bisection
25After Bisection
26After Bisection
27After Bisection
28After Bisection
29After Bisection
30After Bisection
31Legalization
32Legalization
33Following Legalization
- Classic branch-and-bound sliding window
optimization - Both single and multiple row optimization
- Cell mirroring and space insertion are also
supported
34Experimental Results
Feng Shui 2.0 Feng Shui 1.5 DP Feng Shui 1.5 Capo 8.6 Dragon 2.23 Kraftwerk mPL 2.0
Ibm01 0.52 0.54 1.85 0.57 0.51 0.70 0.64
Ibm02 1.50 1.51 5.63 1.60 1.44 2.15 1.61
Ibm07 3.30 3.36 16.72 3.71 3.31 5.12 4.07
Ibm08 3.60 3.72 13.66 3.89 3.39 4.66 4.25
Ibm09 3.02 3.22 16.95 3.31 2.96 4.26 3.81
Ibm10 5.66 5.88 40.00 6.34 5.61 7.61 6.61
Ibm11 4.48 4.80 31.73 4.89 4.43 5.80 5.96
Ibm12 7.74 8.08 42.85 8.76 7.60 10.41 9.44
Avg X1.042 X5.187 X1.102 X0.980 X1.379 X1.213
35Experimental Results
Opt. Feng Shui 2.0 Feng Shui 1.5DP Feng Shui 1.5 Capo 8.6 Dragon 2.20 Kraftwerk Kraftwerk DOMINO mPL 2.0
Peko01 0.81 1.25 1.30 4.59 1.29 1.46 1.39 1.74 1.10
Peko02 1.26 2.09 2.10 6.92 2.03 2.43 1.98 2.61 1.76
Peko03 1.50 2.62 2.61 8.18 2.66 2.93 3.02 3.78 2.05
Peko04 1.75 2.82 2.91 14.31 3.12 3.87 3.25 4.25 2.31
Peko05 1.91 3.01 3.14 15.70 3.16 3.79 3.92 4.79 2.57
Peko06 2.06 3.44 3.42 21.38 3.57 4.35 4.07 5.38 2.78
Peko07 2.88 4.91 4.98 38.54 5.07 6.24 5.73 7.56 3.95
Peko08 3.14 5.25 5.62 34.16 5.57 6.79 5.87 8.17 4.99
Peko09 3.64 5.98 6.32 36.03 6.47 7.72 8.52 10.00 4.76
Peko10 4.73 7.87 8.40 17.89 8.00 8.49 8.90 12.00 6.59
Avg X1.65 X1.70 X8.13 X1.72 X2.02 X1.93 X2.48 X1.38
36Experimental Results -- Summary
- Fractional Cut provides 4 improvement over
row-based cut lines - Roughly 10 improvement over typical recursive
bisection approach - DP legalization avoids pathological behavior
- Narrow region problem is eliminated
- A simple bisection approach
- Within 2 of Dragon (annealer)
- Lower HPWL than Capo, Kraftwerk
- Lower HPWL than MPL on non-synthetic benchmarks
37Current and Future Work
- Mixed Block placement
- Current version of the tool is on the webFeng
Shui 2.2 supports mixed block. - http//vlsicad.cs.binghamton.edu
- Improved Legalization and Detail Placement
- Feng Shui 2.2 uses a legalizer developed by
colleagues - Integration of routing and placement
38Thanks to
- SRC, IBM, Intel, NYSTAR MDC
- IBM TJW
- Prof. Roman Bazylevych/Lviv Polytechnic
- Dr. Bill Swartz/InternetCAD