Top Banner
Linear Constraint Graph for Floorplan Optimization with Soft Blocks November, 2008 1 / 30 Hai Zhou Dept. of EECS Northwestern University Evanston, Illinois, United States Jia Wang Dept. of ECE Illinois Institute of Technology Chicago, Illinois, United States
56

Linear Constraint Graph for Floorplan Optimization with ...

Nov 24, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Linear Constraint Graph for Floorplan Optimization with ...

Linear Constraint Graph for FloorplanOptimization with Soft Blocks

November, 2008

1 / 30

Hai ZhouDept. of EECS

Northwestern UniversityEvanston, Illinois, United States

Jia WangDept. of ECE

Illinois Institute of TechnologyChicago, Illinois, United States

Page 2: Linear Constraint Graph for Floorplan Optimization with ...

Outline

Overview of Floorplanning

Linear Constraint Graph

The LCG Floorplanner

Experimental Results

Conclusions

2 / 30

Page 3: Linear Constraint Graph for Floorplan Optimization with ...

Floorplanning

I Determine the locations and shapes of modulesI Various objectives: area, interconnect, voltage island, etc.I Various constraints: soft blocks, abutment, etc.

I Constructive approaches: fastI Usually limited to area and interconnect optimization

I Simulated annealing (SA): flexibleI Use a floorplan representation to explore different floorplansI Manage objectives through a cost function

3 / 30

Page 4: Linear Constraint Graph for Floorplan Optimization with ...

Floorplanning

I Determine the locations and shapes of modulesI Various objectives: area, interconnect, voltage island, etc.I Various constraints: soft blocks, abutment, etc.

I Constructive approaches: fastI Usually limited to area and interconnect optimization

I Simulated annealing (SA): flexibleI Use a floorplan representation to explore different floorplansI Manage objectives through a cost function

3 / 30

Page 5: Linear Constraint Graph for Floorplan Optimization with ...

Floorplanning

I Determine the locations and shapes of modulesI Various objectives: area, interconnect, voltage island, etc.I Various constraints: soft blocks, abutment, etc.

I Constructive approaches: fastI Usually limited to area and interconnect optimization

I Simulated annealing (SA): flexibleI Use a floorplan representation to explore different floorplansI Manage objectives through a cost function

3 / 30

Page 6: Linear Constraint Graph for Floorplan Optimization with ...

Floorplan Exploration

I To explore all non-overlapping floorplans. How?I Generate a floorplan topology (in some representation) in SAI Map from the floorplan topology to physical floorplans

I Packing: area minimized physical floorplans only, whenmodule sizes are known

I Constraint graph + mathematical programming: all possiblephysical floorplans

I Soft blocks [Young et al. 2001], [Lin et al. 2006], [Lee et al. 2007]I Placement constraints [Young et al. 2004]I Wire length [Tang et al. 2006]I Complexity of constraint graphs matters

4 / 30

Page 7: Linear Constraint Graph for Floorplan Optimization with ...

Floorplan Exploration

I To explore all non-overlapping floorplans. How?I Generate a floorplan topology (in some representation) in SAI Map from the floorplan topology to physical floorplans

I Packing: area minimized physical floorplans only, whenmodule sizes are known

I Constraint graph + mathematical programming: all possiblephysical floorplans

I Soft blocks [Young et al. 2001], [Lin et al. 2006], [Lee et al. 2007]I Placement constraints [Young et al. 2004]I Wire length [Tang et al. 2006]I Complexity of constraint graphs matters

4 / 30

Page 8: Linear Constraint Graph for Floorplan Optimization with ...

Floorplan Exploration

I To explore all non-overlapping floorplans. How?I Generate a floorplan topology (in some representation) in SAI Map from the floorplan topology to physical floorplans

I Packing: area minimized physical floorplans only, whenmodule sizes are known

I Constraint graph + mathematical programming: all possiblephysical floorplans

I Soft blocks [Young et al. 2001], [Lin et al. 2006], [Lee et al. 2007]I Placement constraints [Young et al. 2004]I Wire length [Tang et al. 2006]I Complexity of constraint graphs matters

4 / 30

