ePlace: ¡Electrosta-cs ¡Based ¡Placement ¡ Using ¡Nesterov’s ¡Method ¡
¡
1Jingwei ¡Lu, ¡2Pengwen ¡Chen, ¡3Chin-‑Chih ¡Chang, ¡3Lu ¡Sha, ¡ ¡ 3Dennis ¡J.-‑H. ¡Huang, ¡3Chin-‑Chi ¡Teng, ¡1Chung-‑Kuan ¡Cheng ¡
1 ¡
ePlace: Electrosta-cs Based Placement Using Nesterovs Method - - PowerPoint PPT Presentation
ePlace: Electrosta-cs Based Placement Using Nesterovs Method 1 Jingwei Lu, 2 Pengwen Chen, 3 Chin-Chih Chang, 3 Lu Sha, 3 Dennis J.-H. Huang, 3
¡
1Jingwei ¡Lu, ¡2Pengwen ¡Chen, ¡3Chin-‑Chih ¡Chang, ¡3Lu ¡Sha, ¡ ¡ 3Dennis ¡J.-‑H. ¡Huang, ¡3Chin-‑Chi ¡Teng, ¡1Chung-‑Kuan ¡Cheng ¡
1 ¡
2 ¡
3 ¡
from ¡[Kahng10] ¡
4 ¡
+
5 ¡
6 ¡
7 ¡
− − = − − =
1 1 2 2 ,
n n u n n v v u v u v u
− − = − − =
1 1 ,
n n u n n v v u v u
u v v u v u v v u y u v v u v u u v u x
2 2 , 2 2 ,
− − = − − =
1 1 ,
n n u n n v v u v u
8 ¡
9 ¡
⎭ ⎬ ⎫ ⎩ ⎨ ⎧ ∇ ≥ ∇ − − ∇
2
2 1 max
k k k k k k k
f f f f α α α v
k k k k
1 1 /
+ −
k k k k k k
2 1
+ k k
10 ¡
1 1 /
− −
k k k k f k
1 1
− −
k k k k f k
k
11 ¡
1 1 /
− −
k k k k k
k k k k
+
1
k k k k k
+ + 1 1
if ˆ αk > ˆ! αk
( )
ˆ αk = ˆ! αk
αk = ˆ! αk
k k k k
+
1
12 ¡
13 ¡
Lipschitz Prediction Hessian Pre- conditioning W’, D’ Gradient Computation Steplength Backtracking xlo Converge? (τ < 10%) no inst. Fix Macros xcDP Random Filler Insertion Remove Filler, Fix Std-Cells xmLG xcGP Macro Legalization (mLG) Initial Placement (mIP) W’pre, D’pre
α
else Nesterov’s Optimizer pass Anneal Macro Legalization Filler-Only Placement
xmGP
Std-Cell & Filler Co-Placement Detail Placement (cDP) xmIP xfill
xmLG xm Std-Cell Global Placemnet (cGP) Mixed-Size Global Placement (mGP)
14 ¡
T n n f
− −
1 1 1
⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎛ ∂ ∂ ∂ ∂ ∂ ∂ ≈ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎛ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ =
2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 1 2 2 1 2
... ...
n n n n n n f
x f x f x f x f x x f x x f x x f x f x x f x x f x x f x f H …
…
2 2 2 2 2 2 i i i
x N x W x f ∂ ∂ + ∂ ∂ = ∂ ∂ λ ⎪ ⎪ ⎩ ⎪ ⎪ ⎨ ⎧ ≈ ∂ ∂ = ∂ ∂ ≈ ∂ ∂ = ∂ ∂
∈ i i i i i i E j i j i
q x q x N E x W x W
i
2 2 2 2 2 2 2 2
ψ
i i i
2 2
15 ¡
– Up ¡to ¡2.5M ¡std-‑cells ¡& ¡3.7K ¡macros, ¡different ¡target ¡densi-es ¡
16 ¡
min-‑cut nonlinear FastPlace3.0 ¡
[Viswanathan07b]
ComPLx ¡[Kim12b] Aplace3 ¡[Kahng05] RQL ¡[Viswanathan07a] MAPLE ¡[Kim12a] NTUplace3 ¡[Hsu12] mPL6 ¡[Chan06] FFTPL ¡[Lu13] constructive Capo10.5 ¡
[Roy06]
FastPlace3.0 ¡
[Viswanathan07b]
ComPLx ¡[Kim12] POLAR ¡[Lin13] NTUplace3 ¡[Hsu12] mixed-‑size ¡ placers
mPL6 ¡[Chan06] FLOP ¡[Yan09] NTUplace3-‑NR ¡[Hsu12] quadratic std-‑cell ¡ placers POLAR ¡[Lin13] Capo10.5 ¡
[Roy06]
BonnPlace ¡
[Struzyna13]
8.94 0.53 0.91 3.40 0.52 3.05 0.52 9.14 1.40 3.78 1.00
0.00 5.00 10.00
CPU ¡(x)
21.14% 10.01% 5.40% 3.21% 4.50% 2.83% 3.08% 14.28% 12.05% 8.33% 0.00%
0% 10% 20%
Wirelength ¡(%)
17 ¡
8.48 0.74 N/A N/A 0.69 0.69 13.08 2.08 4.59 1.00
0.00 10.00 20.00
CPU ¡(x)
43.73% 16.25% 7.99% 4.59% 4.86% 7.16% 18.38% 7.74% 10.11% 0.00%
0.00% 20.00% 40.00% 60.00%
Wirelength ¡(%)
18 ¡
14.69 2.02 2.14 0.37 1.15 0.70 6.34 0.81 1.05 1.00
5 10 15 20
CPU ¡(x)
19 ¡
64.42% 18.92% 14.31% 18.43% 11.03% 30.69% 16.13% 7.40% 7.13% 0.00%
0% 20% 40% 60% 80%
Wirelength ¡(%)
– Poisson’s ¡equa-on, ¡& ¡Neumann ¡condi-on ¡ – Global ¡smoothness: ¡no ¡detour ¡around ¡blockages ¡
– O(nlogn) ¡-me: ¡enable ¡flat ¡netlist ¡& ¡grid ¡
– Precondi-on: ¡same ¡handling ¡of ¡macros ¡& ¡std-‑cells ¡ – Lipschitz ¡predic-on ¡& ¡backtracking: ¡avoid ¡line ¡search ¡
– ISPD ¡2005, ¡ISPD ¡2006, ¡MMS ¡benchmark ¡suites ¡ – ≥3% ¡wirelength ¡improvement ¡& ¡comparable ¡run-me ¡
20 ¡
21 ¡