13
Constraint-Driven Floorplan Repair MICHAEL D. MOFFITT ,JARROD A. ROY ,IGOR L. MARKOV ,MARTHA E. POLLACK IBM Austin Research Lab University of Michigan, Ann Arbor In this work we propose a new and efficient approach to the floorplan repair problem, where vi- olated design constraints are satisfied by applying small changes to an existing rough floorplan. Such a floorplan can be produced by a human designer, a scalable placement algorithm, or result from engineering adjustments to an existing floorplan. In such cases, overlapping modules must be separated, and others may need to be repositioned to satisfy additional requirements. Our algorithmic framework uses an expressive graph-based encoding of constraints which can reflect fixed-outline, region, proximity and alignment constraints. By tracking the implications of exist- ing constraints, we resolve violations by imposing gradual modifications to the floorplan, in an attempt to preserve the characteristics of its initial design. Empirically, our approach is effective at removing overlaps and repairing violations that may occur when design constraints are acquired and imposed dynamically. Categories and Subject Descriptors: B.7.2 [Integrated Circuits]: Design Aids—placement and routing; J.6 [Computer-Aided Engineering]: Computer-Aided Design; G.4 [Mathematical Software]: Algorithm Design and Analysis General Terms: Design, Algorithms Additional Key Words and Phrases: Floorplanning, Legalization, Constraints 1. INTRODUCTION The significance and complexity of floorplanning is continually increasing with the growth of systems-on-chip. With hundreds and thousands of modules in modern floorplans, all-manual design is infeasible. However, existing algorithms fail to han- dle important design constraints. Even the simplest non-overlapping constraint is often violated by recent floorplanners. A similar challenge in standard-cell place- ment has been successfully addressed by decoupling global placement from legaliza- tion, where the former optimizes interconnect and is allowed to violate many design constraints. While a great deal of work on legalization in placement has been pub- lished [Brenner et al. 2004; Cong et al. “Robust ...” 2005; Ren et al. 2005], much of it is inapplicable to classical floorplanning, where modules have different shapes and are not placed within individual rows. In this work we propose a new efficient approach to floorplan legalization. Our tool – FLOORIST – performs legalization and repair of existing floorplans that may have been produced by a variety of layout methodologies. In contrast to previous Permission to make digital/hard copy of all or part of this material without fee for personal or classroom use provided that the copies are not made or distributed for profit or commercial advantage, the ACM copyright/server notice, the title of the publication, and its date appear, and notice is given that copying is by permission of the ACM, Inc. To copy otherwise, to republish, to post on servers, or to redistribute to lists requires prior specific permission and/or a fee. c 2008 ACM 1084-4309/2008/0400-0001 $5.00 ACM Transactions on Design Automation of Electronic Systems, Vol. V, No. N, Month 2008, Pages 1–0??.

Constraint-Driven Floorplan Repairweb.eecs.umich.edu/~imarkov/pubs/jour/todaes08-floorist.pdf · Constraint-Driven Floorplan Repair MICHAEL D. MOFFITTy, JARROD A. ROYz, IGOR L. MARKOVz,

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Constraint-Driven Floorplan Repairweb.eecs.umich.edu/~imarkov/pubs/jour/todaes08-floorist.pdf · Constraint-Driven Floorplan Repair MICHAEL D. MOFFITTy, JARROD A. ROYz, IGOR L. MARKOVz,

Constraint-Driven Floorplan Repair

MICHAEL D. MOFFITT†, JARROD A. ROY‡, IGOR L. MARKOV‡, MARTHA E. POLLACK‡

†IBM Austin Research Lab‡University of Michigan, Ann Arbor

In this work we propose a new and efficient approach to the floorplan repair problem, where vi-

olated design constraints are satisfied by applying small changes to an existing rough floorplan.

Such a floorplan can be produced by a human designer, a scalable placement algorithm, or resultfrom engineering adjustments to an existing floorplan. In such cases, overlapping modules must

be separated, and others may need to be repositioned to satisfy additional requirements. Our

algorithmic framework uses an expressive graph-based encoding of constraints which can reflectfixed-outline, region, proximity and alignment constraints. By tracking the implications of exist-

ing constraints, we resolve violations by imposing gradual modifications to the floorplan, in an

attempt to preserve the characteristics of its initial design. Empirically, our approach is effectiveat removing overlaps and repairing violations that may occur when design constraints are acquired

and imposed dynamically.

Categories and Subject Descriptors: B.7.2 [Integrated Circuits]: Design Aids—placement and

routing; J.6 [Computer-Aided Engineering]: Computer-Aided Design; G.4 [Mathematical

Software]: Algorithm Design and Analysis

General Terms: Design, Algorithms

Additional Key Words and Phrases: Floorplanning, Legalization, Constraints

1. INTRODUCTION

The significance and complexity of floorplanning is continually increasing with thegrowth of systems-on-chip. With hundreds and thousands of modules in modernfloorplans, all-manual design is infeasible. However, existing algorithms fail to han-dle important design constraints. Even the simplest non-overlapping constraint isoften violated by recent floorplanners. A similar challenge in standard-cell place-ment has been successfully addressed by decoupling global placement from legaliza-tion, where the former optimizes interconnect and is allowed to violate many designconstraints. While a great deal of work on legalization in placement has been pub-lished [Brenner et al. 2004; Cong et al. “Robust ...” 2005; Ren et al. 2005], muchof it is inapplicable to classical floorplanning, where modules have different shapesand are not placed within individual rows.

In this work we propose a new efficient approach to floorplan legalization. Ourtool – FLOORIST – performs legalization and repair of existing floorplans that mayhave been produced by a variety of layout methodologies. In contrast to previous

Permission to make digital/hard copy of all or part of this material without fee for personal

or classroom use provided that the copies are not made or distributed for profit or commercial

advantage, the ACM copyright/server notice, the title of the publication, and its date appear, andnotice is given that copying is by permission of the ACM, Inc. To copy otherwise, to republish,to post on servers, or to redistribute to lists requires prior specific permission and/or a fee.c© 2008 ACM 1084-4309/2008/0400-0001 $5.00

ACM Transactions on Design Automation of Electronic Systems, Vol. V, No. N, Month 2008, Pages 1–0??.

Page 2: Constraint-Driven Floorplan Repairweb.eecs.umich.edu/~imarkov/pubs/jour/todaes08-floorist.pdf · Constraint-Driven Floorplan Repair MICHAEL D. MOFFITTy, JARROD A. ROYz, IGOR L. MARKOVz,

2 · Michael D. Moffitt, Jarrod A. Roy, Igor L. Markov, and Martha E. Pollack

work, our algorithm takes a conflict-directed approach to repair, modifying onlythose features of the layout that are directly responsible for violated constraints.As a result, the solutions produced by FLOORIST preserve the qualities and char-acteristics of the original layout. Unlike diffusion-based methods in [Ren et al.2005], our technique can spread large movable macros, and does not require modelsof a physical diffusion process. Furthermore, we exploit the expressive power of agraph-based framework to enable the repair of a wide variety of violated constraints.

2. RELATED WORK: LEGALITY AND LEGALIZATION

Techniques for ensuring overlap-free placements can be classified as correct-by-construction (in which legality is guaranteed a priori) and construct-by-correction(in which legalization is postponed until post-processing).

Correct-by-Construction Approaches. mPG [Chang et al. 2003] enforceslegalization at every level of a cluster hierarchy in multi-scale optimization, usingsimulated annealing on sequence-pairs, which is often expensive. Capo [Roy et al.2006] legalizes subproblems of recursive bi-partitioning using simulated annealingas well. If legalization succeeds, modules are placed after further refinement. Iflegalization fails, subproblems are merged and legalization is attempted on thelarger problem. As a result, Capo can generate infeasible instances if whitespace istight. In the mixed-size placer from [Cong et al. “Robust ...” 2005], every partitionis guaranteed to be legalizable by a fast constructive algorithm.

Construct-by-Correction Approaches. FengShui [Khatkhate et al. 2004]and APlace [Kahng et al. 2005] postpone legalization until a global floorplan hasbeen generated, making use of a simple Tetris-like algorithm by D. Hill (US Patent6370673), which sorts cells and macros by their x-coordinates and places them one-by-one into rows to greedily minimize displacement. Diffusion-based legalization in[Ren et al. 2005] builds a discrete approximation of a continuous diffusion equation;cells are presumed to fit into rows, and macros must be fixed.

In [Nag and Chaudhary 1999] a given layout is converted into a sequence-pair,and is manipulated by perturbing the ordering of pairs of modules and relocatingindividual modules. In XDP [Cong and Xie 2006] a constraint-graph is used, inwhich overlaps are removed in a preprocessing step that increases the dimensionsof the layout beyond the fixed outline. However, XDP seeks to reduce HWPL,rather than preserve the characteristics of the original design; as such, it has thepotential to degrade other qualities of the solution (such as timing), and is thus lessappropriate when considering Engineering Change Orders (ECOs). Furthermore,both of these prior approaches perform adjustments to reduce the size of the result-ing floorplan, rather than remove or repair constraint violations. Indeed, neitherof the techniques described in [Nag and Chaudhary 1999] and [Cong and Xie 2006]handle the presence of fixed macros and obstacles, making their applicability tocomplex industrial designs questionable. Our contributions are compared to priorwork in Table I.

3. THE FLOORIST ALGORITHM

FLOORIST (“Floorplan Assistant”) begins with a global floorplan which may violateconstraints due to block resizing, or for any other reason. Then it applies a three-

Page 3: Constraint-Driven Floorplan Repairweb.eecs.umich.edu/~imarkov/pubs/jour/todaes08-floorist.pdf · Constraint-Driven Floorplan Repair MICHAEL D. MOFFITTy, JARROD A. ROYz, IGOR L. MARKOVz,

Constraint-Driven Floorplan Repair · 3

Table I. Comparison of placement legalization tools.

Legalizes Handles Handles Produces Supportslarge fixed generic Scalable small module

macros obstacles constraints displacement spreading[Nag and Chaudhary 1999] + − − − − −

[Brenner et al. 2004] − + − + + −[Khatkhate et al. 2004] + − − + − −

[Kahng et al. 2005] + + − + − −[Ren et al. 2005] − + − + − +

[Cong and Xie 2006] + − − + − −Our work + + + + + +

1 2 3

4 5 67

� 1500 -6

1000?

i wi × hi (xi , yi)1 550 × 350 (0 , 600)2 450 × 350 (550 , 600)3 400 × 300 (900 , 650)4 400 × 500 (0 , 50)5 450 × 400 (300 , 100)6 550 × 400 (750 , 100)7 200 × 200 (1300 , 300)

Fig. 1. A small floorplan in need of repair.

stage procedure outlined below.

3.1 Translation to Constraint Graphs