Page 9: Linear Constraint Graph for Floorplan Optimization with ...

Floorplan Exploration

I To explore all non-overlapping floorplans. How?I Generate a floorplan topology (in some representation) in SAI Map from the floorplan topology to physical floorplans

I Packing: area minimized physical floorplans only, whenmodule sizes are known

I Constraint graph + mathematical programming: all possiblephysical floorplans

I Soft blocks [Young et al. 2001], [Lin et al. 2006], [Lee et al. 2007]I Placement constraints [Young et al. 2004]I Wire length [Tang et al. 2006]I Complexity of constraint graphs matters

4 / 30

Page 10: Linear Constraint Graph for Floorplan Optimization with ...

Constraint Graph Basics

I Horizontal graph: left-to relations

I Vertical graph: below relations

I At least one relation between any pair of modules

5 / 30

Page 11: Linear Constraint Graph for Floorplan Optimization with ...

Constraint Graph Basics

I Horizontal graph: left-to relations

I Vertical graph: below relations

I At least one relation between any pair of modules

5 / 30

Page 12: Linear Constraint Graph for Floorplan Optimization with ...

Constraint Graph Basics

I Horizontal graph: left-to relations

I Vertical graph: below relations

I At least one relation between any pair of modules

5 / 30

Page 13: Linear Constraint Graph for Floorplan Optimization with ...

Redundancy in Constraint Graph

I Transitive edges: relations implied by others

I Over-specification: more than one relation between twomodules

6 / 30

Page 14: Linear Constraint Graph for Floorplan Optimization with ...

Redundancy in Constraint Graph

I Transitive edges: relations implied by others

I Over-specification: more than one relation between twomodules

6 / 30

Page 15: Linear Constraint Graph for Floorplan Optimization with ...

Ad-Hoc Approaches for Constraint Graph Generation

I From polar graphs ([Ohtsuki et al. 1970])I There is no method to explore them in SAI Apply to mosaic floorplans only

I From sequence-pairs ([Murata et al. 1996])I Relatively straightforward and widely used in previous worksI No over-specification. Transitive edges can be removedI Worst-case complexity: Θ(n2) edgesI O(n log n) edges on average [Lin 2002]

7 / 30

Page 16: Linear Constraint Graph for Floorplan Optimization with ...

Ad-Hoc Approaches for Constraint Graph Generation

I From polar graphs ([Ohtsuki et al. 1970])I There is no method to explore them in SAI Apply to mosaic floorplans only

I From sequence-pairs ([Murata et al. 1996])I Relatively straightforward and widely used in previous worksI No over-specification. Transitive edges can be removedI Worst-case complexity: Θ(n2) edgesI O(n log n) edges on average [Lin 2002]

7 / 30

Page 17: Linear Constraint Graph for Floorplan Optimization with ...

Constraint Graphs as Floorplan Representation

I TCG – Transitive Closure Graph ([Lin et al. 2001])I Keep pair-wise relations including transitive edgesI No over-specificationI Always Θ(n2) edges

I ACG – Adjacent Constraint Graph ([Zhou et al. 2004])I Intentionally reduce complexityI Forbid transitive edges, over-specification, and “crosses”

I Cross: a structure that may result in Θ(n2) edges

I Complexity: at most O(n32 ) edges [Wang 2005]

8 / 30

Page 18: Linear Constraint Graph for Floorplan Optimization with ...

Constraint Graphs as Floorplan Representation

I TCG – Transitive Closure Graph ([Lin et al. 2001])I Keep pair-wise relations including transitive edgesI No over-specificationI Always Θ(n2) edges

I ACG – Adjacent Constraint Graph ([Zhou et al. 2004])I Intentionally reduce complexityI Forbid transitive edges, over-specification, and “crosses”

I Cross: a structure that may result in Θ(n2) edges

I Complexity: at most O(n32 ) edges [Wang 2005]

8 / 30

Page 19: Linear Constraint Graph for Floorplan Optimization with ...

Our Contribution: Linear Constraint Graph

I A general floorplan representation based on constraint graphs

I At most 2n + 3 vertices and 6n + 2 edges for n modules

