400 likes | 557 Views
Fractional Cut: Improved Recursive Bisection Placement. Ameya R. Agnihotri Mehmet Can YILDIZ* Ateen Khatkhate Ajita Mathur Satoshi Ono Patrick H. Madden SUNY Binghamton Computer Science Department http://vlsicad.cs.binghamton.edu pmadden@cs.binghamton.edu *IBM Austin Research Labs
E N D
Fractional Cut:Improved 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@cs.binghamton.edu *IBM Austin Research Labs Work supported by SRC Project 947.1, IBM Faculty Partnership Award, Intel, and NYSTAR Microelectronics Design Center
Overview • Recursive Bisection • The "Narrow Region" problem • Fractional Cuts • Legalization of Placements • Experimental Results • Conclusion and Future Work
Bisection Based Placement Logic elements Placement region
After 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
The Narrow Region Problem Total cell area matches the available row space, but... It’s not possible to partition the cells to fit within the boundaries
The Narrow Region Problem The problem may occur more than once
Feng 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.
Narrow 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….
Fractional Cut We can’t change where the cut line falls between the cells We can move the cut line off of the row boundary
Ignoring 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).
Fractional Cut After bisection, cells are placed in non-legal positions at the centers of their regions
After Bisection • The cells must be row aligned • Overlaps must be removed • This is very much like legalization in analytic placement
Legalization 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
B F A E C D B F D E A C Example 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.
B F A E B F D E Some 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
? ? ? ? ? E E Cost of placing any two of ABCD Cost of filling to location 3 using blocks before E plus the cost of moving E plus the cost of skipping E Dynamic Programming Table contains total movement cost for legalization Rows are “filled to location” Columns are “using some subset using up to the given cell”
Dynamic 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
Following Legalization • Classic branch-and-bound sliding window optimization • Both single and multiple row optimization • Cell mirroring and space insertion are also supported
Experimental 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
Current and Future Work • Mixed Block placement • Current version of the tool is on the web;Feng 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
Thanks to… • SRC, IBM, Intel, NYSTAR MDC • IBM TJW • Prof. Roman Bazylevych/Lviv Polytechnic • Dr. Bill Swartz/InternetCAD