Download presentation
Presentation is loading. Please wait.
1
Constrained Floorplanning Using Network Flows Teng Wang twang@ecs.umass.edu 05/04/2004
2
Outline Constrained Modern Floorplanning Problem (CMFP) Bound-feasibility check BFS/IBFS/CBFS Algorithm Postprocessing Experimental Results
3
Modern Floorplanning Problem Classic Floorplanning Problem: A set of modules (height, width) A connectivity matrix Objective: minimize area, wire length, etc. Modern Floorplanning Problem – Kahng, 2000 Bounding rectangle is fixed Modules can be rectilinear “Round” blocks are preferred Constrained Modern Floorplanning Problem (CMFP): Approximate relative positions of the modules are known
4
Design Flow Steps: 1.Bound-feasibility check 2.Floorplanning algorithm 3.Postprocessing 4.Connectivity check
5
CMFP Inputs A H x W bounding box A set of modules center point bounds required area Theroem1: CMFP is NP-hard Outputs For each, assign units of area
6
Bound-Feasibility Bound-Feasibility: N is the set of modules, for any subset T of N
7
Bound-Feasibility Check Theorem2: If the max flow of G is equal to, then the input is bound-feasible Theorem3: The complexity of the algorithm is O(n 2 logn) and O(n 5 logn) in worst case G
8
Min-Cost Max-Flow Algorithm Problem: A module could be assigned to regions that are not adjacent. Solution: A min-cost max-flow algorithm Maintaining maximum flow of G, Minimize, where c e is the cost assigned to the edge of G, f e is the flow of e. This encourages assigning the connected regions to a module.
9
BFS BFS: assign an integer cost to each edge Complexity: O(n 2 log 2 n) and O(n 6 logn) in the worst case Problem: two modules compete for a region in the same priority 0 2 1 1 2 1 RG: Region Graph
10
IBFS – Improved BFS IBFS: assign a fractional cost to each edge Complexity: the same as BFS
11
CBFS – Compromise BFS CBFS: a region splits into several subregions, one subregion for each module that competes for this region. Assign different cost for different subregions Complexity: O(n 2 log 2 n) and O(n 8 logn) in the worst case
12
Postprocessing Postprocessing: make modules connected and assign an area to each module A module m has a subgraph of RG, with vertices that correspond to regions assigned to m Module m is connected if and only if its subgraph is connected A floorplan is connected => each module is connected Graph connectivity doesn’t imply geometric connectivity
13
Experiments Implementations: Java and C++ Benchmarks: ami33, ami49 and n300a An initial step to obtain initial module positions
14
Experimental Results - I IDI1I1 I2I2 I3I3 I4I4 I5I5 I6I6 I7I7 I8I8 I9I9 I 10 BMami33 ami49 Ratio1.41.51.61.71.81.41.51.61.71.8 Regions 298338393414426448469508542564 Benchmarks ID I1I1 I2I2 I3I3 I4I4 I5I5 I6I6 I7I7 I8I8 I9I9 I 10 MaxFlow32505870672034384846 BFS92135566 511 IBFS79311293545 CBFS0000000000 Number of disconnected regions
15
Experimental Results - II ID I1I1 I2I2 I3I3 I4I4 I5I5 I6I6 I7I7 I8I8 I9I9 I 10 BFS3(8)3(5)3(2)3(4)3(9)3(7)4(1)3(7)4(1)3(7) IBFS3(3)3(1)3(2) 3(1)3(4)3(3)3(2) 3(4) CBFS7(4)8(1)8(3) 8(4)8(5)8(2)8(1)8(3) Max number of modules assigned to a region (number of such regions) ID I1I1 I2I2 I3I3 I4I4 I5I5 I6I6 I7I7 I8I8 I9I9 I 10 Avg No of Sides12.513.514.615.316.11414.514.915.315.8 Average Number of the sides of modules (IBFS) ami33ami49 Sweep Plane5.1135.337 Min-Cost Max-Flow0.10.11 Postprocessing0.4460.495 Total5.695.843 Breakdown of runtime (s) No of modules3366132264 16643116747284 Runtime vs Input size(s)
16
END Thank you!
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.