I Intuitively combine the ideas of polar graphs and ACGs

I One application: floorplan optimization with soft blocks

9 / 30

Page 20: Linear Constraint Graph for Floorplan Optimization with ...

Outline

Overview of Floorplanning

Linear Constraint Graph

The LCG Floorplanner

Experimental Results

Conclusions

10 / 30

Page 21: Linear Constraint Graph for Floorplan Optimization with ...

Cross Avoidance

I Crosses may result in Θ(n2) edgesI Use alternative relations as proposed by ACG

I However, still have complicated patterns/relations

I Use a “bar” similar to polar graphsI Require a dummy vertex in the graphI Need a systematic approach!

11 / 30

Page 22: Linear Constraint Graph for Floorplan Optimization with ...

Cross Avoidance

I Crosses may result in Θ(n2) edgesI Use alternative relations as proposed by ACG

I However, still have complicated patterns/relations

I Use a “bar” similar to polar graphsI Require a dummy vertex in the graphI Need a systematic approach!

11 / 30

Page 23: Linear Constraint Graph for Floorplan Optimization with ...

Cross Avoidance

I Crosses may result in Θ(n2) edgesI Use alternative relations as proposed by ACG

I However, still have complicated patterns/relations

I Use a “bar” similar to polar graphsI Require a dummy vertex in the graphI Need a systematic approach!

11 / 30

Page 24: Linear Constraint Graph for Floorplan Optimization with ...

Intuitions for Linear Constraint Graph (LCG)

I Avoid horizontal crosses: use alternative relations as ACGs

I Avoid vertical crosses: use horizontal bars as polar graphs

I Introduce dummy vertices to constraint graphs to reducenumber of edges

12 / 30

Page 25: Linear Constraint Graph for Floorplan Optimization with ...

From Floorplan to LCG

I A floorplan with non-overlapping modulesI Construct LCG by adding modules from bottom to top

I Horizontal graph: planar, w/o transitive edgeI Vertical graph: separate modules not separated horizontally

13 / 30

Page 26: Linear Constraint Graph for Floorplan Optimization with ...

From Floorplan to LCG

I Boundary: sh, th, sv , tvI Top modules: a

I Only need to check modules on the top for insertion sincemodules are inserted from bottom to top

13 / 30

Page 27: Linear Constraint Graph for Floorplan Optimization with ...

From Floorplan to LCG

I Insert e between a and thI Break a→ th into a→ e and e → th

I Top modules: a→ e

13 / 30

Page 28: Linear Constraint Graph for Floorplan Optimization with ...

From Floorplan to LCG

I Insert g between e and thI Break e → th into e → g and g → th

I Top modules: a→ e → g

13 / 30

Page 29: Linear Constraint Graph for Floorplan Optimization with ...

From Floorplan to LCG

I Insert d between sh and eI Add one bar w on top of aI Insert sh → d and d → e

I Top modules: d → e → g

13 / 30

Page 30: Linear Constraint Graph for Floorplan Optimization with ...

From Floorplan to LCG

I Insert b between sh and dI Break sh → d into sh → b and b → d

I Top modules: b → d → e → g

13 / 30

Page 31: Linear Constraint Graph for Floorplan Optimization with ...

From Floorplan to LCG

I Insert i between e and thI Add one bar x on top of gI Insert e → i and i → th

I Top modules: b → d → e → i

13 / 30

Page 32: Linear Constraint Graph for Floorplan Optimization with ...

From Floorplan to LCG

I Insert c between sh and dI Add one bar y on top of bI Insert sh → c and c → d

I Top modules: c → d → e → i

13 / 30

Page 33: Linear Constraint Graph for Floorplan Optimization with ...

From Floorplan to LCG

I Insert f between c and iI Add one bar z on top of d , e, x , yI Insert c → f and f → i

I Top modules: c → f → i

13 / 30

Page 34: Linear Constraint Graph for Floorplan Optimization with ...

From Floorplan to LCG

I Insert h between f and iI Break f → i into f → h and h→ i

I Top modules: c → f → h→ i

13 / 30

Page 35: Linear Constraint Graph for Floorplan Optimization with ...

