Unified Quadratic Programming Approach for Mixed Mode Placement

21
Unified Quadratic Programming Unified Quadratic Programming Approach Approach for Mixed Mode for Mixed Mode Placement Placement Bo Yao, Hongyu Chen, Chung-Kuan Bo Yao, Hongyu Chen, Chung-Kuan Cheng, Nan-Chi Chou*, Lung-Tien Liu*, Cheng, Nan-Chi Chou*, Lung-Tien Liu*, Peter Suaris* Peter Suaris* CSE Department CSE Department University of California, San Diego University of California, San Diego *Mentor Graphics Corporation *Mentor Graphics Corporation

description

Unified Quadratic Programming Approach for Mixed Mode Placement. Bo Yao, Hongyu Chen, Chung-Kuan Cheng, Nan-Chi Chou*, Lung-Tien Liu*, Peter Suaris* CSE Department University of California, San Diego *Mentor Graphics Corporation. Outline. Introduction to the mixed mode placement - PowerPoint PPT Presentation

Transcript of Unified Quadratic Programming Approach for Mixed Mode Placement

Page 1: Unified Quadratic Programming Approach  for Mixed Mode Placement

Unified Quadratic Programming Unified Quadratic Programming Approach Approach for Mixed Mode Placementfor Mixed Mode Placement Unified Quadratic Programming Unified Quadratic Programming Approach Approach for Mixed Mode Placementfor Mixed Mode Placement

Bo Yao, Hongyu Chen, Chung-Kuan Cheng, Bo Yao, Hongyu Chen, Chung-Kuan Cheng, Nan-Chi Chou*, Lung-Tien Liu*, Peter Suaris*Nan-Chi Chou*, Lung-Tien Liu*, Peter Suaris*

CSE DepartmentCSE Department

University of California, San DiegoUniversity of California, San Diego

*Mentor Graphics Corporation*Mentor Graphics Corporation

Page 2: Unified Quadratic Programming Approach  for Mixed Mode Placement

OutlineOutline

Introduction to the mixed mode placementIntroduction to the mixed mode placement

Unified cost functionUnified cost function

DCT based cell density costDCT based cell density cost

Experimental resultsExperimental results

Conclusions Conclusions

Page 3: Unified Quadratic Programming Approach  for Mixed Mode Placement

Mixed Mode PlacementMixed Mode Placement

Common design needsCommon design needs Mixed signal designs Mixed signal designs

(analog and RF parts are (analog and RF parts are macros)macros)

Hierarchical design styleHierarchical design style IP blocksIP blocks Memory blocksMemory blocks

Challenges for placementChallenges for placement Huge amount of Huge amount of

componentscomponents Heterogeneous module Heterogeneous module

sizes/shapessizes/shapes

Memory

IPAnalog

Page 4: Unified Quadratic Programming Approach  for Mixed Mode Placement

Previous Works on Mixed Mode Previous Works on Mixed Mode PlacementPlacement

Combined floorplanning and std. cell placementCombined floorplanning and std. cell placement CapoCapo (Markov, ISPD 02, ICCAD 2003)(Markov, ISPD 02, ICCAD 2003)

Multi-level annealing placement Multi-level annealing placement mPG-MS mPG-MS (Cong, ASPDAC 2003)(Cong, ASPDAC 2003)

Partitioning based approachesPartitioning based approaches Feng Shui Feng Shui (Madden, ISPD 04)(Madden, ISPD 04)

Force-directed / analytical approachesForce-directed / analytical approaches Kraftwork Kraftwork (Eisenmann and Johannas, DAC 98 )(Eisenmann and Johannas, DAC 98 ) FastPlaceFastPlace (Chu, ISPD 04)(Chu, ISPD 04) APlace (Kahng, ISPD 04, ICCAD 04)APlace (Kahng, ISPD 04, ICCAD 04)

Page 5: Unified Quadratic Programming Approach  for Mixed Mode Placement

UPlace: Optimization FlowUPlace: Optimization Flow

Analytical PlacementAnalytical Placement

Discrete Optimization

Discrete Optimization

DetailedPlacementDetailed

Placement

Page 6: Unified Quadratic Programming Approach  for Mixed Mode Placement

Unified Cost FunctionUnified Cost Function

Combined object function for global placementCombined object function for global placement

DP: Penalties for un-even cell densitiesDP: Penalties for un-even cell densities WL: Wire length cost functionWL: Wire length cost function

Quadratic analytical placementQuadratic analytical placement

WL = WL = 1/2x1/2xTTQx+px +1/2yQx+px +1/2yTTQy+pyQy+py

Bounding box wire length for discrete optimizationBounding box wire length for discrete optimization

DPghtDensityWeiWLWLWeight **

Page 7: Unified Quadratic Programming Approach  for Mixed Mode Placement

Cell Density Cell Density

Common strategyCommon strategy Partition the placement area into Partition the placement area into NN

by by NN rooms rooms

Cell density matrix Cell density matrix D D = = {{ddijij} } ddijij is the total cell area in room (i,j) is the total cell area in room (i,j)

A

0000

0.250.50.250

0.510.50

0.250.50.250

D

Page 8: Unified Quadratic Programming Approach  for Mixed Mode Placement

DCT: Cell Density in Frequency DCT: Cell Density in Frequency DomainDomain

2-D Discrete Cosine Transform (DCT)2-D Discrete Cosine Transform (DCT)

Cell density matrixCell density matrix D D => Frequency matrix => Frequency matrix FF = { = {ffijij}}

where where ffij ij is the weight of density pattern (i,j)is the weight of density pattern (i,j)

N

jv

