+ All Categories
Home > Documents > Unification of Partitioning, Placement and Floorplanning

Unification of Partitioning, Placement and Floorplanning

Date post: 24-Nov-2021
Category:
Upload: others
View: 7 times
Download: 0 times
Share this document with a friend
33
Unification of Partitioning, Placement and Floorplanning Saurabh N. Adya, Shubhyant Chaturvedi, Jarrod A. Roy, David A. Papa, and Igor L. Markov
Transcript
Page 1: Unification of Partitioning, Placement and Floorplanning

Unification of Partitioning,Placement and Floorplanning

Saurabh N. Adya,Shubhyant Chaturvedi, Jarrod A. Roy,

David A. Papa, and Igor L. Markov

Page 2: Unification of Partitioning, Placement and Floorplanning

Outline� Introduction� Comparisons of classical techniques

� Partitioning, floorplanning, and placement

� Unification

� Application to large-scale floorplanning

� Application to mixed-size placement

� Application to free shape floorplanning

� Our implementation� Summary

Page 3: Unification of Partitioning, Placement and Floorplanning

“Hard macros will revolutionize SoC design”Enno Wein & Jacques Benkoski, EEDesign, Aug 20, 2004

Figure 1 — Growth in the number of hard macros in SoC designs Figure 2 — Hard macros vs. standard cell area

� Hundreds of predesigned macros

� Embedded memories, analog circuitry, IP blocks

� Existing layout tools are having problems

� Macro placement is usually separate from standard cell placement (done once & never repeated)

� Lower utilization, larger dies, lower yield, higher cost

Page 4: Unification of Partitioning, Placement and Floorplanning

From a “Sea of Cells”to a “Sea of Hard Macros”

Images from EEDesign, August 20, 2004

Page 5: Unification of Partitioning, Placement and Floorplanning

Review: Partitioning & Floorplanning

� Partitioning: breaks up the netlist into modules

Facilitates a hierarchical design methodology(e.g., for placers that do not scale well)

� Floorplanning: seeks non-overlapping locations for modules with fixed & flexible dims (hard & soft)

Objectives: minimize area and interconnect

“Variable-die” or “fixed-die” (full chip or a partition)

� Partitioning & floorplanning togetherfacilitate early estimation of interconnect

� Estimates useful in logic synthesis

Page 6: Unification of Partitioning, Placement and Floorplanning

Review: Placement vs Floorplanning

� Mathematically, placement and floorplanning (FP) are the same problem

� Seek module locations

� Must avoid overlaps between modules

� Must observe region constraints

� Seek to minimize interconnect (power)

� Seek to satisfy delay constraints� Main differences

� Scale (number of objects) and algorithms� This work: a unified tool (floorplacer)

can dynamically invoke FP or partitioning

Page 7: Unification of Partitioning, Placement and Floorplanning

etc.

Global Placement by Recursive Min-cut Partitioning1 2

3 4

Placement bin

End-case placement by

branch-and-bound

� Placers using min-cut bisection: Capo, FengShui, IBM CPlace, Cadence QPlace

Page 8: Unification of Partitioning, Placement and Floorplanning

Std-cell Design Mixed-size DesignBlock-based Design

� Large rectangles can represent

Intellectual Property (IP): hard or soft

Macros, memories, data-paths, analog modules

Modules of unsynthesized logic

Page 9: Unification of Partitioning, Placement and Floorplanning

Cadence SEDSM/QPlace on IBM02↓ v. 5.1.67 (2002) versus ↓ v. 5.4.126 (2004)

Page 10: Unification of Partitioning, Placement and Floorplanning

YesYesYesNoHandling length bounds

YesYesYesYesHandling net weights

YesNoYesYesSupport for soft

rectangular blocks

YesNoLimitedYesSupport for non-rectangular blocks

YesNoYesNoCan optimize orientation

of modules

YesYesN/ANoRoutability optimization

YesNoYesYesCan handle large modules

YesNoYesNoExplicit non-overlapping

constraints

YesYesNoN/AScalable Wirelength

YesYesNoYesScalable Runtime

