150 likes | 171 Views
Constrained ‘Modern’ Floorplanning. Yan Feng Dinesh P. Mehta Colorado School of Mines Hannah Yang Intel. Motivation/Assumption. Fixed die formulation with zero whitespace . ( A. B. Kahng, ISPD 2000 )
E N D
Constrained ‘Modern’ Floorplanning Yan Feng Dinesh P. Mehta Colorado School of Mines Hannah Yang Intel
Motivation/Assumption • Fixed die formulation with zero whitespace . (A. B. Kahng, ISPD 2000) • Modules shapes need not be restricted to rectangles, L-shapes, etc. (A. B. Kahng, ISPD 2000) • Approximate locations and sizes for modules are already known from quadratic placement, force-directed placement, or human design.
Input Make suggestions to make input feasible Min Cost Max Flow Based Floorplanner Postprocessing Step Proposed Design Flow No Bound-Feasible Yes No Connected? Yes
(0,0) (0,0) A B A B C C (100,100) (100,100) The Constrained Modern Floorplanning Problem(CMFP) • The CMFP problem is NP-hard.
Feasibility Analysis Area(BC) = 8000 A B Required(BC) = 8500 C
C B A E D Feasibility Analysis (0,0) (300,200)
4 5 2 1 11 12 10 6 7 9 15 14 Region Identification 3 C A B E 13 D
Flow-based Feasibility Analysis If the maximum network flow of graph is equal to the total required area of modules then the input is feasible.
Floorplanning • The result of Max Flow algorithm does not guarantee connectivity. • Min Cost Max Flow Problem: each edge also has a cost a(u,v). So if f(u,v) units flow over edge (u,v), we incur a cost of a(u,v)f(u,v). • Computes a maximum flow as before, but finds one of min cost. • Post Processing Step • greedy algorithm B A A AB B
Cost Assignment Schemes • The cost is assigned based on BFS on each region of module. • Compromise BFS: involves adding vertices & edges to the flow graph. Details in paper. • Improved BFS: combination of BFS & CBFS. 1 2 1 0 1 2 1 2
Comparison of Cost Schemes • The initial input (center position) is obtained from previous SA result (ami33 & ami49). • Size of constraining rectangle ranges from 1.96 to 3.24 times of modules’ required area. • Using C++ & LEDA and the running time is about 5 secs.
Future Work • A more systematic post processing step to obtain a practical result. • How to convert a infeasible input into a feasible one.