Horizontal Relations in LCG

I Observation: for each new module, we eitherI Break a horizontal edge into twoI Insert two horizontal edges and a horizontal bar

I Horizontal Adjacency Graph (HAG)I Each edge connects two modules adjacent to each otherI n + 2 vertices, at most 2n edges, at most n − 1 barsI Planar – faces correspond to horizontal bars

14 / 30

Page 36: Linear Constraint Graph for Floorplan Optimization with ...

Horizontal Relations in LCG

I Observation: for each new module, we eitherI Break a horizontal edge into twoI Insert two horizontal edges and a horizontal bar

I Horizontal Adjacency Graph (HAG)I Each edge connects two modules adjacent to each otherI n + 2 vertices, at most 2n edges, at most n − 1 barsI Planar – faces correspond to horizontal bars

14 / 30

Page 37: Linear Constraint Graph for Floorplan Optimization with ...

Above and Below Paths

I Each face of HAG is surrounded by two paths:the above path and the below path.

I The left/right-most modules are the sameI Other modules on the above path are above the barI Other modules on the below path are below the bar

I The length of each path is at least 2I Otherwise there is a transitive edge

15 / 30

Page 38: Linear Constraint Graph for Floorplan Optimization with ...

Above and Below Paths

I Each face of HAG is surrounded by two paths:the above path and the below path.

I The left/right-most modules are the sameI Other modules on the above path are above the barI Other modules on the below path are below the bar

I The length of each path is at least 2I Otherwise there is a transitive edge

15 / 30

Page 39: Linear Constraint Graph for Floorplan Optimization with ...

Vertical Relations in LCG

I Implied by HAGI Separate modules not separated horizontallyI From a bar to a module, a module to a bar, or a bar to a barI Each module connects to 2 bars: above and belowI Each bar connects to at most 4 bars

I Vertical cOmpanion Graph (VOG)I At most n − 1 barsI At most 2n + 3 vertices, at most 4n + 2 edges

16 / 30

Page 40: Linear Constraint Graph for Floorplan Optimization with ...

Vertical Relations in LCG

I Implied by HAGI Separate modules not separated horizontallyI From a bar to a module, a module to a bar, or a bar to a barI Each module connects to 2 bars: above and belowI Each bar connects to at most 4 bars

I Vertical cOmpanion Graph (VOG)I At most n − 1 barsI At most 2n + 3 vertices, at most 4n + 2 edges

16 / 30

Page 41: Linear Constraint Graph for Floorplan Optimization with ...

Linear Constraint Graph

I Combine HAG and VOG into a constraint graph

I At most 2n + 3 vertices and 6n + 2 edges

I Can represent any non-overlapping floorplan

17 / 30

Page 42: Linear Constraint Graph for Floorplan Optimization with ...

Outline

Overview of Floorplanning

Linear Constraint Graph

The LCG Floorplanner

Experimental Results

Conclusions

18 / 30

Page 43: Linear Constraint Graph for Floorplan Optimization with ...

Perturbations of LCG

I The planar HAG allows relatively easy perturbationsI Update VOG accordingly

I Three perturbations with O(n) complexityI Exchange two modules: no change in topologyI insertH: change vertical relation to horizontalI removeH: change horizontal relation to vertical

I The perturbations are completeI Any LCG can be converted to any other LCG by at most 3n

perturbations

19 / 30

Page 44: Linear Constraint Graph for Floorplan Optimization with ...

Perturbations of LCG

I The planar HAG allows relatively easy perturbationsI Update VOG accordingly

I Three perturbations with O(n) complexityI Exchange two modules: no change in topologyI insertH: change vertical relation to horizontalI removeH: change horizontal relation to vertical

I The perturbations are completeI Any LCG can be converted to any other LCG by at most 3n

perturbations

19 / 30

Page 45: Linear Constraint Graph for Floorplan Optimization with ...

Perturbations of LCG

I The planar HAG allows relatively easy perturbationsI Update VOG accordingly

I Three perturbations with O(n) complexityI Exchange two modules: no change in topologyI insertH: change vertical relation to horizontalI removeH: change horizontal relation to vertical