FloorplacersPlacersFloor-planners↓Characteristics

FloorplacementMin-cutPartitioners

Page 11: Unification of Partitioning, Placement and Floorplanning

Observe: Min-cut Placement Produces Slicing Floorplans

Slicing Floorplan!

� Using this effect in floorplanningmay reduce run-time & wirelengthby combining partitioning & FPing

� Recall: traditional floorplannersuse Simulated Annealing

� We are not giving up non-slicing FPs either!

Page 12: Unification of Partitioning, Placement and Floorplanning

Our Approach: Direct Integrationof Placement & Floorplanning

� Perform top-down min-cut placement

� Fall back on floorplanning when necessary

� many “local” calls to a floorplanner

� In rare cases, packing may be infeasible

� What can/should be done then?

� Example: to solve mixed-size placement,can start with several slicing cuts

� Eventually may need to pack blocks(when exactly?)

� Call fixed-outline floorplanning

Page 13: Unification of Partitioning, Placement and Floorplanning

Placement by Recursive Bisection+ Fixed-outline floorplanning

etc.

Placement bin needs

Floorplanning

Page 14: Unification of Partitioning, Placement and Floorplanning

Example (Min-cut Floorplacement)

Cut-line(min-cut)

Placement bin needs

floorplanningMerge w Sibling &

Re-floorplan

Page 15: Unification of Partitioning, Placement and Floorplanning

Our Floorplacement AlgorithmVariables: Queue of placement binsInitialize queue with top-level placement bin

1 While (queue not empty)2 Dequeue a bin3 If bin has large/many macros or is marked as merged4 Cluster std-cells into soft macros5 Use fixed-outline floorplanner to pack all macros (soft+hard)6 If fixed-outline floorplanning succeeds7 Fix macros and remove sites underneath the macros8 Else9 Undo one partition decision and merge bin with sibling10 Mark new bin as merged and enqueue11 Else If bin small enough12 Process end case13 Else14 Bi-partition the bin into smaller bins15 Enqueue each child bin

Lines 3-10 are different from traditional min-cut placement

Condition empirically determined

Page 16: Unification of Partitioning, Placement and Floorplanning

Early Criteria for Block Packing

� Large-macro tests (used to improve runtime)

At least 1 macro does not fit in child bins

<30 macros total, with total area > 80% of bin area

� What if fixed-outline floorplanning fails ?

� Return to previous level of placement hierarchy

� Merge two child bins to form a parent bin

� Try area-only floorplanning

Else final placement has overlaps(can try legalizing it at the end!)

� Above conditions detect block-based designs,std-cell and mixed-size designs

Page 17: Unification of Partitioning, Placement and Floorplanning

Free-Shape Floorplanning(see details in the paper)

55.0%157548350593n100

56.5%87957202240n50

47.5%469476895560ami49

40.1%4607276987ami33

Improvementin HPWL

Capo 9.0(free-shape)

HPWL

Parquet2.0(rectangles)

HPWLCircuit

� Shorter interconnect can improve timing & power

Page 18: Unification of Partitioning, Placement and Floorplanning

New Benchmarks: IBM Mixed-Size wPins

� IBM-MixedSize 2002 (IBM-MS) suite

� All large modules are square

� All pins for modules are in the center

� The new suite (IBM-MS w Pins)

� Non-square blocks (aspect ratios ∈∈∈∈ [0.5,2.0])

� Pins uniformly distributed around cell periphery

� URL:

�� � � � � ��� � �� � ��� � � � � � �� �� � � � �� � �� � �� �� � � � � � �

0

500

1000

1500

2000

2500

0 500 1000 1500 2000 2500

Capo HPWL= 2.55e+06, #Cells= 12752, #Nets= 14111

0

500

1000

1500

2000

2500

0 500 1000 1500 2000 2500

FS26 HPWL= 2.62e+06, #Cells= 12752, #Nets= 14111

Capo 9.0

FengShui2.6

Page 19: Unification of Partitioning, Placement and Floorplanning

New

M-S

Ben

chm

arks

With

Rou

ting

Info

� Der

ived

from

circ

uits

pos

ted

onlin

