unified quadratic programming approach for mixed mode placement bo yao, hongyu chen, chung-kuan...
Post on 17-Jan-2018
218 Views
Preview:
DESCRIPTION
TRANSCRIPT
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 DepartmentUniversity of California, San DiegoUniversity of California, San Diego
*Mentor Graphics Corporation*Mentor Graphics Corporation
OutlineOutlineIntroduction to the mixed mode placementIntroduction to the mixed mode placementUnified cost functionUnified cost functionDCT based cell density costDCT based cell density costExperimental resultsExperimental resultsConclusions 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 Placement
Discrete Optimization
DetailedPlacement
Unified Cost FunctionUnified Cost FunctionCombined 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 roomsCell 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
00000.250.50.2500.510.500.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)
Njv
NiudjCiC
Nf
N
u
N
vuvij 2
)12(cos2)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
Nvj
NuifvCuC
Nd
N
u
N
vuvij 2
)12(cos2)12(cos)()(2 1
0
1
0
…
…
…
(0,0) (1,0) (3,0)
(0,1) (1,1)
(0,3) (3,3)
…
0001000000000000
D
0.070.140.180.140.140.250.330.250.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 ExampleDensity matrix D and frequency matrix FDensity matrix D and frequency matrix F
Properties of DCTProperties of DCTCell density energy Cell density energy ddijij
22 = = ffijij22
Cell perturbation and frequency matrixCell perturbation and frequency matrix
Uniform density Uniform density ffij ij = 0= 0
0001-000100000000
D
0.250.460.600.460.27-0.5-0.65-0.5-0.100.190.250.19
0000
)DCT(D
1111111111111111
D
0000000000000004
DCT(D)
Density Cost of a PlacementDensity Cost of a PlacementWeighted sum of fWeighted sum of fijij
22
Higher weight for lower frequencyHigher weight for lower frequency
otherwise j)1/(i0ji 0
w ),f(w DP ij2
ijij
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 r
mal
i ze d
Wi re
Len
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 (M
in)
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