The lower-left corner of any module Mi (with dimensions wi × hi) is assigned acoordinate (xi, yi) indicating its position. We refer to this mapping from modulesto fixed positions as an absolute assignment. However, since flaws in the floorplantypically include overlaps, it is useful to instead consider a relative assignment ofpairwise relationships between blocks rather than absolute positions. For this, weuse a variant of constraint graphs [Moffitt and Pollack 2006]. A pair of graphs(GH and GV ) is constructed, where each graph contains a node i for every moduleMi and there exists a directed edge for every pair of modules Mi and Mj . Thedirection of this edge, and the graph to which it belongs, depends on the pairwiserelationship between Mi and Mj . If Mi is to be placed to the left of Mj , equivalentlyxi+wi ≤ xj , this would require an edge from node i to node j in GH with weight wi.We label this relationship L(i, j) – the other possible labels being R(i, j), A(i, j),B(i, j) (for right of, above, and below). This notation allows us to refer to the setS of all pairwise relationships between modules. The following set contains someof the relationships that could be used to describe the floorplan shown in Figure 1:

{L(1, 2), A(1, 4), R(3, 4), L(5, 7)} ⊂ S

Notice that modules 2 and 3 overlap in this layout, as do modules 4 and 5. Therelations introduced thus far are not sufficient for a pair of modules that overlap.As such, we propose the addition of a fifth “empty” relation – E(i, j) – to indicatethe lack of any constraint between Mi and Mj . E(i, j) can be regarded as theabsence or relaxation of an edge in either constraint graph. Since previous graph-based encodings do not permit the explicit relaxation of such constraints, we willgenerally refer to these as a relaxed pair of constraint graphs.

Page 4: Constraint-Driven Floorplan Repairweb.eecs.umich.edu/~imarkov/pubs/jour/todaes08-floorist.pdf · Constraint-Driven Floorplan Repair MICHAEL D. MOFFITTy, JARROD A. ROYz, IGOR L. MARKOVz,

4 · Michael D. Moffitt, Jarrod A. Roy, Igor L. Markov, and Martha E. Pollack

Create-Graphs((x1, y1, ..., xN , yN ), (w1, h1, ..., wN , hN ))1. S ← �2. For j = 1 to N

3. For i = 1 to j

4. (Of the choices below, keep one w/ smallest slack)

5. If (xi + wi ≤ xj) S ← S ∪ {L(i, j)}6. If (xj + wj ≤ xi) S ← S ∪ {R(i, j)}7. If (yi + hi ≤ yj) S ← S ∪ {A(i, j)}8. If (yj + hj ≤ yi) S ← S ∪ {B(i, j)}9. (If no choices, S ← S ∪ {E(i, j)})

10. return GH(S), GV (S)

Fig. 2. Translating the initial placement into constraint graphs.

leftwall 4 2 7 right

wall

1 3

5 6

0

0

0

550

450

550

450 200400

400

550

400

[0, 200]

[0, 300] [550, 1100]

[550, 850]

[450, 650]

[1100, 1300] [1300,1500][0, 250]

[0, 200]

leftwall 4 2 7 right

wall

1 3

5 60

0

450

550

450 200400

400

[0, 100]

[0, 100] [1000, 1100]

[550, 650]

[850, 950]

[1000, 1300] [1400,1500][0, 100]

[400, 500]

400 550

450

Fig. 3. The horizontal constraint graph GH corresponding to the floorplan in Figure 1 before

repair (left) and after repair (right).

Building relaxed constraint graphs is straightforward (see Figure 2). For everypair of modules that are relatively displaced in a certain direction, the properrelation is added to the set S. When multiple relationships exist, ties are brokenbased on the horizontal and vertical distances between the modules. Considermodules 1 and 7 in our small example. While edges corresponding to L(1, 7) andA(1, 7) are both feasible choices, we prefer L(1, 7), since the horizontal displacementbetween these modules is much greater than the vertical displacement. Any pairof modules that overlap is given the E(i, j) relation. Once S has been constructed,constraint graphs can be built in O(N2) time by adding the appropriate edgesand computing single-source longest paths. Feasible regions of each module canbe cheaply extracted from the graph-based encoding. Figure 3 (left) shows GH

for Figure 1. Each node is labeled with upper and lower bounds on its possiblepositions, e.g., the smallest horizontal coordinate for Block 2 is 550.

3.2 Conflict-Directed Iterative Repair

For a given set S of pairwise relationships, our objective is to resolve every emptyrelation E(i, j) in S, as they correspond to violated constraints. The original solu-tion should be preserved as much as possible. Our greedy, backtrack-free iterativerepair algorithm is described in Figure 4. Lines 2-6 attempt to replace E(i, j) re-lationships whenever one of the other four relationships is freely available (e.g.,sufficient slack exists in the graphs to add the appropriate edge). Consider theE(2, 3) relation in our example. Module 3 can be shifted toward the right wallto remove its overlap with module 2. This information is obtained directly fromthe constraint graphs. As a result, we can instead invoke the relation L(2, 3) and

Page 5: Constraint-Driven Floorplan Repairweb.eecs.umich.edu/~imarkov/pubs/jour/todaes08-floorist.pdf · Constraint-Driven Floorplan Repair MICHAEL D. MOFFITTy, JARROD A. ROYz, IGOR L. MARKOVz,

Constraint-Driven Floorplan Repair · 5

Iteratively-Repair(S)1. While (∃(E(i, j) ∈ S))

2. // this first loop makes ‘trivial’ assignments

3. For each E(i, j) ∈ S

4. For each possible pairwise relation P (i, j)

5. If (consistent(S ∪ {P (i, j)} − {E(i, j)}))6. S ← S ∪ {P (i, j)} − {E(i, j)} ; break

7. // this second loop swaps existing assignments

8. For each E(i, j) ∈ S

9. For each possible pairwise relation P (i, j)

10. C ← Critical-Path(Mi) ∪ Critical-Path(Mj)

11. For each P ′(i′, j′) ∈ C

12. For each P ′′(i′, j′) such that P ′′ 6= P ′

13. If (consistent(S ∪ {P ′′(i′, j′)} − {P ′(i′, j′)}))14. S ← S ∪ {P ′′(i′, j′)} − {P ′(i′, j′)}15. continue loop @ line 11 with next P ′(i′, j′)

Fig. 4. Our iterative repair procedure.

update GH by adding the constraint x2 + w2 ≤ x3. The total number of overlapshas now been reduced from two to one. Unfortunately, the relation E(4, 5) cannotbe resolved directly — no other pairwise relationship between modules 4 and 5 canbe introduced without either violating another non-overlap constraint, or extendingthe layout beyond the given fixed outline. In other words, the relations in the set{L(4, 5), R(4, 5), A(4, 5), B(4, 5)} are in conflict with the current constraint graphsand call for more drastic modifications.

Possible alternatives can be seen in Figure 1 — module 6 can be placed belowmodule 7, rather than to its left. This would amount to removing the relation L(6, 7)and replacing it with B(6, 7) and the constraint y7+h7 ≤ y6 (adding the appropriateedge in GV ). After performing this modification, the last remaining overlap canbe resolved by adding the relation L(4, 5) and the constraint x4 + w4 ≤ x5. Otherrelations can be swapped in this example, but few help to resolve the violatedconstraint. For instance, we could reverse the relationship between modules 1 and2 by replacing L(1, 2) with R(1, 2), but such a modification would have no effect onthe overlap between modules 4 and 5. This suggests conflict-directed legalization,which is the key concept in our floorplan repair procedure, which computes criticalpaths [Adya and Markov 2003], i.e., tightly packed sequences of blocks that constraineach other in the same direction. The critical path for a particular module can beobtained by traversing predecessor nodes within the appropriate constraint graph.For instance, consider Block 7 in the horizontal constraint graph of Figure 3 (left).One path of blocks that precedes it is the sequence 4→ 2→ 7, which would give alower bound of 1000. However, the sequence 5 → 6 → 7 is the true critical path,as it provides a tighter lower bound of 1100. The critical path can be regarded asan explanation for a module’s current location.

For each of the four primary relations of a violated non-overlap constraint, weidentify a set of culprits C by examining edges along the critical paths for Mi andMj in the appropriate constraint graph (lines 8 – 10 in Figure 4). If any of theseedges can be safely replaced with an alternative pairwise relationship (lines 11 –13), then we perform this replacement (line 14). The order in which these relationsare attempted is heuristically chosen based on the modules’ original locations. Eachswap can be achieved in O(N2) time using the longest-path algorithm (although

Page 6: Constraint-Driven Floorplan Repairweb.eecs.umich.edu/~imarkov/pubs/jour/todaes08-floorist.pdf · Constraint-Driven Floorplan Repair MICHAEL D. MOFFITTy, JARROD A. ROYz, IGOR L. MARKOVz,

6 · Michael D. Moffitt, Jarrod A. Roy, Igor L. Markov, and Martha E. Pollack

Minimize-Displacement(GH , GV )1. For i = 1 to N

2. GH .AddEdge(left wall, xi, max(orig xi, GH .lb(xi)))

3. GH .AddEdge(xi, right wall, min(orig xi, W −GH .ub(xi)))

4. GV .AddEdge(bottom wall, yi, max(orig yi, GV .lb(yi)))

5. GV .AddEdge(yi, top wall, min(orig yi, H −GV .ub(yi)))

Fig. 5. Emulation: The creation of a fixed placement that resembles the original solution.

incremental techniques can be used to improve efficiency). In the event that somepreviously violated constraints can now be satisfied, these will be caught during thefirst phase of the next step in iterative repair. Otherwise, additional replacementswill be performed repeatedly to further manipulate the layout.

This process continues until all violated constraints have been resolved or somealternative termination criterion has been reached (such as a maximal number ofiterations, or timeout limit). We note that since the algorithm is not exhaustive, itis not guaranteed to find a feasible solution within any bounded amount of search(for instance, the blocks given may be entirely unpackable, in which case no legalizerwould be able to find a feasible solution). However, our experimental results willdemonstrate that even with a conservative amount of whitespace, our algorithm isextremely effective in removing all overlaps, and so additional termination criteriawere typically not needed. Since no history of prior configurations is maintained,it is possible for the algorithm to encounter the same configuration multiple times.However, as with traditional local search (e.g., simulated annealing), the frequencyof these repetitions will be largely mitigated by randomization.

Example 1: In Figure 3 (right) we show GH after legalization is complete.This is the result of three consecutive operations applied to the original graph fromFigure 3 (left): (a) an edge has been added from Block 2 to 3, (b) an edge hasbeen removed between Blocks 6 and 7, and (c) an edge has been added from Block4 to 5. New edges have been highlighted in bold. Some edges that are implied bytransitivity (e.g., the edge from Block 1 to Block 3) are omitted.

3.3 Translation to Fixed Locations

The final layout can be found from the graph-based encoding in several ways. Asidefrom the obvious packing solutions that gravitate blocks toward a particular sideor corner, we develop two more elaborate means to minimize displacement andmaximize separation.