e by

Far

aday

Cor

p.

� Ro

uti

ng

info

rmat

ion

pro

vid

ed t

o r

un

Cad

ence

War

pR

ou

te

�� ������������ ������� ������ ����� ��� ��� ������� ���

37.3

17

94.0

962

734

034

3261

5R

ISC

2

6.96

290

.05

844

2843

126

279

DS

P2

41.9

97

93.9

462

734

034

3261

5R

ISC

1

21.9

82

90.6

684

428

447

2629

9D

SP

1

00

95.4

394

813

256

1173

4D

MA

%A

rea

in m

acro

s#M

acro

sU

tiliz

atio

n#I

O’s

#Net

s#N

odes

� Circ

uit

-400000-300000-200000-100000 0 100000 200000 300000 400000 -400000

-300000

-200000

-100000

0

100000

200000

300000

400000

DSP1

-400000-300000-200000-100000 0 100000 200000 300000 400000 -400000

-300000

-200000

-100000

0

100000

200000

300000

400000

DSP

2

-500000-400000-300000-200000-100000 0 100000 200000 300000 400000 500000 -500000

-400000

-300000

-200000

-100000

0

100000

200000

300000

400000

500000

RIS

C2

-600000-400000-200000 0 200000 400000 600000 -600000

-400000

-200000

0

200000

400000

600000

RISC

1D

SP

1D

SP

2R

ISC

1R

ISC

2

Page 20: Unification of Partitioning, Placement and Floorplanning

Capo 9.0

� http://v l s i c a d . e e c s . u m i c h. e d u /B K /P D to o l s /

� Source code available for free, for all uses

� Linux (32/64 bit), Solaris (32/64), Windows (32)

� Reads/writes LEF/DEF

� Bridge to OpenAccess 2.2

� Placements typically routable (e.g., IBMv2 BMs)

� Optimization of soft macros

� Obstacles are supported (see DAC ’00 paper)

� Blockages are converted to obstacles

� Placing macros around fixed obstacles is non-trivial(sometimes causes overlap, but we are working on this)

Page 21: Unification of Partitioning, Placement and Floorplanning

Results for Block-Based Designs

325.2163.62433.9275.69300n300

327.4256.82240.6162.28200n200

210.5032.3950.1234.53100n100

15.3020.348.1620.7750n50

11.8916.932.3517.3830n30

00.375.570.275.5810n10

# Min-CutLevels

Time(sec)

HPWLTime(sec)

HPWL

Capo 9.0Parquet 2.1

#BlocksCircuit

Up to 16% less interconnect, 20x faster

(GSRC)

Page 22: Unification of Partitioning, Placement and Floorplanning

Results: Mixed-size P&R

OCOCOC2520951121.31916.33333020.7815.6RISC2

0611.6109.20511.199.20612.049.9DSP2

OCOCOC3019.901621.52115.731121.6716.7RISC1

0814.11410.71511.7249.80512.7510.5DSP1

036.364.6035.724.4036.314.7DMA

(min)(e8)(min)(e8)(min)(e8)(min)(e8)(min)(e8)(min)(e8)Viol

TimeWLTimeWL

Viol

TimeWLTimeWL

Viol

TimeWLTimeWL

RoutePlaceRoutePlaceRoutePlace

FengShui 2.6 6/17/04Capo 9.0 -feedbackSEUltra - Qplace(v5.4.126)

Ckt

•Capo placements routable, have the best wirelength in all but one benchmark

Page 23: Unification of Partitioning, Placement and Floorplanning

Sample Placements

Capo 9.0

FengShui2.6

-400000

-300000

-200000

-100000

0

100000

200000

300000

400000

-400000 -300000 -200000 -100000 0 100000 200000 300000 400000

DSP1 HPWL= 10.98e+08

-400000

-300000

-200000

-100000

0

100000

200000

300000

400000

-400000 -300000 -200000 -100000 0 100000 200000 300000 400000

DSP1 HPWL= 9.84e+08

-500000

-400000

-300000

-200000

-100000

0

100000

200000

300000

400000

500000

-1e+06 -800000 -600000 -400000 -200000 0 200000 400000 600000