N

iudjCiC

Nf

N

u

N

vuvij 2

)12(cos

2

)12(cos)()(

2 1

0

1

0

Otherwise

iiC

1

02/1)(

Page 9: Unified Quadratic Programming Approach  for Mixed Mode Placement

Properties of Frequency MatrixProperties of Frequency Matrix

Each Each ffuvuv is the weight of is the weight of frequency (frequency (u,vu,v))

Inverse DCT recovers the Inverse DCT recovers the cell densitycell density

N

vj

N

uifvCuC

Nd

N

u

N

vuvij 2

)12(cos

2

)12(cos)()(

2 1

0

1

0

(0,0) (1,0) (3,0)

(0,1) (1,1)

(0,3) (3,3)

Page 10: Unified Quadratic Programming Approach  for Mixed Mode Placement

0001

0000

0000

0000

D

0.070.140.180.14

0.140.250.330.25

0.180.330.430.33

0.140.250.330.25

F

(0,0) (1,0) (3,0)

(0,1) (1,1)

(0,3) (3,3)

Frequency Matrix: An ExampleFrequency Matrix: An Example

Density matrix D and frequency matrix FDensity matrix D and frequency matrix F

Page 11: Unified Quadratic Programming Approach  for Mixed Mode Placement

Properties of DCTProperties of DCT

Cell density energy Cell density energy ddijij22 = = ffijij

22

Cell perturbation and frequency matrixCell perturbation and frequency matrix

Uniform density Uniform density ffij ij = 0= 0

0001-

0001

0000

0000

D

0.250.460.600.46

0.27-0.5-0.65-0.5-

0.100.190.250.19

0000

)DCT(D

1111

1111

1111

1111

D

0000

0000

0000

0004

DCT(D)

Page 12: Unified Quadratic Programming Approach  for Mixed Mode Placement

Density Cost of a PlacementDensity Cost of a Placement

Weighted sum of fWeighted sum of fijij22

Higher weight for lower frequencyHigher weight for lower frequency

otherwise j)1/(i

0ji 0w ),f(w DP ij

2ijij

Page 13: Unified Quadratic Programming Approach  for Mixed Mode Placement

Approximate the density cost with a quadratic functionApproximate the density cost with a quadratic function

DP = ½aDP = ½aiixxii22+ b+ biixxii+c+cii

Make DP convexMake DP convex

aai i >= 0 to ensure>= 0 to ensure

Matrix formMatrix form

DP =DP = ½x½xTTAx+Bx Ax+Bx

A = diag(aA = diag(a11, a, a22, …, a, …, ann), ),

B=(bB=(b11, b, b22, …, b, …, bnn))TT

Approximation of the Density CostApproximation of the Density Cost

xi

DP

x- x x+ DP

xi

x- x x+

ai > 0

ai = 0

Page 14: Unified Quadratic Programming Approach  for Mixed Mode Placement

UPlace: Minimize Combined UPlace: Minimize Combined Objective FunctionObjective Function

Combine quadratic objectivesCombine quadratic objectives WL + WL + DPDP WL = WL = ½½ xxTTQx+pxQx+px DP =DP = ½x½xTTAx+BxAx+Bx

Solve linear equation for each minimizationSolve linear equation for each minimization (Q + (Q + A)x = -p - A)x = -p - BB

Use Lagrange relaxation to reduce cell Use Lagrange relaxation to reduce cell congestioncongestion (k+1)(k+1) = = (k)(k) + + (k)(k)* DP* DP 00 = 0, = 0, 00 = Const = Const (k+1)(k+1) = = (k)(k) * * , 0< , 0< 1 1

Page 15: Unified Quadratic Programming Approach  for Mixed Mode Placement

Discrete OptimizationDiscrete Optimization

Try Try -distance moves in four directions. Pick the -distance moves in four directions. Pick the best position.best position.

Sweep all the cells in each iterationSweep all the cells in each iteration

A

A

A

A

A

Page 16: Unified Quadratic Programming Approach  for Mixed Mode Placement

Legalization/Detailed Placement – Legalization/Detailed Placement – Zone RefinementZone Refinement

One cell a time, ceiling -> floorOne cell a time, ceiling -> floor

Two directional alternationTwo directional alternation

A

Page 17: Unified Quadratic Programming Approach  for Mixed Mode Placement

Experimental Results: Wire lengthExperimental Results: Wire length

00.20.40.60.8

11.21.41.6

1 2 3 4 5 6 7 8 9 10

Capo mPG-MS Feng Shui APlace UPlace

No

rma

li ze

d W

i re

Le

n gth

Page 18: Unified Quadratic Programming Approach  for Mixed Mode Placement

Experimental results: CPU timeExperimental results: CPU time

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10

Capo mPG-MS Feng Shui APlace UPlace

CP

U (

Min

)

Page 19: Unified Quadratic Programming Approach  for Mixed Mode Placement

UPlace: Placement ResultsUPlace: Placement Results

IBM-02IBM-02

Page 20: Unified Quadratic Programming Approach  for Mixed Mode Placement

ConclusionsConclusions

We propose a unified cost function for global We propose a unified cost function for global optimization, which provides good trade-offs optimization, which provides good trade-offs between wire length minimization and cell between wire length minimization and cell spreading.spreading.

We introduce a DCT based cell density We introduce a DCT based cell density calculation method, and a quadratic calculation method, and a quadratic approximation.approximation.

The unified placement approach The unified placement approach generates promising results on mixed generates promising results on mixed mode designs.mode designs.

Page 21: Unified Quadratic Programming Approach  for Mixed Mode Placement

Thank You !