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
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
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
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)
UPlace: Optimization FlowUPlace: Optimization Flow
Analytical PlacementAnalytical Placement
Discrete Optimization
Discrete Optimization
DetailedPlacementDetailed
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 **
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
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)(
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)
…
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
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)
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
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
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
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
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
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
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
)
UPlace: Placement ResultsUPlace: Placement Results
IBM-02IBM-02
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.
Thank You !
Top Related