RISC2_FS HPWL=209.88e+08

-500000

-400000

-300000

-200000

-100000

0

100000

200000

300000

400000

500000

-500000 -400000 -300000 -200000 -100000 0 100000 200000 300000 400000 500000

RISC2

Page 24: Unification of Partitioning, Placement and Floorplanning

Results on Popular IBM-MS BM’s

-1.3%0%-3.4%--19.7%21.7%15.8%--IBM-MSwPins

(new)

-2.0%0%-7.9%14.2%14.7%19.8%12.2%92.8%IBM-MS

(ISPD 02)

best-of-26/17/04ECOCapo(2004)(2002)

-feedback-feedbackv2.6mPGKraftwerkParquet+v5.4.126v5.1.67Benchmark Suite

Capo v9.0Capo v9.0Feng-Shui

Capo+Capo+SEUltraSEUltra

•Percentages represent differences in HPWL with respect to Capo v9.0

•Positive percentages indicate larger wirelength than Capo

•Negative percentages mean smaller wirelength == better performance

•Note that FengShui 2.6 placements are packed to an edge of the core

•In practical applications, may need to be spread out for routing

Page 25: Unification of Partitioning, Placement and Floorplanning

Capo 9.0 Runtime Breakdown(IBM01 mixed-size w pins, 2.4GHz Pentium4)

Speed: 4.3K cells & macros / minute (near-linear scaling)6.3K cells / minute (near-linear scaling)

Page 26: Unification of Partitioning, Placement and Floorplanning

Summary

� Min-cut floorplacement

unifies partitioning, floorplanning & placement

� A working floorplacer is now available (Capo9.0),competitive in these categories

Geometric multi-way partitioner

Fixed-outline floorplanner with interconnect optimization

Large-scale standard-cell and mixed-size placer

Free-shape floorplanner (places & shapes modules)

� New benchmarks

IBM 01-18 mixed-size with non-zero pin offsets(and non-square blocks)

Faraday circuits: complete P&R benchmarks w embed. memories

� Curr. work: adapting floorplacement in design flows

Page 27: Unification of Partitioning, Placement and Floorplanning

Thank You !

Page 28: Unification of Partitioning, Placement and Floorplanning
Page 29: Unification of Partitioning, Placement and Floorplanning

Fixed Outline Floorplanning

� Not an area minimization problem

Rather a constraint satisfaction problem

“Classical Floorplanning Considered Harmful” [Kahng, ISPD `00]

� Sample tool: Parquet [ICCD`01, TVLSI`03]

x-span

y-sp

an

��

Page 30: Unification of Partitioning, Placement and Floorplanning

Capo 9.0 Fengshui2.6

Page 31: Unification of Partitioning, Placement and Floorplanning

Why Mixed-size Placement is Difficult

� Mixed-size placement is at least as hard as

Standard cell placement (many small movable modules)

Floorplanning (large, bulky modules are difficult to pack,especially on a fixed die!)

� Typical optimization heuristics are move-based

Each move is “local”, i.e., affects few other objects

However, large modules affect many other modules

Some moves have ripple-effect on small cells

� Removing overlaps after global placementis not easy, invalidates top-down estimation

� Need correct-by-construction methodologies

Page 32: Unification of Partitioning, Placement and Floorplanning

Integrated Partitioning, Floorplanning and Placement� Traditional design flows

apply separate optimizations

� Mostly a scalability concern for old algorithms

� New generation of fast min-cut placers enable an integrated approach

� A min-cut partitioner is part of the placer

� Shifting cut-lines perform floorplanning

� End result: locations of modules (a placement)

Page 33: Unification of Partitioning, Placement and Floorplanning

Classical Floorplanning

� Seeks non-overlapping locationsof hard and soft blocks

� Objectives: minimize area and/or wirelength

� Core area not pre-defined (variable-die layout)

� Floorplan representations:

Location-based versus topological

O-Tree, B*-Tree, Sequence Pair, TCG, CBL etc

We use SP, but our methods are generally applicable

� Simulated Annealing (SA) used for optimization


Recommended