Minimizing Displacement from the original locations can be achieved by in-crementally adding edges to the graph in order to lock modules into locations neartheir initial positions. To emulate the initial placement, we propose pseudocodein Figure 5. For each module, we use GH to extract the lower and upper boundson its final horizontal position xi. From this, we can determine whether or not itcan be given its original horizontal coordinate. If it can, edges are added to ensurethis. Otherwise, the module is slid as close to its original position as possible andedges are added as appropriate. A similar operation is performed to determine themodule’s vertical position. See illustration in Figure 7.

Example 2: The largest module in our example is Block 6, which has a feasiblewindow of 850 to 950 after legalization (see Figure 6, left). We could select anyvalue in this range and guarantee a consistent layout. Unfortunately, the original

Page 7: Constraint-Driven Floorplan Repairweb.eecs.umich.edu/~imarkov/pubs/jour/todaes08-floorist.pdf · Constraint-Driven Floorplan Repair MICHAEL D. MOFFITTy, JARROD A. ROYz, IGOR L. MARKOVz,

Constraint-Driven Floorplan Repair · 7

leftwall 4 2 7 right

wall

1 3

5 6

0

0

450

550

450 200400

400

[0, 0]

[0, 100] [1000, 1100]

[550, 650]

[850, 850]

[1000, 1300] [1500,1500][0, 0]

[400, 400]

400

85045

0

650

leftwall 4 2 7 right

wall

1 3

5 6

0

0

450 + 50

550 + 50

450 + 50 200400 + 50

400

[0, 0]

[0, 0] [1100, 1100]

[600, 600]

[950, 950]

[1100, 1300] [1500,1500][0, 0]

[450, 450]

400 + 50

550

450

+ 50

Fig. 6. Finding final positions for all of the blocks by emulating the original placement (left) or

maximizing separation between blocks (right). To emulate the initial solution, a pair of edges has

been added to lock Block 6 into a horizontal coordinate near its original position (left). To achieveseparation, a constant is applied to the weight on each edge between a pair of modules (right).

1 23

4 5 6

7

� 1500 -6

1000

?

1 23

4 56

7

� 1500 -6

1000

?

Fig. 7. Our floorplan after repair and either emulation (left) or separation (right).

horizontal position of Block 6, 750, is outside this range. Emulation would thuschoose 850 as the closest possible value, adding an edge from the left wall to Block 6with a weight of 850. To constrain this block from the right, a second edge would beadded from Block 6 to the right wall with a weight of 650 (since 1500−850 = 650).As can be seen in Figure 6, these edges serve to lock not only Block 6 into place(horizontally), but also Blocks 4 and 5 as well.

Complexity: Each addition of an edge to the constraint graph requires worstcase O(N2) time. For N blocks, the entire emulation procedure takes O(N3) time,but is invoked only once, and can be bypassed when preserving initial locations isunimportant. As shown in Section 4, emulation can process thousands of modulesin under a second. It is clearly more scalable than sequence-pair based annealingwhich requires at least N4 steps in most common implementations.

Maximizing Separation. An alternative objective is the even spreading ofmodules across the chip, with an eye on subsequent physical synthesis and rout-ing that often require a more balanced allocation of space. Figure 8 outlinesour process of separation maximization. The effect is similar to that achieved bydiffusion-based spreading [Ren et al. 2005] that is based on solving PDEs for chem-ical diffusion. In contrast, our separation procedure operates upon the constraint-graph representation, is discrete in nature and ensures legality.

Both separation and emulation add edges incrementally until blocks are lockedinto fixed positions. However, rather than insert new edges between modules andthe walls, separation iteratively increases the weight of the arc between each non-

Page 8: Constraint-Driven Floorplan Repairweb.eecs.umich.edu/~imarkov/pubs/jour/todaes08-floorist.pdf · Constraint-Driven Floorplan Repair MICHAEL D. MOFFITTy, JARROD A. ROYz, IGOR L. MARKOVz,

8 · Michael D. Moffitt, Jarrod A. Roy, Igor L. Markov, and Martha E. Pollack

Maximize-Separation(GH , GV , increment)1. dist ← 0, changed ← false

2. while (changed)

3. dist ← dist + increment

4. For j = 1 to N

5. For i = 1 to j

6. If (L(i, j)) changed← GH .AddEdge(xi, xj , min(wi + dist, GH .ub(xj)−GH .lb(xi)))

7. If (R(i, j)) changed← GH .AddEdge(xj, xi, min(wj + dist, GH .ub(xi)−GH.lb(xj)))

8. If (A(i, j)) changed← GV .AddEdge(yi, yj, min(hi + dist, GV .ub(yj)−GV .lb(yi)))

9. If (B(i, j)) changed← GV .AddEdge(yj, yi, min(hj + dist, GV .ub(yi)−GV .lb(yj)))

Fig. 8. Separation: The creation of a fixed placement that spreads modules across the chip.

overlapping pair by a small constant. This is repeated until no additional changesin the graph are observed at which point each module will have no additional slack.The additional weight added to each edge is bounded by slack, as to not violate thefixed outline.

Example 3: In Figure 6, we show the horizontal constraint graph after anadditional weight of 50 has been applied to each edge. In this case the additionalconstant term lock all blocks in place horizontally except for Block 7. Figure 7(right) illustrates layout after the repair and separation procedures.

Complexity: The naıve implementation suggested by Figure 8 would requireO(N4) time for each iteration on the value of the distance variable. The totalcomplexity can be reduced to O(N3) time if all individual edge weights are insteadupdated in a single collective sweep, with one global pass to propagate these newvalues along the longest paths contained within the graph.

4. EXPERIMENTAL RESULTS

We compare FLOORIST with legalizers from FengShui 5.1 [Khatkhate et al. 2004]and APlace 2.01 [Kahng et al. 2005], which are based on the Tetris algorithm.1

Since the tools compared do not support soft blocks, all blocks are considered hardwith an aspect ratio of 1.0.

4.1 Repairing the Output of a Global Floorplanner

We ran FengShui 5.1’s legalizer and FLOORIST on final solutions produced by APlace2.01.2 Table 2 of [Moffitt et al. 2006] (not reproduced due to space limits) showsdetailed results of these experiments. We find that FengShui 5.1 is extremely frag-ile, as it crashes on the majority of instances. Furthermore, when it does generatea solution, it often increases the amount of overlap and tends to violate the fixedoutline constraint by placing modules out of core. On all instances that we tried,FengShui fails to produce legal solutions. In contrast, FLOORIST achieves legal-ity and 0% overlap on all instances, preserving global interconnect length whileremaining competitive in runtime. The layouts produced by using FLOORIST onthese initial solutions are each superior in wirelength to the previous best legal

1A binary provided to us of the XDP legalizer [Cong and Xie 2006] used by mPL6 crashed on all

IBM-HB instances [Cong et al. “Fast ...” 2005] used in our experiments.2We focus on the output of APlace since, as observed in [Moffitt et al. 2006], the latest versionof Capo generally does not produce illegal solutions, and FengShui is too unreliable to produce

consistent results on these benchmarks.

Page 9: Constraint-Driven Floorplan Repairweb.eecs.umich.edu/~imarkov/pubs/jour/todaes08-floorist.pdf · Constraint-Driven Floorplan Repair MICHAEL D. MOFFITTy, JARROD A. ROYz, IGOR L. MARKOVz,

Constraint-Driven Floorplan Repair · 9

Table II. Performance of legalizers on placements with reshaped modules.

% reshaped → ..10% ..20% ..30% ..40% ..50% ..60% ..70% ..80% ..90%avg. % initial ovlp 1.38 2.81 3.98 5.59 6.92 8.23 9.73 11.11 12.31

FengShui

% solved 10 0 0 0 0 0 0 0 0avg. % ovlp 81.1 N/A N/A N/A N/A N/A N/A N/A N/Aavg. HPWL 3.11E6 N/A N/A N/A N/A N/A N/A N/A N/A

avg. runtime (s) 12.36 N/A N/A N/A N/A N/A N/A N/A N/A

AP

lace % solved 80 35 25 0 0 0 0 0 0

avg. % ovlp 0.343 0.389 0.431 N/A N/A N/A N/A N/A N/Aavg. HPWL 2.90E6 2.96E6 3.04E6 N/A N/A N/A N/A N/A N/A

avg. runtime (s) 40.5 54.3 75.8 N/A N/A N/A N/A N/A N/A

Flo

ori

st % solved 100 100 100 100 100 100 100 100 100avg. % ovlp 0 0 0 0 0 0.040 0.221 0.226 0.466avg. HPWL 2.86E6 2.88E6 2.90E6 2.91E6 2.93E6 2.94E6 2.94E6 2.96E6 2.97E6

avg. runtime (s) 2.40 6.44 10.2 15.5 28.6 60.0 180.3 197.4 227.0

solutions. The average reduction in wirelength observed is 7% [Moffitt et al. 2006].Refer to Figure 9 for sample layouts generated in this experiment.

4.2 Repairing Floorplans with Resized Blocks

In a second set of experiments, we reshape a percentage of blocks in a legal place-ment (APlace’s ibm01 solution legalized by FLOORIST) and change aspect ratiosfrom 1.0 to either 0.5 or 2.0. The percentage of blocks reshaped is varied between10% and 90%, and 20 initial solutions are created for each such percentage. Theoverlaps in the resulting set of benchmarks are much more significant than those inthe first experiment, both in number and size. In Table II we report the percentageof instances on which a given legalizer returned a solution, the average amount ofoverlap in such solutions, average HPWL, and average runtime for solved instances.FengShui’s legalizer returns solutions for only two benchmarks, which are far fromlegal. APlace’s legalizer is somewhat more reliable, and produces at least one solu-tion out of twenty for cases where the percentage of blocks resized is 30% or less.However, the solutions are not completely legal. Furthermore, its runtime is overa minute when 30% of the blocks are reshaped. FLOORIST produces entirely legalsolutions for all problems where the percentage of blocks reshaped is as high as50%. It also returns nearly-legal solutions in extreme cases with as many as 90% ofblocks being reshaped, and produces HPWL that is superior to that of APlace. Oneasy problems, its runtime is almost negligible, but increases monotonically withthe illegality present in the initial solutions as expected.

4.3 Handling Obstacles

FLOORIST also excels in handling layouts with fixed obstacles; such problems havetraditionally been difficult for annealers, in part because popular floorplan represen-tations do not easily permit the encoding of such constraints. The representationused by FLOORIST handles obstacles almost effortlessly - one needs only to add theappropriate edges between the fixed block and the surrounding walls, and precludethese edges from being removed during repair. This simple modification allowsFLOORIST to reason about fixed obstacles.

To produce results in Table III, we take the solutions produced by FLOORIST inthe previous experiment with 32% whitespace, and drop five fixed blocks on topof these layouts (one in each corner, and a fifth in the middle). We progressively

