Explore / Methods & Algorithms / Floorplanning / Fixed-Outline Floorplanning (Parquet)

Fixed-Outline Floorplanning (Parquet)

Floorplanning industry 2001 Adya and Markov the modern problem statement feasibility, not just area

The idea

Classical floorplanning minimized die area with a free outline: pack tight, and whatever bounding box results, results. Real methodology inverted this in the era of hierarchical design: the top level hands each partition a fixed rectangle, and the floorplanner's first job is to fit, with wirelength as the objective and area as a constraint. Adya and Markov named the problem, showed classic annealers fail at it surprisingly often (packing tightly toward one corner is not the same skill as filling a prescribed aspect ratio), and built Parquet to solve it.

How Parquet does it

The engine is familiar, sequence pairs or B*-trees under simulated annealing, with three decisive changes:

  • Cost: replace pure area with wirelength plus a penalty for exceeding the fixed outline in either dimension.
  • Slack-driven moves: compute each block's horizontal and vertical slack (how far it can move without pushing the outline). Blocks with zero slack in the violating direction are the ones pinning the overflow; move those, into the direction with room. This targets repair instead of hoping random moves stumble onto it.
  • Aspect-ratio awareness: soft blocks reshape within their allowed ranges to relieve whichever dimension is tight.

Why it mattered

Fixed-outline feasibility is what makes hierarchical physical design composable: a parent can budget rectangles to children and trust them to comply. Parquet became the standard reference implementation, the benchmark generator's companion, and the default comparison target for a decade of fixed-outline papers.

Where you meet it today

Every serious floorplanner is fixed-outline now; the problem statement is Parquet's enduring legacy. The tool itself persists in academic suites (with its companion benchmarks) and inside hierarchical flows that still anneal block-level partitions.

References and further reading