I The perturbations are completeI Any LCG can be converted to any other LCG by at most 3n

perturbations

19 / 30

Page 46: Linear Constraint Graph for Floorplan Optimization with ...

The insertH Operation

I Insert b → aI Remove transitive edges

I Remove c → a if c starts the above pathI Remove b → d if d ends the below path

20 / 30

Page 47: Linear Constraint Graph for Floorplan Optimization with ...

The removeH Operation

I Remove b → aI Insert c → a and b → d

I c → a is optional iff a has at least 2 incoming edgesI b → d is optional iff b has at least 2 outgoing edges

21 / 30

Page 48: Linear Constraint Graph for Floorplan Optimization with ...

Floorplan Optimization w/ Soft Blocks

[Young et al. 2001], [Lin et al. 2006]

I The area of each soft block is known.

I The decision variables are the widths of the soft blocks andthe positions of all the modules

I Derive non-overlapping condition for the modules from LCGas a system of difference equations

I Apply Lagrangian relaxation to minimize the perimeter of thefloorplan

22 / 30

Page 49: Linear Constraint Graph for Floorplan Optimization with ...

Outline

Overview of Floorplanning

Linear Constraint Graph

The LCG Floorplanner

Experimental Results

Conclusions

23 / 30

Page 50: Linear Constraint Graph for Floorplan Optimization with ...

Experimental Results for General Floorplans

I 3 GSRC benchmarks with hard blocks

I Compare to Parquet [Adya et al. 2003] and ACG [Zhou et al.2004]

I Wire length optimization (wire length + chip area)

Parquet ACG LCGname ds(%) wl t(s) ds(%) wl t(s) ds(%) wl t(s)

n100 7.95 324k 30 8.33 308k 30 8.60 300k 27n200 10.99 581k 150 10.26 540k 137 9.03 538k 133n300 12.05 709k 288 13.00 644k 357 11.44 639k 274

24 / 30

Page 51: Linear Constraint Graph for Floorplan Optimization with ...

Area Optimization w/ Soft Blocks

I 5 modified MCNC benchmarks with soft blocks

I Aspect ratio bound: [0.5, 2]

I Compare to [Lin et al. 2006] (SP+TR)

SP+TR LCG+TRname n ds(%) t(s) |E | ds(%) t(s) |E |apte 9 0.04 34 40 0.04 21 34xerox 10 0.08 43 47 0.08 41 38hp 11 0.09 41 54 0.13 26 41ami33 33 0.28 383 347 0.24 179 125ami49 49 0.24 694 679 0.27 319 182

25 / 30

Page 52: Linear Constraint Graph for Floorplan Optimization with ...

Wire Length Optimization w/ Soft Blocks

I 5 modified MCNC benchmarks with soft blocks

I Aspect ratio bound: [0.5, 2]

I Compare to [Lin et al. 2006] (SP+TR)

SP+TR LCG+TRname ds(%) wl(mm) t(s) ds(%) wl(mm) t(s)

apte 0.09 125.29 35 0.08 125.28 26xerox 0.21 145.16 46 0.15 152.69 36hp 0.26 43.42 37 0.22 42.60 27ami33 0.50 57.89 349 0.49 52.46 236ami49 1.17 290.89 615 0.64 272.23 442

26 / 30

Page 53: Linear Constraint Graph for Floorplan Optimization with ...

Outline

Overview of Floorplanning

Linear Constraint Graph

The LCG Floorplanner

Experimental Results

Conclusions

27 / 30

Page 54: Linear Constraint Graph for Floorplan Optimization with ...

Conclusions

I Linear Constraint Graphs (LCG) are proposed as a generalfloorplan representation based on constraint graphs

I For n modules, each LCG has at most 2n + 3 vertices and atmost 6n + 2 edges

I LCGs can represent any non-overlapping floorplans

I Simulated annealing based floorplanner is presented

I The advantages of LCGs is confirmed by the experimentalresults.

28 / 30

Page 55: Linear Constraint Graph for Floorplan Optimization with ...

Q & A

29 / 30

Page 56: Linear Constraint Graph for Floorplan Optimization with ...

Thank you!

30 / 30