Page 10: Constraint-Driven Floorplan Repairweb.eecs.umich.edu/~imarkov/pubs/jour/todaes08-floorist.pdf · Constraint-Driven Floorplan Repair MICHAEL D. MOFFITTy, JARROD A. ROYz, IGOR L. MARKOVz,

10 · Michael D. Moffitt, Jarrod A. Roy, Igor L. Markov, and Martha E. Pollack

Table III. Performance of legalizers on placements with increasingly larger obstacles.

% of area taken by obs. → 1% 3% 5% 7% 9% 11% 13% 15%FengShui

% solved 0 0 0 0 0 0 0 0avg. % ovlp N/A N/A N/A N/A N/A N/A N/A N/A

avg. movement N/A N/A N/A N/A N/A N/A N/A N/Aavg. runtime (s) N/A N/A N/A N/A N/A N/A N/A N/A

AP

lace % solved 100 100 100 100 100 100 5 0

avg. % ovlp 0.272 0.230 0.281 0.265 0.273 0.279 0.360 N/Aavg. movement 128k 114k 102k 95k 95k 107k 150k N/Aavg. runtime (s) 79.7 80.5 84.5 79.3 74.7 72.6 75.4 N/A

Flo

ori

st % solved 100 100 100 100 100 100 100 100avg. % ovlp 0 0 0 0 0 0.015 0.876 3.57

avg. movement 10k 26k 39k 49k 59k 68k 76k 75kavg. runtime (s) 1.50 3.90 7.69 14.32 26.16 78.15 297 400

increase the percentage of area consumed by these obstacles from 1% to 15%. Feng-Shui ignores these obstacles, and makes no effort to repair the floorplan. APlacerequires significant runtime to handle obstacles regardless of problem difficulty, in-troduces dramatic changes to the layouts and fails to completely resolve overlapson module boundaries. FLOORIST performs significantly better on all counts. SeeFigure 10 for illustrations.

4.4 Repairing Other Constraint Types

As noted in [Young et al. 2002], non-overlap constraints are just one of manytypes of constraints that traditional constraint graphs can express. For instance,region constraints, proximity constraints, and alignment constraints can all be rep-resented by edges in the graph, and similarly, their violation can be regarded asthe absence of such edges. Consequently, our conflict-directed approach can repairthese constraints just as easily by manipulating the critical paths that render theminfeasible.

To illustrate this ability, we present a series of images in Figure 12, showing howFLOORIST repairs a violated region constraint. The initial solution is displayed inthe leftmost layout; one block currently violates an artificially imposed constraintthat requires its center to be aligned with the horizontal midsection of the floorplan.Second, we show the movement of blocks as displacement vectors, to highlight howthe majority of the modules are largely unaffected by this repair. In the third imagewe show the final layout after FLOORIST has repaired this constraint.

4.5 Comparison of Methods for Constructing Layouts from Constraint Graphs

Section 3.3 offers three methods for computing placements: packing, emulation,and separation. Emulation was used in previous experiments, and we now compareit with alternatives. For each block in a layout, we find the distance from it tothe closest block in x or y direction, and average this distance for all blocks tocompute the spread. We use the instances from Experiment 2 (with 10% blocksresized), and average results over the 20 instances. We find that packing is fast andproduces reasonable wirelength, but displaces modules significantly. Emulation isalso efficient but generally preserves the initial placement. Both procedures fail toprovide padding on at least one side of most modules. In contrast, the separationprocedure maintains a healthy distance between pairs of modules, but is an order ofmagnitude slower. The difference between the latter two alternatives and APlace’s

Page 11: Constraint-Driven Floorplan Repairweb.eecs.umich.edu/~imarkov/pubs/jour/todaes08-floorist.pdf · Constraint-Driven Floorplan Repair MICHAEL D. MOFFITTy, JARROD A. ROYz, IGOR L. MARKOVz,

Constraint-Driven Floorplan Repair · 11

!!!!pp p

hhhhpp

p

pp

p pp

p pp

