FFTPL: ¡An ¡Analy,c ¡Placement ¡Algorithm ¡ ¡ Using ¡Fast ¡Fourier ¡Transform ¡for ¡ ¡ Density ¡Equaliza,on ¡ Jingwei ¡Lu 1 , ¡Pengwen ¡Chen 2 , ¡Chin-‑Chih ¡Chang 3 , ¡Lu ¡Sha 3 , ¡ ¡ Dennis ¡Jen-‑Hsin ¡Huang 3 , ¡Chin-‑Chi ¡Teng 3 ¡and ¡Chung-‑Kuan ¡Cheng 1 ¡ 1 Department ¡of ¡Computer ¡Science ¡and ¡Engineering, ¡University ¡of ¡California, ¡San ¡Diego ¡ 2 Department ¡of ¡Applied ¡Mathema,cs, ¡Na,onal ¡Chung ¡Hsing ¡University ¡ 3 Cadence ¡Design ¡Systems, ¡Inc. ¡ 1 ¡
Outline ¡ • Introduc,on ¡ our ¡major ¡contribu)ons ¡ • Density ¡Penalty ¡– ¡ electrosta)c ¡system ¡model ¡ • Numerical ¡Solu,on ¡– ¡ Fast ¡Fourier ¡Transform ¡ • FFTPL ¡Integra,on ¡– ¡ a ¡flat ¡nonlinear ¡algorithm ¡ • Experimental ¡Results ¡ • Conclusion ¡and ¡Future ¡Work ¡ 2 ¡
Problem ¡Formula,on ¡ • Objec,ve: ¡min ¡HPWL ¡ � � ⎛ ⎞ ( ) ∑ ( ) W v W v max x x max y y ∑ = = − + − ⎜ ⎟ e i j i j ⎝ ⎠ i , j e i , j e ∈ ∈ e E e E ∈ ∈ • Constraint: ¡no ¡density ¡viola,on ¡ � ( ) ρ v ρ , b B 𝑪 : ¡grid ¡set ¡ : ¡grid ¡set ¡ ≤ ∀ ∈ b t – Density ¡penalty: ¡poten,al ¡energy ¡ � ( ) ρ v ρ , b B 𝒓↓𝒋 : ¡charge, ¡cell ¡area ¡ ≤ ∀ ∈ ⇔ 𝒓↓𝒋 b t � 𝝎𝒋 : ¡electric ¡poten)al ¡ : ¡electric ¡poten)al ¡ ( ) N v q 0 𝝎𝒋 ∑ = ψ = i i i Objec)ve ¡func)on : ¡Obj. ¡+ ¡Density ¡penalty ¡ ¡ � � � 𝝁 : ¡penalty ¡factor ¡ : ¡penalty ¡factor ¡ ( ) ( ) ( ) min f v W v N v = + λ � v 3 ¡
Nonlinear ¡Placer ¡ [Kahng05, ¡ chan06, ¡ Chen08] ¡ • High-‑order ¡density ¡and ¡wirelength ¡func,on ¡ – Exponen,al ¡func,on ¡to ¡extract ¡boundary ¡pins ¡ • High ¡accuracy ¡& ¡complexity ¡ – Low ¡efficiency: ¡func,on ¡evalua,on ¡& ¡gradient ¡ computa,on ¡ – Mul,-‑level ¡netlist ¡coarsening: ¡efficiency ¡enhancement ¡ with ¡quality ¡degrada,on ¡ ~ � x x ⎛ ⎞ ⎛ ⎞ ⎛ − ⎞ ( ) W x ln exp i ln exp i ∑ ∑ ⎜ ⎟ = γ ⎜ ⎟ + ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ e ⎜ ⎟ γ γ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠ i e i e ∈ ∈ 4 ¡
Our ¡Density ¡Penalty ¡ • Analogy ¡to ¡electrosta)c ¡system ¡ – Density ¡penalty: ¡system ¡poten,al ¡energy ¡ – Force ¡direc,on: ¡steepest ¡descent ¡of ¡energy ¡ – Force ¡magnitude: ¡following ¡Lorentz ¡force ¡law ¡ • Poisson’s ¡equa)on ¡ – Couple ¡density ¡with ¡field ¡and ¡poten,al ¡ – Neumann ¡boundary ¡condi,on ¡ • Prevent ¡cells ¡from ¡moving ¡outside ¡the ¡chip ¡ • Solu,on ¡legality ¡in ¡global ¡placement ¡ 5 ¡
System ¡Modeling ¡ Cell Instances Electric Particles + Cell Density Charge Density ( ) ( ) x , y x , y ρ ρ Potential Energy � Density Penalty ( ) N v m q ∑ ∈ = ψ i i i V Electric Field � Density Gradient ( ) ( ) E x , y N / x , N / y = − ∂ ∂ −∂ ∂ Placement Instance Electrostatic System 6 ¡
ADAPTEC1 ¡ charge ¡density ¡ ¡ 128x128 ¡ ¡ ¡ 2 ψ ( x , y ) ( x , y ) ρ = −∇ charge ¡density ¡ cell ¡placement ¡ electric ¡field ¡ � poten)al ¡distr. ¡ ( x , y ) ψ ¡ E ( x , y ) ( x , y ) = −∇ ψ field ¡distribu,on ¡ poten,al ¡distribu,on ¡ 7 ¡
Density ¡Force ¡Modula,on ¡ • Long-‑term ¡controversial ¡problem ¡ [Markov12] ¡ ¡ • Quadra,c ¡placer: ¡where ¡to ¡place ¡anchor ¡points? ¡ – Ad-‑hoc ¡scaling ¡ [Eisenmann98] , ¡cut-‑off ¡top ¡10% ¡ [Viswanathan07a] , ¡ recursive ¡bi-‑par,,oning ¡ [Kim10] ¡ ¡ • Nonlinear ¡placer: ¡no ¡order ¡restric,on ¡ – Local ¡smoothing ¡ [Kahng05] ¡[Chen08] : ¡hard ¡to ¡iden,fy ¡global ¡path ¡ for ¡cell ¡mo,on ¡(e.g., ¡across ¡hard ¡macros) ¡ – Global ¡smoothing ¡ [chan06] : ¡how ¡to ¡balance ¡force ¡magnitude ¡ between ¡different ¡cells? ¡ • Our ¡solu)on: ¡by ¡Lorentz ¡force ¡law ¡ – Orienta)on: ¡steepest ¡system ¡energy ¡descent ¡ – Magnitude: ¡contribu)on ¡to ¡penalty ¡reduc)on ¡ 8 ¡
Poisson’s ¡Equa,on ¡ ρ(x,y): ¡charge ¡density ¡ Neumann ¡ boundary ¡ ⎧ ( ) ( ) ( ) x , y x , y x , y R ∇ ⋅ ∇ ψ = − ρ ∈ condi)on ¡ ⎪ ⎪ ˆ ( ) ( ) n x , y 0 x , y R ⋅ ∇ ψ = ∈ ∂ ⎨ ˆ n : ¡the ¡outer ¡ ⎪ ( ) ( ) x , y 0 x , y R ∫∫ ψ = ∈ norm ¡vector ¡ ⎪ ⎩ total ¡charge ¡density: ¡zero ¡ even ¡density ¡distr. ¡ total ¡poten)al: ¡zero ¡ unique ¡solu)on ¡ 9 ¡
Numerical ¡PDE ¡Solu,on ¡ [Skollermo75] ¡ ¡ Neumann ¡condi)on: ¡ ¡ mirror ¡to ¡nega)ve ¡ zero ¡boundary ¡gradient ¡ half-‑plane ¡ [0,n-‑1] ¡ à à ¡[-‑n,n-‑1] ¡ sinusoidal ¡expansion ¡of ¡ ¡ electric ¡field ¡func)on ¡ even ¡func)on ¡ within ¡[-‑n, ¡n-‑1] ¡ cosine ¡expansion ¡of ¡ density ¡& ¡poten)al ¡ periodic ¡extension ¡ numerical ¡solu)on ¡w/ ¡ towards ¡[-‑∞, ¡∞] ¡ Fast ¡Fourier ¡Transform ¡ 10 ¡
Density ¡Expression ¡ 1 n 1 n 1 2D ¡cosine ¡series ¡ − − ( ) ( ) ( ) a x , y cos w x cos w y ∑ ∑ = ρ u , v u v genera)on ¡ 2 n x n y n = − = − 2D ¡DCT ¡ n 1 n 1 − − ( ) ( ) ( ) x , y a cos w x cos w y ∑ ∑ ρ = expansion ¡ u , v u v u n v n = − = − a Poten)al ¡ n 1 n 1 − − u , v ( ) ( ) ( ) x , y cos w x cos w y ∑∑ ψ = u v Func)on ¡ 2 2 w w + u n v n u v = − = − a w ⎧ u , v u ( ) ( ) E sin w x cos w y ∑∑ = ⎪ x u v 2 2 w w + ⎪ u v u v Field ¡Func)on ¡ ⎨ a w ⎪ u , v v ( ) ( ) E cos w x sin w y ∑∑ = y u v 2 2 w w ⎪ + ⎩ u v u v 11 ¡
Boundary ¡Condi,on ¡Verifica,on ¡ itera)on ¡100 ¡ itera)on ¡150 ¡ ADAPTEC1 ¡ 128x128 ¡ 12 ¡
Run,me ¡Density ¡Gradient ¡ itera)on ¡33 ¡ itera)on ¡3 ¡ ADAPTEC1 ¡ 128x128 ¡ 13 ¡
Complexity ¡Analysis ¡ • m: ¡total ¡movable ¡nodes ¡ – standard ¡cells ¡& ¡filler ¡cells ¡ – Density ¡computa,on ¡ à ¡O(m) ¡ • n: ¡each ¡dimension ¡of ¡2-‑D ¡grids ¡ – Uniform ¡decomposi,on ¡ – 2D ¡fast ¡Fourier ¡transform ¡ à ¡O(n 2 logn) ¡ • total ¡complexity: ¡ O(mlogm) ¡ – m=O(n 2 ): ¡# ¡grid ¡≈ ¡# ¡cells ¡ – O(m+n 2 logn) ¡= ¡O(mlogm) ¡ 14 ¡
Compare ¡to ¡Prior ¡Density ¡Solu,on ¡… ¡ • Green’s ¡func,on ¡ [Eisenmann98] ¡[Spindler08] ¡ – Complex ¡func,on ¡opera,on ¡ – 2D ¡convolu,on: ¡ O(m 2 ) ¡run,me ¡ • Finite-‑difference ¡method ¡ [Chan06] ¡ – O(mlogm) ¡,me ¡ ¡ – Only ¡aware ¡of ¡local ¡informa,on ¡ ¡ • Bell-‑shape ¡smoothing ¡ [Kahng05] ¡[Chen08] ¡ – Param ¡tuning: ¡need ¡ O(m 2 ) ¡to ¡be ¡global-‑aware ¡ • Ours: ¡global-‑aware ¡& ¡O(mlogm) ¡ 15 ¡
FFTPL ¡Integra,on ¡ our ¡focus ¡ 16 ¡
FFTPL ¡Integra,on ¡-‑ ¡ A ¡Flat ¡& ¡Analy,c ¡Nonlinear ¡Algorithm ¡ • Wirelength ¡model: ¡weighted-‑average ¡ [Hsu11] ¡ ¡ • Op,mizer: ¡conjugate ¡gradient ¡ [Shewchuk94] ¡ • Legalizer ¡& ¡detail ¡placer: ¡FastDP ¡ [Pan05] ¡ ¡ • FFT ¡solver: ¡general-‑purpose ¡package ¡ [Ooura] ¡ ¡ 17 ¡
FFTPL: ¡Visual ¡Demo ¡ • Anima,on ¡of ¡all ¡global ¡placement ¡ ¡ – All ¡itera,ons ¡involved ¡ • Distribu,on ¡of ¡cells ¡& ¡fillers ¡local ¡ 18 ¡
Experiment ¡Setup ¡ • ISPD ¡2005 ¡benchmark ¡suite ¡ [Nam05] ¡ • Placement ¡density ¡ρt=1.00 ¡ ¡ • Five ¡state-‑of-‑the-‑art ¡placers ¡ – Covering ¡three ¡categories: ¡quadra,c, ¡min-‑cut, ¡nonlinear ¡ categories ¡ min-‑cut ¡ quadra,c ¡ non-‑linear ¡ APlace2 ¡ [Kahng05] ¡ state-‑of-‑the-‑art ¡ academic ¡placers ¡ Capo10.5 ¡ [Caldwell00] ¡ FastPlace3.0 ¡ [Viswanathan07b] ¡ NTUplace3 ¡ [Chen08] ¡ mPL6 ¡ [Chan06] ¡ 19 ¡
Recommend
More recommend