((((((((p

p

pp

�����p

p

p

hhhhp

p

pp

p p

PPPPPPPPPPp

(((((p

((p

(((((((((((pp

p

((((((((pp

p

p

hhpp

@@p

p

p

XXXXXXXp

p p

p

p p

p

` ` ` ` ` p�������p

hhhhhhhp

p

p

pp

p bbbbbbbbbbp

(((((p pp

��pp

((((((((p

����������

p

lllllp

p

��������

��pXXXXXXXp

p

p ` ` `pXXXXXXXXXXp

p pp pp

hhhhp

pp

p

p

�����p

hhhhp

p

p

����p ` ```p

p

hhp

��p hhhhhp

p

hhhhp

((((((((pp

pp

p

p p

p

p

hhhhhhhhhhpp

(((((((p

((p

HHHHHHHHHHp����

�p

p

((((((((pphhhhp

hhp p(((((p

p

pp

pp

p

p

p

p

p

����������

p

((((((((p

p

pp

pp

p

((p

��������

���p

pp

p

pp

pXXXXXXXXXXp

p

((((((((p

p

p

XXp

����p

p

((((((((p

p

p

p

p

p

paaaaaaappp

p

����������

pp

p

p

��������p

`` p

p

p

��pp

p

p

p p p

p

p

p ZZZZZZZZpp

pp

��p

p

pp

@@@@p

p

aaaap

p

p

p

p

phhhhhhhp

PPPPPPPPPPpp

p

p

((((((((((p

((p

JJJJp

p

p

p

p pp ```p

p

(((((p

p

p

p p

p

pp

p

p

p

p

HHHHHHHp

(((((((pp

((p

((((((((((p

hhhhhhhhp

p

hhp

hhhhhhhhp

HHp

p

p

p

p

p����

p

����p

((((((((((p

p

ZZZZZZZZZZZp

p

XXXXXXXXXXpp

p

hhhhhhhp

((((((((p

p

((((p

p

XXXXXpp

p

HHp

p

p

p���

�����p

p

XXp

p

p p

eepp

p(((((p

p pp

p

p

p

pp

((((((((p((((((((

p

p

p

pXXXXXp

p

p�����������

paap

p

hhhhhhhhhhp

hhhhhp ((((((((pXXXXXp

((((((((((p

p

(((((((p

p

QQQQp

phhhhhhhhp((((((((p

p

pp

(((((((p

hhhhp

HHHHHHHHHHphhhhhhhhhhp

p

p` ` ` ` ` pp

aaaaap

p

p

XXXXXpp

` ` `p

p

hhp

((((p

p

p

p

p

p

pp

((((((((((p

p

XXXXXXXXXXXXXp

PPPPPp

(((((p

p

hhhhp

XXXXXXXXXXpp

` ` ` ` ` `p

pPPPPPPPPPPPpp

hhhhp

pccccccccccp

pHHHHHHHHHHHHHp

p

XXXXXp p

p

p

hhhhp

p

HHHHp

p

p

((p

p

p

p

�����p

@@@@@@@@p

pp

pp

p !!!!!!!!!!p

����p

p

HHHHHp

(((((((((((p

hhhhhhhpp

pp

(((((p

hhhhhhhhp

p

((((((((((p

p

��������

p�����

p

hhhhhhhp````` p

(((((pp

pp

PPPPp

p

p

pPPPPPPPp

p

�������p

p

�����p

pp

pp

phhhhhhhp

hhhhhp

(((((((((((p

(((((((p p

HHHHp

p

p

p

pp

�������

p

XXXXp

pp

hhhhhhhhhhhhhp

hhhhp

p

p

pp

(((((((p"""""

p

p

p

hhhhhpp

p

p

hhhhhhhpp

@@@@@@@@@@p

p(((((((((((

p

p

hhhhhhhpPPp

p

((((((((((p

p����

�p

hhp

p

@@@@phhp

p

p hhhhhhhp

hhhhp

pp

p��������p p

hhhhhp ((((((((p

p

((((((((((pp

p

hhhhhhhhp

"""""

pp

pp

ppp

p

��p

(((((((((((p

p

p p

p

pp

p p

pp

p

phhhhhhhp

p

hhhhhp

p

hhhhhhhhp

HHHHHHHHHHHphhhhhphhhhhp

p

p p pp

p

p p

p

PPPPPPPPPPPp

p

p

p

p

p

p

p

,,,,,,,,,,,

p

````` p

p

pp

p

p

p

""""""""""

p

hhhhhp

HHHHHHHp

�����������p

p

p

(((((((p hhhhhhhhp

p

hhhhhp

p

p

p

p

aaaaaaaaaap

((((((((((p

paaaaaaaaaaap

p�����

��pp

pphhhhhhhpp XXXXXXXXXXXp

hhhhhp

����pp

aaaaaaaaaap

p����������

pXXXXXXXp

((((((((((p

p

p

pp

pbbbbbbbpPPPPPPPpp

p

hhhhp

((((((((((p

PPPPPPPp

` p

pXXXXp p

p

p

HHHHp

XXXXXXXp((((((

((p

p

p

p

p

p

p

hhhhhhhp

hhp

pHHHHp

p

p

XXXXXp

p

(((((((((((p

PPPPpSSSSSp

p

p

p

p(((((p

p

p

hhhhhhhp

p

@@@@p

p

hhhhp

p

""p

hhhhhp

pp

p

!!!!!

p

����

p p

p

hhhhhpp

aaaaap

p

p

p

p

����

p

p

p

(((((p

p

pp

p

p

p

` ` `p

p

p

p

pp

p` ` ` `p

hhhhhhhhhhp

(((((p

(((((((((((p

((p

p

hhp

p

((((((((((pp

` ` ` ` pp

ccp

����

p

p

pp

hhhhhhhp

p

HHpp

pp

````pp

peep

p��

p

p

p

pp

((((p

hhhhp

p

p

p

p

p

hhhhhhhhp

p

````p

p����

pp

ppp

p

p

p````p

hhhhhpaap

XXXXXXXphhhhhhhp

p

p hhhhhhhhp

pbbbbbp

(((((p

(((((((p

((p

p

p

p

((((((((p p

p

����������

p

bbbbp

p

((((((((((p

p

p

PPPPPPPPPPpp

p

HHHHHHHp

p

QQp

hhhhhhhhp

p((((p

pp

aaaaaaap

p pp

p

p

((((((((((p

pp

HHp

p

hhhhhpp

p

pp

hhhhhhhp

pp

p

hhhhhhhp

������

��p

PPPPPPPPPPpp((((((((

((p

hhhhhhhhpp

pp

p

p p

phhhhhhhhhhp

p

ppp

p

p

p

p

p

ppaaaaaaap

bbbbp

hhhhhhhp

p

p((((((((

pp

(((((((p

pp` ` ``p

p

QQphhhhhhhhp

p

p

p p

((((p HHHHHHHHHHpXXXXp

((p

p �������p

p

(((((p

p(((((((((((

((p

p

p

phhp

p

p��p

p

p

XXXXXXXXXXpp p

p((((((((pp

pphhhhp p

pp ����

������p p

p

hhhhhhhhp phhhhhhhhhhp

p

hhhhhhhp

pp

p

p

p

p

p

p

p

p

p

pp

p

pp

p

p

p

p

pp p

p

p

p

p

p

p

p

p

p

p

p

p

p

pp

p

p

p

p

p

p p

p

p

p

p

pp

p p

p

p

p

p

p

p

p

pp

p

p p

p

p

pp

p

p

p

pp

p

p

p

p

p

p

p pp

p

pp

p

p

p

p

p p

p

p

p

p

p

p

p

pp

p

p

p

p

p

����������������������pp

p

pp

p

p

p

p

p

pp

pp

p

p

p

p

p

QQQQQQQQQQpp

p

p

pp

p

p

p

p p

p

p

p

p

p

p

p

p

p

pp

pp

p

p

pp

p

pp

p

p

pp

pp

p

p

p

p

p

p

p

p

p

p

p

p

p

p

p

p

p

p

pp

p

llllllllllp

p

pp

p

pp

p

p

p

��������������������������p

p

ppp

p

p

p

pp

p

p

p

p

AAAAAAAAAAAAAAAAAAAp

p

p

p

p

p p

p

pp

p

p

p

p

pp

pp

p

p

p

p

pp

p

p

p

p

p

pp

p

p

p

((p

p p

p

p

pp

p

p

p

@@p

pp

p

pp

p

pp

p

p p

p

p

p

p

p

p

p

p

p

p

p

p

pp p

p

p

p

p

p

p

pp

p

p

ppp

pp

pp

pp

p

pp

p pp

p p

p

p

p

pp

p

p p

p

pp

p p

p

p

p

pp

p

pp

hhp

XXp

pp

p

p

p

p

pp

p

p p

p

hhpp p

p

p

pp

p

p p

PPp

pp

XXp

p

p

p

pp

p

p pp

p pp

p

phhhhp

p

p

pp

hhp

p

p p

p

p

p

p

p

pp

pp

p

p p

p

p

pp

p

p

p

p

p

ppp

pp p

p

pp

pp

p

p

p

p

p

p

p

p

pp

pp

pp

p

XXpp

p

pp

pp

p

p

p

p

p

p

p

p

p

p

p

p

XXppp

p

p

` pp

p

p

p

p

p

p

pp

p

p

p p p

p

p

p hhhhpp

pp

p

p

pp

p

p

p

p

hhp

p

` p

hhpp

p

p

p

p

XXpp

p

hhp

p

p

p pp p

p

p

p

p

p p

p

pp

p

p

p

p

pp

p

p

hhhhp

p

p

p

p

p

p

p

p

p

pp

pp

p

p

p

p

p

hhhhp

p

p

p

p

p

pp

` p

p

p

p

pp

p

p

p

p p

pp

pp

XXp phhp

p

p

p

pp

p p

p

p

pp

p

p p

p

p

p

p pp

p

p

p

p

p

p p pp

pp

p

p

hhhhpp

ppp

p

p

p

p

phhp

p

p

p

p

p

p

p

p

p

pp

p

p

XXXXp

hhp

p

hhp

p

hhpp

` p

pXXXXpp

p

` p phhp ((p

p

pPPp

p

pp

((p

p

p

p

p

p

p

p

p

p

pp

pp

p p

p

p

p

hhhhp

p

pp

PPp

p

``p

p

p

p

hhpp

pp

pp

phhp

pp

p

p p

p

p

p

p

pp

hhpp

pp

p

PPp

p p

p

p

p

p

pXXp

p

p

pp

hhhhp

p p

p

pp

pp

` p

p

pp

pp

pp

hhp

p p

p

pp

p

p

p p

p

p

p

p

p

p p

p

pp

pp XXpp pp

pp

p

p

p hhpp

ppp

p

p

`` p

p

p p

p

pp

p p

pp

p

hhpp

p

p

p

p

ppp

p

p hhphhp

p

p p

p

p

p

p

p

p

hhp

p

p

paap

p

pp

p

p

p

p

p

p

hhp

p

p

XXp p

p

p

p

p

p

p

p

p

p phhppp

ppphhp ``p

p

pp

PPp

pp

p

p

p

hhp

` pXXp

pp

pp

p

p

p

p

p

pp p

p

p

phhp

p

p

p

p

p

p

p

p

pp

p

p

p

p

` p

pp

p

p

p

pp

p

p

p

p

p

p

p

p

p

pp

p

p

pp

p

phhp

p

p

p

p

p

p

`p

hhp

p

p

pp

p

p

` p

p

p

p

pp

pp

p

p

p

p

hhp

p

p

``p

pp

p

p

p

p

pp

p

p

pp

pp

pp

pp

pp

p

hhp

ppp

p

p

p

p

p

p

p

p

p

pp

ppp

p

p

p

pp

pp

pp

XXXXp

p p

pp

p

pp

p

p

p

p p

p

pp

p

p

p

pp

p

p

p

p

pp

p

pp

p pp

p

p

p

` pp

p

phhhhp

p

p` p

p

pp

p

p

p

pp p

ppp

p

hhp

pp

p

ppp

p

p

p

p

p

ppp

p

p

p

pp

p

p

pp

pp

pp

hhhhp

p

p p

p p

p

p

p phhp

p

p p

p

p

pp

p

pp

p

p

p

p p

ppp

pp

p pp

p phhp

p

p pp

p

p

PPpp

p

p

pp

pp

p

pp

p

p

p

p

pp

p

p p

p

p

pp

p

p

p

p

pp

p

pp

p

p

p

p p

p

p

pp p

p

p

p

p

p

p

p

p

p

hhp

p

p

p

p

p

p

p

p

hhp

pp

p

p

p

p

p

p

p

p

p

p

p

p

p

pp

pp

p

p

p

ppp

p

pp

p

p

p

p

p

p

p

p

p

p

pp

p

p

p

p

pp

p

p

p

pp

p

pp

pp p

p

pp

p

p

p

pp

p

p

p

p

p p

p

pp

p

p

p p

p

p

p

p

p

p p

p

ppp

p

pp

pp

(a) APlace (Initial) (b) FengShui’s Legalizer (c) Floorist

Fig. 9. Legalizing the output of APlace (an analytical global placement tool) on ibm-07.

p

pXXXXX

p

p

p

PPPPPp

PPPPPp

p((((p

p p

((phhhhp

p

p

p

(((((p

PPp

pXXXX

p

((((p

p

hhhhhhhp

p

XXXXpp

p

aaaapp

pPPPP

Pp((p

p

p`p

��p

llll

p

p

ccp

pp

HHHH

p����p((p

p

""p

p

PPPPPP

PPPPPP

PPPPPP

PPPPPP

PPPPPP

PPPPPP

PPPPPP

PPPPPP

PPpCCCCCCCCCCCCCp

�������p���

��p

p

p

XXXXp

p

p

!!p

p

p

����pp

p

QQp

p

p

�����p

p

p

PPPPPP

PPp

p

#####p

p

p

p

p

p

p

p

p

pbbbbp

p p

p

����p

p

pp

""p

p

p

ccp

p p

pp p

p

pll

lllp

p

p

p

����p

p

p

p p!!!!p

pp

p��p

p

`p

p

p

!!!!p

QQQQp

p

p

aapp

p

p

p

pp

p

p

p

((((p

p

p

p p

pp

ZZp��p

p

p

pp

p

p

�����p

bbp

p

p pp

p

p

p

%%p

""p

p

p@@p

p

p

pp

�������p

��p

pZZ

ZZp

hhhhhhhhhhhhhh

hhhhhhhhhp

p

PPp

``p

��pp

p

hhp

p����

p

p

QQQQ

p

pp

p

((phhhhp

p

##p

``pp XXXXp

p

pp

pp

p

p

pp

p

�����p(((((((p

```p

p

p

((((((((((((((((p

p

p` p

����pp

@@@@@@@@@@@@@@@@@@@@@@@p

hhhhhphhhhhhhhhhp

bbbb

bp

��������p

@@p

��p

p XXXXp

p

p

p

p((((((((((p

p

hhhhhhhhhhhhhhhhhp

p

p

p

pp

p

p

p

ZZp

p

p

p

p

p

JJJJp

p

p

p

llllp

p p

��pXXXX

XXXXXXpJJ

JJp

p

p

p

p

����p

p

TTp

p

p

SSSSp

AAAAp

p

((((((((((((((((((((((((((((((((((((((((((((p

aap(((((((p

p

p

p

p

p

��������������p

pp

p

p

p

p

paap

AAAAAAAp

p

p

PPp

p

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!p hhp

p

p

p

p

hhhhhhhp

�������������������������������������������������������������p

AAp

p

((p

p

p

ZZp

p��p p

p

p

hhhhpp

p p

hhp((p

p

BBBBBp

p

p

p

p

` `pp

"""""""""""""""""""""""""""""""""""""""""""""""p

p

p

p

p

p

p

p

p

aaaap

@@p

p

p

p

((p

��p

�����p

p

p

p

!!p

p

�����p

````p p

p

p

CCp

p

pp

p

XXp

p

p

p

p

p

p

p``p

��������p

p

pp

p

p p

����

pp

p

@@@@

@@@p

p

����p

p

!!!!p

�����p

p

����������������p

p

p

pp

p

�����pp

p

p

�����p

AAAAAAAp

��p p

p

p

((pp

p

p

��p

p

p

p�������p

����p��p

p

����p

@@@@

ppp

p

p

((pp

hhhhhp

AAp

p

pp

��������������������������������������������������������������p TTp

pp

""""p

p

p

p

pp

,,p

p

pp

p

�����p

\\ppp

p

p

JJp

p

p

llll

p

p

HHHHpp

p

p

p

p

p

,,pXXp

XXXXXp

p

p

p

pp

����p

pp

��p

phhhhhhh

p

p

p��p

p

@@p

!!p

p

p

p

p��������������p

DDDDDDDp

p

p

""""p

p

p

#######p �������p

p

�����pp hhhhhhh

hhhp

p

��p

p

p

p

p

p

pp

p

p

p

pp

p

((p

p

p

pp

p

����p

p

����������p

pp

((pp

p��

p

p

p

p

(((((p

p

PPp

p

aaaap

CCCCCCCCCCp

p

hhp

,,pp

p

pp

p

��p�

���

p

p

HHHH

HHHH

HHHH

HHHH

HHHH

HHHH

HHHH

HHHH

HHHH

HHHH

HHHH

HHp

p

p p

p

p

p

phhhhhhhhhhh

hhhhhhhhhhhhhhhhhhhhh

hhhhhhhhhhhhp

pp

p

p

pp

XXXXXXXp

p

EEp

p

p

p

p

ppp

hhhhpllp

��p

p

!!pp

p

p

p

p

""""""""""""""""""""""""""""""""""""""""""""""pp

p

pTTTTp

����p

pllllpp

p

p

pXXXX

XXXXXXXX

XXXXXXXX

XXXXXXXX

XXXXXXXX

XXXXXXXX

XXp

SSpp

ZZZZ

Zp

p

LLLLLLLp

p

BBBBBBBBBBBBBBp

p

((p

��p

p

CCCCCp

p����������p

pEEEEEEEp

pp

�����p�

���p

p

p

p ((((((((((((((((((((((((((((((((((((((((p p

p""""p

p

p

p

�������p

p

((ppp

p

p

����

pp p

��������p

p

p����

p

p p

p

aaaap

p!!!!p

p

����p

@@p

p

hhp

p

hhp

CCCCp

p

p

p

p p

XXXXXXXX

XXXXXXXX

XXXXXXXX

XXXXXXXX

XXXXXXXX

XXXXp

��p

TTTTp

����������p

p

p

pp

p

��������������pp

``p

p pp

%%%%%

p

pp

pp

p

pp

@@@@p

p

p

HHHHHH

Hp

��������p

p

p

p

�����

pXXXXXp

p

p

p

p

p

p

`p

pp

p

p

p

pp

p

p

p

p

p

JJJJJp

XXp

p

p

p

����p p

p

ZZp

pEEp

p

p

p

hhp

p

p

p

p

aapp

�������������p

pp

p

p

����������p

p

p

p

p

p

p

p

hhhhhhhp

,,p

EEEEEEEEp

p

p

p

p

p

pp p

p

p

pp

p

hhhhhhhhhhhhhh

hhhhhhhhhhhhhh

hhhhhhhhhhhhhh

hhhhhhhp

p

p

p

pp

p

p

p p

��p

p

p

p

hhhhhp

pp

p

p

����p p

p

p

p pp

p

p

�����p

pp

p

p

p pp

�������

p

p

p

p

p

p

p

p

p

pp

""ppp

p

��p

p

p p p

p

p

pp��

p

p

!!!!!p

p

XXp

p

p

p

p

p

p

p

pp

p

p

p p

EEEEEp

p

p

p

p

pp

p

p

pp

��

p

p

pp

p

�������p

pp

p

p

p

!!p

p

p

�����

p

p

p

p

p

p

p

p

p

����p

p

p

pp

PPp

p

p

PPPPPp

p

p

p��p

p

p

p

p

p

p

p

hhhhpp

pp

p

p

pp

����������������p

p

p

LLLLppp

p

p

p

p

pp p

hhhhp

p

p

p��p

llllpp�����p

p

p\\\\

p

p

PPp

""""p

p

!!!!p

��p

p((p

��p

pp

p

��p

(((((p

pPPp

p

p

p

hhp

��pp

��p

p��p

pp

@@p

p

AAAAAAAAp

p

p

��p

p

hhp

pp

p

��p

SSp

p

p

p

pLLLLp

p

((p

p

��p

��p

p

��p

��p

p

p

pp

HHp

p

p

p

CCp

��p

p

��p

p

p

p

LLp

p

p

p

@@p

HHp

EEEEEp

pp

EEEEEEEEp

p

p

p

p

pp

JJp

p

p

p

pp

pp p

hhhhp

p p

p

p

p

��p

p

pDDp p

p

pp

,,p

p

p

p

p

HHp

��p

p

p

p

!!!!!

p DDp

p

p

p

p��p

p

p

p

p

p

p

��p

��p

pp

PPp��

p

p

((((((((((p

p����

p

!!p

p

p

p

p

p p��p

p

p

DDDDp

��p

p

p

EEEEp

��p

p

p

pp

AAp

��p

p��p

p

p

p

p

peep

p

p

pp

p

��p

phhp

p

p p

��p

��p

ppaaaap

p

pp pp p

""""

p

����p

p

p

p��p

p

((((((((p

p

p

p

��p

p

p

p

p

TTTTTp ����p

p

��������p

pp

p pp

p

!!!!p

p��p

p

p

!!p

p

p

p

CCp

����p

p

""p

!!!!!!!!!!!!!p

p

hhhhp

p

p

p

�����p

p

,,p

p

p

p p

AAAAp

ZZp��

p

��p

p

p

p

AAp

p

BBp

��p

BBBBp

EEp

""""

p

p

pp

p

p

p

p

p

��p

p

p!!!!

p

EEp

bbbbp

p

p

((((((((p p

@@@@p

p

p

p

LLLLLLLp

�������p

!!p

p

p

HHp

p

!!pp

PPp

pp

��p

p

aaaap

EEp

p,,p

p

((p

��pp

p p

p ��p

pp

p

%%p

eep

p

AAAApp

p

p

""p

p

DDDDDpp

��p

p

��p

PPp

p

p

p

p

p

p

p

hhhhp

p

p

p

��p

!!p

bbbbp p

��p

p

p

p

����p

!!p

TTTTTp

p

p

p

p

p

p

��p p

�������p

p

p!!!!!!!p

p

p��p

aaaaapHHHHHHHp

p

p

p

����p

TTTTp

p((p

p

pp

HHp

pp

p

CCCCCp�

�p

��p

p

p

p

����

p p

p

p

pp

p

����p

p

p

aaaap

pp

p ��p

����������

p

p

pp

p

p

!!!!p

pp

��p

p

p

CCCCCp

p

��������������pp

((pp

p

��p

p

��p

p��p

p

p

pp

p

hhp

%%ppp

p

p

p

p

SSp

p

p��p

p

p

p

p

p

p pp

p

��p

p

��p

��

pQQQ

Qp

p��p

p

��p

��p

p

pp

""p

p

p

p

p

EEp

`p!!!!!!!!p

p

p

p

XXp

��p

p

BBp

CCp

p

p��p

����p

p

p

p

p

��p

p

p

����p ����p

p

p

((p

pp

��p

p

p

p

pp

p

����p

pBBBBp

p��

p

phhp

pllp

p

aap

p

��p

p

AAp

p

p

p

p

p

AAp

p

p

pp

p

QQp

����p

����p

p

((p

��pp

p

,,

p

EEp

p

p

p����p

p

p

pp

,,p

p

��p

@@p

p

PPp

p

��p pp

��pp

p

p

pp

hhhhhhhhhhp

BBp

p

p

����p

p

p

(((((p����p

p

pp��p

p

p

��p

��p

pp

ZZZZ

Zp

p

%%p

p

TTTTTp

p

((p

p

p

p

p�����p

DDp

p

p

p

p����p

p

p((p pp

pp

ZZp

��p

p

EEp

p

""p

EEpp

p

p

((((p p QQQQ

Qp AA

AAp

p

p

p

EEp

DDp

p

p

�����

p��

p

�����p

����p

��p

AAp

p

pp

����p

p

p

BBBBBBBp

,,p

p

�����p

p

����p

��p

�����p

p

pp

EEp

PPPPPp

p

pp

,,p

ZZZZ

p

p

!!p

pp

(((((pp��p

##p

p

��p

p

p

p

p

cccc

cpp

paaaap

p

p

pp

p

p��p

p

�����

p

p

p�������p

p

p

p

p

p

p

p

p

p

((p

����p p

p

aaaap

pp

p

aaaap

HHp

p

p

p

��p

p

((pAAAAp

p

p

p

p

EEp

p

�����������p

p

CCCCCCCp

hhhhhhhhp

��p

,,p

p

DDDDDDDp

p

p

EEp

p

p

p

��������

p

��p

p pp

aap

p

@@@@

p

��p

JJp

p

hhp

p

��pp

PPp

��p

p `p

@@p

XXXXp

p

p

p

EEEEp

!!p

p

�����������p

llpp

p

p

LLp pp

p

@@@@p�������p

pp

p

p

LLpXXXXp

��p

HHHHHH

Hp

EEp

p

p

TTp

p

p

p

p

pp ����p

p

p

p

��p

BBp

ccp ��

p!!p

LLp

p

p%%%%%%%

p!!!!!

p

p

\\\\\p

p

p

p

eep

p

p

XXXXp

p

p

p

p

p

p

ppp

p

p

pp

p��p

p

p

p����p

SSSS

p

p

p` p

p

��pp

p

SSpp

p

����

p

��p

pp

p

p

EEEEp

p

p

p

p

p

ZZp

p

p

pEEEEp

p

AAp

�����p

p

p

p

p��p

��p

p

p

p

p

p

XXp

pp

pp

p

��p

pp

AAAAAAAp

p

p

ppp

p

p

p

p

pp p

aap

p

hhp

��pp

bbpp

eep

(a) Initial (b) APlace’s Legalizer (c) Floorist

Fig. 10. Legalizing a placement with obstacles added to the perimeter and center of the floorplan.

p

((((((((((((((

ppp

p

p

p

p p

p

p

p

p

p

p

p

p

p

hhhhhhhp

p

p

hhhhp

p

hhpp

����p

p

pp

p hhp

(((((((((((pp

p

hhhhp

` ` ` ` ` p

p

hhhhhhhhhhhp

ppp

(((((((((((p

hhhhhpSSSSSp

�������p

�����p

p p

p

p

@@pp

�����p

����������������p

p

��p

hhhhhhhhhhhp

p

p

((((((((((p

XXXXXXXXXXXp

p

p

����

p

p

JJJJp

PPPPPPPPPPp

!!p

aap

p

PPPPPPPPPPPp

p

(((((p`` p

((((((((((p

�������������p

p pPPPPp

p

p

pp

pp p

p

paaaaaaaap

p

p

HHp

SSSSSp

p�����

p

p

hhp

p����p

QQQQp

p

p

��p

p

p

hhhhhhhhhhhp

p

p p

��p

p

p

pp

((p

p

p

\\p

HHHHHp AAp

%%%%%%%

p

p

pp

QQp

��������p

p

����p

p

((p

p

p

p

p

p p p

p` ` ``p

((((p

((((((((p

p

pp

p

p

XXXXpPPPPPPPPPPPp

pp

p

XXXXXXXXXXXXXp

p p

p

phhhhhhhhhhp

p

pp

JJp

p

p

p

p

��������

p

p

p

pp

p

bbbbp

p

hhhhhp

p

p

p��p

p

p

�����

p

p

@@p

((((p

LLLLLp

p

��p

```p

p

p

HHpp

p!!p

�������p

hhp

��

p!!!!!!!!!!!

p

��p

p

p

p

p

EEp

p

p����p

paaaaap

hhhhhhhhhhp!!!!

!!!p

pp

pp

p

p(((((((pbbbbbbbp

��������

���p

HHpaappHHHHHHHHHHp

bbbbbp

p

p

����p

p

��p

bbbbbbbpAAAAAp

p

pp

!!!!!!

!!p

""""p

LLLLLp

cccccp

p

p

p

QQQQp

p

p

p

eep

p����

���p

����p

�������p

����

p

p p

PPPPPPPpp

p

p

p

p

hhhhhhhhhhhhhpPPPPPPPPp

p

aaaaaaaap

p

p

"""""

p

p

XXXXXXXp

p

p

������

��p

��p

AAp

p

p����p

pp

#######

pHHHHHHHHp

(((((((((((((p

p

(((((p����

��������

�p(((((

p phhhhhhhhhhhp

((((p

""""""""

pp

p

pp

p

p

p

p

(((((((p

p

PPp

�����

p

p

p

�������p

p p

p

CCp

eep

�������

p

HHHHHHHHHHp

����p p

p

SSp

hhhhhhhp

CCp

��p

%%p

XXphhhhhhhhp

pbbbbbp ((p

pp

!!!!p

p

p

!!p

%%p

hhhhp

p

pp

�������

p

hhhhhpp

p ` ` ` ` ` `p

p

p

!!!!!!!

p

����

p

@@@@pp

pp

����p

!!!!!!!!!!!!!p

p

!!!!pp

p

p p

` ` ` `p

QQQQQQQQQQp

pp

p

hhhhp` ` ` ` ` p

p

p

""""""""

p

p

phhhhhp p

p p

PPpbbbbp

hhhhhhhphhhhhhhp

hhhhhhhp

��pJJJJp

pHHHHp

p

bbbbp

pp

p

��������

p

!!!!!

p

hhhhp

��p

HHHHHHHHHHp

����p

((((p

XXXXp

@@ppp

DDp

p

p

QQp

��������

p

p

hhhhhp

p

QQQQQp

@@pSSSSSSSSSSSpp

p

hhhhhp

p

````p

(((((((p

HHp

p

p

p

p

����p

pp

pp

�������p

!!!!!!!!

p

p

p((((p

LLp

phhp

p

p

ZZZZZZZp

hhp

##p

p

@@pQQQQQQQQQQQp

p

p

����������p

pp

p

p

pp

@@pp

p

CCp

hhhhhhhhp

p

pp p

p�����

p

bbpp

QQQQp

�������

p

##

p

,,,,,,,

p

pp

hhp

p

p

pZZZZZp

p

p

p

TTp((p

p

PPPPPPPPPPPPPp

hhhhhhhp

����p

��p((((p

p

p

p

p

p

bbbbbp

����p

p

p

p

p

ZZphhhhhhhp p

p

HHp

p

p

HHp

p

((((((((p ,,

,,,,,

pp

p

p����

p

phhhhhhhhhhp

bbbbbpHHHHp

p

����p

` ` p����

����p

p

p

(((((p

p

p

aap

p

pp

p

p

QQQQQp

p

hhhhhhhhhhp

p

p(((((p

p

p

""p

p

\\\\\\\\\\p

����p

����

pCCp

HHHHHp

p

PPPPPPPp

"""""

p !!!!!!!!!!p

XXXXXpp

p

ppp

JJp

""p

AAAAp

p p

hhhhhhhhhhpp

p

p((((p

p

p

p

p

p

p

p

p

(((((((p

p

p

p

p

p

p

p

��p

p

p

p p�����

p

pSSp p

p

!!!!p

hhp!!!

!!p

p

p

((((((((p p

(((((((pp

p

p

p

(((((p

p

p

p

hhhhp

����p

!!p

##

p

p

����p

p

(((((((pp

p

�����p

p

pp

��p

p

p

HHHHHp

p

p pp����p

p

(((((p p

p

!!p

p

��p

@@@@p

pp

p

p

�������

p

@@@@@p

CCp

p

pp

QQp

��p

��������

p

pp

p

�����p

bbp

p

����p

p

XXXXXXXp

����p

��p

p!!!!!

p

((pp

pBBBBBp

p

p

p

p����p

p

p

p

pp

p

p

p

p

llp

(((((p

p

p

p

�����p

pCCCCp

p

p

%%

p ����p

EEEEp

��p

��p

p

phhhhp

(((((((p

��p

hhhhp

p

����p

p

(((((((p

p

p

hhhhhhhhp

pp

AAp

p

pp

hhhhp pp

SSSSSSSSSSSp

p

p

p

aaaap p

pp p

p

(((((p

p

p

p

p

p

pp

����p

p

p

pp

p

��p

p

pp

p p

p

����

p

p

p

pAAAAAp

p

PPp

p��p

p

!!p

pp

p

((p

p

p

p

p

@@p

pp

p

pp

p

p

p

llp

p

p

p

p

p

pp

��p

p

p

�������p

p

XXXXXXXp

PPp pBBp

p

p

p

p

JJp

p

p

p

p

p

p

p

p

p p

((p

pp

p

p

��p

pp

p

p

,,p

HHp

��pp

` ` ` `p

pp

p

p

p

pp

p

EEEEp

````p

��p

SSp

\\\\p

p��p

p

p

��p

`` p

��p

pJJJJp

p

PPPPPp

p

pp

p

bbbbp

BBp

p

pp

p

��p

bbp p

��p

��p

pp

p

p

p

p

p

((p

pPPPPpp

(((((((p

��p

p

HHp

p

p

p

p pp

p

p��p

p

p

p p

��

p p

p p

p

p

AAp

pp

p

p

p

p

SSSSSSSSp

pp

p

��p

p

p

p pp

p

�����p

p p

LLp

p

p

p

p

p

p

p

DDDDDp

LLp

p

p

LLp

XXXXXp

pEEp

paap

p

p p

EEEEpp

p

p

p

LLp

p

pp

pp

p

LLLLLLLLLLp

p

p

p""p

p

p

p@@p

p

pp

p

p

p

p

p

p

p

p

p

p

p

p

p

p

��p

p

,,pp

��p

XXXXXp

p

p��pp

EEp

p

pp

pp HHp

��p

paaaaap

p

p

p

p

p��p

p

��p

p

pp

p

pp

hhp

LLLLLp

p

p

!!pXXXXp

p

LLp

p

pp

��p

p

p

hhp

�����p

p

p

p

pllllp

��p

p

p

p

p

p

��p

AAp

p

LLp

p p p

pbb

p

p

��p

DDDDp

p��p

p

%%p

��p

p

pTTp

PPp

QQp

��p p

p

p�������p

pp

p

aap

p

p

@@p

p

p

pp

pp

PPp��p

p

��p

p

p

HHHHHp

��p

p

p

p

p

p

p

p

p

p

EEp

��p

p

%%p\

\p

pp

PPp

XXp

`pp

p

p

p

LLp

TTp

BBBBp

p

��p pHHHH

pp

pp

pp

pp

""p

p��pDDp

PPp

pDDDDp

��pp

p

p

p

p

p

p

�������p p

LLp

p��p

DDDDDDDDp

p

����������p p

��p

p

!!p

����p

p

p

ccp

p,,p

p

p

EEp

p

p HHHHp

pp

p

((pBBp

����p

����pp

EEEEp

ccp

p

p

EEpBBp

p

��p

PPPPp

p

p

p

AAp

p

pp

��p

p

!!p

����p

��ppHHp

pTTTTTp

��p��pp

��p

p

%%%%

p

��p

p

PPp

pHHp

p

p

p

p

��p

��pp

p

""p

p

hhp

p

pp

p

""""p

p

p

EEEEp

CCp

TTpp

TTp

CCCCp

p

pp

!!p

p

PPPPp

����p

p

p

p

hhhhpp

p

pp

((p p!!p

p

p

p

p@@p

p p

p

!!p

,,p

eep��p

aap

AAp p

p

pLLp

p

p

����p p

p

p

p

p

��pB

Bp ��p

pp

p

p

p LLp

����p

p

��p

pp

p

""""p

,,p

HHp

p

PPp

@@p

p

p

p

��p

p

��p

p

pp

TTTTp

p

��pHHp

p

p

��p

p

��p

��p

p

LLp

HHp

p

BBp

����p

pHHp

p

((p

��p

����

p

p

p ����p

CCCCCp

p

aap

p

p

��p

QQp

p

EEp

p

p

p

�����p

����p

p p

hhpp

EEEEEEEp

p

p

p

PPp

p

p

pp

((p��p

p

pp

p

p

p p

p��p

��pTTTTp

��p

""p

,,

p

p

pp

pAAp

��p

p

p

p

p

����p

pp

LLp

EEp

p

p

hhhhpp

��p

p

��p

p

p

p

p

@@p

����p

BBp

BBp

pPPp ` p

@@p

p

��p

QQp

""p

p

p

pp

��p

pllll

p

!!p��p

CCpp

p

p

pPPp

` p

p

p p

p

��p

p

��ppp

p

�����p

p

LLp

p

,,p

p

p(((((p

p

TTp

QQQQ

p

p

!!p��p

p

EEEEp

p

EEpp

pp

p

ppp

p

p

BBp

p p

pp

p

EEpp

p

p

p

p

p

��p

p

��p

p

p

p

p

eep

p

����p

` p

p

��p

��p

��p EEpp

pPPp

����p

p

p

p

p��p

��p

p pp

��p%%

p

p

��p

LLp

p

p

!!!!p

��p

p

����pZZ

p

CCp

��p

p

pp

p

LLp

p

BBpp

bbp

p

p

��p

p

p pp��p

p

p p

p

p

hhhhp

p

�����p

pp

p

p

p

LLLLp

JJp

p

pp

p

CCCCp

`p

����p

��p

p

p

p

p

��p TTp

����p

��p

p

p ��p

����pp

p(((((p

p

p

p

p

p

p

��p

p

p��p

p

p

!!p

p

,,p

p

p

p

��p

!!p

��p p

EEEEp

""p

p��p

��p

%%p

�����p

p

pAAp

p

CCp

p

p

p

p

p

��p

XXp

p

pHHp

p����p

p\\p

p LLp p

����������p

p

p

,,,,p

p��p

p��p p

p

��p

��p

p

��p

p

eep

EEpp

bbp

((p

p

EEpp p

��p

p

��pp

p�����p

CCCCp

EEp

p

p

p

p

��p

p

pEEp

p

ccp

p

p

((p

p

p

bbp

p

p

��p

��p

p

p

pp

����p

p

p

%%p

p

p

QQp

p

p

QQpp

��p

p

p

hhhhhp

aaaap

HHHHp

bbp pp

##p

p

p

p

p

pp

��p

EEp

aaaaa

p

p

CCp

����p

p p

p

((pp

p

p

p

llpp

p

p

p p

p \\p

��p

pp

��p

JJp

EEp

pp

p

����p

��p

����p

p

p

bbpXXp

p

AAp

p

p

p@@p

��p

p

DDDDp

p��p

p

``p

ZZp

HHp

llpp

p

pp p

p

p

����p��p

hhp

bbp

p

@@p

p

p

XXp��pp

p

����p

��p

hhhhp

p

p

p

����p QQpp

p

aaaap

p

bbp

��p

pp

��

pEEEEp

pLLp

����p

BBBBp

""p

pp

p

p

p

p

LLLLLLLLLLp

��pp

����p

pTTp

(a) APlace’s Packing (b) Floorist’s Emulation (c) Floorist’s Separation

Fig. 11. Floorist’s Emulation and Separation techniques compared against APlace’s packing

method.

packing is shown in Figure 11 (the rightmost layout was given a greater amount ofwhitespace to illustrate separation).

5. CONCLUSIONS

We have developed a new efficient approach to post-placement floorplan repair. OurFLOORIST algorithm legalizes existing floorplans using constraint-driven, conflict-directed modifications. In contrast to previous work, FLOORIST modifies only thosefeatures of the layout that are directly responsible for the violated constraints, andthus preserves the qualities and characteristics of the original layout. The versatilityof our approach makes it useful for a number of applications, as it supports the post-processing of outputs of a global floorplanner, removes overlaps introduced by there-sizing of modules in existing floorplans, and repositions blocks in the presenceof fixed macros and obstacles. In each of these categories, FLOORIST significantly

Page 12: Constraint-Driven Floorplan Repairweb.eecs.umich.edu/~imarkov/pubs/jour/todaes08-floorist.pdf · Constraint-Driven Floorplan Repair MICHAEL D. MOFFITTy, JARROD A. ROYz, IGOR L. MARKOVz,

12 · Michael D. Moffitt, Jarrod A. Roy, Igor L. Markov, and Martha E. Pollack

p

p

����p

p

p

ppp

pp pppp

p

p

p

p

����p

pp

p

p pp

p

p p

�����p

p pp

�����p

p

p

p

p

pp p p

p

pp

p��p�����p

p

!!p

����p

p�����p

�������p

����p

�������p����p

��������p

��������p

p

�������p�������p

%%%%pp

�������p

p

�����p%%%%p�����p

�����p

�������p�������p

p��p

�������p�����p

��p

�������p�����p

����p

�����p

p

%%%%%%%p

�������p

��������p

����p

�������p

��p����p�����p �����p

p

�������p

p

����p�����p"""""""p p

p

p

��p

%%%%%%%p

��������p

p p�����������pp

�����p

!!p

p

p

��������p

p p

p

ppp

�����p

ppp

ppp

pp

p

pppp pp pp

p

p

p pp

�����p

ppp

p

�����p

pp pp p

p

p

p

p ppp p

����p

pp ppp p pp

pp

p p pp pp pp pp

�������p�������p

pp

p ppp

p

p

p

p

p

pp

p

p

ppppp

p pp pp

pp

pp

p

p

p

p

p

p

p pp

pp p

p

p

ppp

p

p

p

p

p

p

p

p

p

p pp

pp

p

pp

p

p

p

p

p

p

ppp

p

pp

p

p

p

p

p

pp

p

pp

p p pp p pp

�����p�����p

p

����p

��������p

p

�����p

��������p

pp

((((((((p

�������pp

�������p

p �������p

��������p

pp

p#####p

��������p p

p

�������pp

p

��p

�������p

�����p

p

�����p

p

��������p%%%%%%%p

p

((((((((((p

p

�����p

p����p

pp

��������p

p

��������p

p

p

p,,,,,,,p

��������p

p

�������p

p

p

�������p��������p

p

p

p

��������p �������p

p

�������p p

�������p�������p

��ppp

����p

�������p

p(((((p

��������p

p����p

p

�������p ,,,,,,,p ����p

,,,,,,,pp!!!!!!!!p

�������p

�������p

,,,,,,,p ,,,,,,,p p

�����p�����p

�����pp

�������p

��������p

�����p p

p�������p

��������p

p

pp

��������p%%%%%%%p

(((((((p

pp

p

%%%%%%%p

p�������p

�����p

�������p"""""""p

((((((((((pp

�����p

,,,,,,,p

p

p

�����p

p

��������p

,,,,,,,p

p%%%%%%%p

p

�������p

p

��������p

#######p ��p

�������p��������p

��p����p

�������p

p

����p

!!p

�����p

�������p

p

p�������p pp

pp

�����p�����p �����p

p

��������p

pp

p

����p p

p�������p

p

�������p

p

,,,,p

�������p

p pp

�������p

p

p

��������p

p

p

p����������p�������p

�������p

�������p

��p

�������p

p�����������p

��������p

��p

#######pp

%%%%p

����p�����p

p

p

p

########pp

p p

�������p

��������p

p p

((p�����p

p�����p

p

p

�������p

p

p��p����p

�����p

p

p

p

p��������p

#######p �����p��p

�����p

��p

p

�������p

�������p

p

����p��������p

pp((((((((((p

p �

����p

��������pp

�����p

%%%%%%%p�������p

�����p

p

��������p((((((((p��p

�����p

,,pp

����p

�������p

((((((((((p p

�������p pp((((((((p

pp

p

�������pp

��p p

%%%%%%%p�������p ����������p p((((((((p

�����p

p

�������p

p

�����ppp p

����p

�����p�������p

p

�������p

,,,,,p pp

p

�����p�������p

��������p

p

p

�������p�������p

p�������p

p

p

%%p

p

p

�������p

�������pp

�������p

�������p��������p p p

p

�������p����p

�����p

%%%%%%%p

p

�������p

�����p

p��p

p

!!!!!!!!p��������p

"""""""p

,,,,,,,p

��������p

p

�������p

�������p

!!p

����p��p

p

�������p

pp,,,,,p

p

����p

p

��������p

����������p

p

�����p

�����p ����p

p

��p

�������p �����p

p

�������p

p

��������p

p%%%%%%%p �������p

p

��������p

p

((((((((((p

####pp!!!!!!!!p

p

�����p

p����p

p

�����p pp

�������p

"""""""p

�������p�������p

��������p

�������p p

p

pp

p��p

��������p

����p

pp

�����p

p

p

�������pp�

�pp

�����p

p

�����p�����p p

�������p��������p

p p

�������p!!!!!!!!p p�������p

p

�������p�����p�����p

�������p((((((((((p

p

�������p

p�����p

pp %%%%%%%p

""pp�����p

����p

,,,,,,,p����p

p

,,,,,,,p

�����p%%%%%%%p

p

pp

����p

p�����p,,,,

,p

p�

������p

%%%%%%%p �������p

p

p p

p�����p

�����p �����p

��������p

�������p

p

%%p

p

p

p

#######p����p

�����p

�������p %

%%%%p p

p

p

pp

�������pp

�����p

""""p

�����p

����p!!!!!!!!p

��p

�������p

p

p,,,,,,,p

pp

p"""""""p

�������p

p

�������p

����������p

%%%%%%%p

��������p �������p

����pp

pp

p p

,,,,,,,p

��������p

p

��������p����p

�������p

%%%%%%%p

��������p

p

p

((((((((((p

����p p p

p

p

p

p

p

�����p p�����p�������p

��������p�������p

����������p�������p

�����p

��������p

p

%%%%%%%p

p#######p

p

��������p�������p

p

p

p#######p((((((((((p��������p p

pp

p

p

�������p

p

����������p

%%%%%%%p

��������p

1

(a) Initial (b) Movement (c) Final

Fig. 12. Imposing a region constraint on a block in the above HB12 instance forces it (and blocks

beneath it) to move down.

outperforms existing tools in solution quality and runtime.Our formalism does have some limitations; for instance, on instances with mil-

lions of blocks and relatively few overlaps, a great deal of runtime could be spentpropagating constraints between standard cells whose pairwise relationships willnever change. In addition, more intelligent decisions could be made if our legaliza-tion flow were cognizant of timing information (e.g., a list of timing-critical gatesor paths). These issues, and others, are worthy of continued research.

Acknowledgments. Dr. M. D. Moffitt is supported by the Josef Raviv Memorial Post-

doctoral Fellowship. J. A. Roy is supported by a Rackham Predoctoral Fellowship at the

University of Michigan. Prof. I. L. Markov is partially supported by the National Science

Foundation under grant No. CCF-0448189. Prof. M. E. Pollack is partially supported

by the Air Force Research Laboratory under contract No. FA8750-05-1-0282 and the Air

Force Office of Scientific Research under Contract No. FA9550-04-1-0043. Opinions, find-

ings and conclusions in this work are those of the authors and do not necessarily reflect

the view of funding agencies.

REFERENCES

S. N. Adya and I. L. Markov. Fixed-outline Floorplanning: Enabling HierarchicalDesign. In IEEE Trans. on VLSI Systems 11(6), pp. 1120–1135, 2003.

U. Brenner, A. Pauli, and J. Vygen. Almost optimum placement legalization byminimum cost flow and dynamic programming. In Proc. of ISPD, pp. 2–9, 2004.

C. Chang, J. Cong, and X. Yuan. Multi-level placement for large-scale mixed-size ICdesigns. In Proc. of ASP-DAC, pp. 325–330, 2003.

J. Cong, M. Romesis, and J. R. Shinnerl. Fast floorplanning by look-ahead enabledrecursive bipartitioning. In Proc. of ASP-DAC, pp. 1119–1122, 2005.

J. Cong, M. Romesis, and J. R. Shinnerl. Robust mixed-size placement under tightwhite-space constraints. In Proc. of ICCAD, pp. 165–172, 2005.

J. Cong and M. Xie. A Robust Detailed Placement for Mixed-Size IC Designs. In Proc.of ASP-DAC, pp. 188–194, 2006.

A. B. Kahng, S. Reda, and Q. Wang. Architecture and details of a high quality,large-scale analytical placer. In Proc. of ICCAD, pp. 891–898, 2005.

A. Khatkhate, et al. Recursive bisection based mixed block placement. In Proc. ofISPD, pp. 84–89, 2004.

M. D. Moffitt, A. N. Ng, I. L. Markov, and M. E. Pollack. Constraint-drivenfloorplan repair. In Proc. of DAC, pp. 1103–1108, 2006.

Page 13: Constraint-Driven Floorplan Repairweb.eecs.umich.edu/~imarkov/pubs/jour/todaes08-floorist.pdf · Constraint-Driven Floorplan Repair MICHAEL D. MOFFITTy, JARROD A. ROYz, IGOR L. MARKOVz,

Constraint-Driven Floorplan Repair · 13

M. D. Moffitt and M. E. Pollack. Optimal rectangle packing: a meta-CSP approach.In Proc. of ICAPS, pp. 93–102, 2006.

S. Nag and K. Chaudhary. Post-Placement Residual-Overlap Removal with MinimalMovement. In Proc. of DATE, pp. 581–586, 1999.

H. Ren, D. Z. Pan, C. J. Alpert and P. Villarrubia. Diffusion-based placementmigration. In Proc. of DAC, pp. 515–520, 2005.

J. A. Roy, S. N. Adya, D. A. Papa and I. L. Markov. Min-cut floorplacement. InIEEE Trans. on CAD 25(7), pp. 1313–1326, 2006.

B. Yao, H. Chen, C.-K. Cheng and R. Graham. Floorplan representations: Complex-ity and connections. In ACM TODAES 8(1), pp. 55–80, 2003.

E. Young, M. L. Ho, and C. Chu. A Unified Method to Handle Different Kinds ofPlacement Constraints in Floorplan Design. In Proc. of ASP-DAC, pp. 661–670, 2002.