FFTPL: An Analy,c Placement Algorithm Using Fast Fourier - - PowerPoint PPT Presentation

fftpl an analy c placement algorithm using fast fourier
SMART_READER_LITE
LIVE PREVIEW

FFTPL: An Analy,c Placement Algorithm Using Fast Fourier - - PowerPoint PPT Presentation

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 ,


slide-1
SLIDE 1

FFTPL: ¡An ¡Analy,c ¡Placement ¡Algorithm ¡ ¡ Using ¡Fast ¡Fourier ¡Transform ¡for ¡ ¡ Density ¡Equaliza,on ¡

Jingwei ¡Lu1, ¡Pengwen ¡Chen2, ¡Chin-­‑Chih ¡Chang3, ¡Lu ¡Sha3, ¡ ¡ Dennis ¡Jen-­‑Hsin ¡Huang3, ¡Chin-­‑Chi ¡Teng3 ¡and ¡Chung-­‑Kuan ¡Cheng1 ¡

1Department ¡of ¡Computer ¡Science ¡and ¡Engineering, ¡University ¡of ¡California, ¡San ¡Diego ¡ 2Department ¡of ¡Applied ¡Mathema,cs, ¡Na,onal ¡Chung ¡Hsing ¡University ¡ 3Cadence ¡Design ¡Systems, ¡Inc. ¡

1 ¡

slide-2
SLIDE 2

Outline ¡

  • Introduc,on ¡
  • 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 ¡

  • ur ¡major ¡contribu)ons ¡
slide-3
SLIDE 3

Problem ¡Formula,on ¡

( ) ( ) ∑

∈ ∈ ∈ ∈

⎟ ⎠ ⎞ ⎜ ⎝ ⎛ − + − = =

E e j i e j i j i e j i E e e

y y x x v W v W

, ,

max max

  • 3 ¡
  • Objec,ve: ¡min ¡HPWL ¡
  • Constraint: ¡no ¡density ¡viola,on ¡

– Density ¡penalty: ¡poten,al ¡energy ¡

Objec)ve ¡func)on: ¡Obj. ¡+ ¡Density ¡penalty ¡ ¡

( )

B b , ρ v ρ

t b

∈ ∀ ≤

  • ( )

( ) ( )

v N v W v f

v

  • λ

+ = min

𝑪: ¡grid ¡set ¡

: ¡grid ¡set ¡

𝝁: ¡penalty ¡factor ¡

: ¡penalty ¡factor ¡

( ) ( )

= = ⇔ ∈ ∀ ≤

i i i t b

q v N B b , ρ v ρ ψ

  • ​𝒓↓𝒋

𝒓↓𝒋 : ¡charge, ¡cell ¡area ¡ 𝝎𝒋 𝝎𝒋: ¡electric ¡poten)al ¡

: ¡electric ¡poten)al ¡

slide-4
SLIDE 4

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 ¡

4 ¡

( )

⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ − + ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ =

∑ ∑

∈ ∈ e i i e i i e

x x x W γ γ γ exp ln exp ln ~

slide-5
SLIDE 5

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 ¡

slide-6
SLIDE 6

Electrostatic System

Cell Density Charge Density Density Penalty Potential Energy Cell Instances Electric Particles

Placement Instance

Density Gradient Electric Field

( )

i V i i

m q

v N ψ

∑∈

=

  • (

) ( )

y N x N y x E ∂ −∂ ∂ ∂ − = / , / ,

  • (

)

y x, ρ

( )

y x, ρ

+

System ¡Modeling ¡

6 ¡

slide-7
SLIDE 7

7 ¡

cell ¡placement ¡ charge ¡density ¡ poten,al ¡distribu,on ¡

ADAPTEC1 ¡ 128x128 ¡

field ¡distribu,on ¡

charge ¡density ¡ ¡ ¡ ¡ electric ¡field ¡ ¡

( ) ( )

y x y x , ,

ρ −∇ =

( ) ( )

y x y x E , , ψ −∇ =

  • poten)al ¡distr. ¡ (

)

y x, ψ

slide-8
SLIDE 8

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 ¡

slide-9
SLIDE 9

: ¡the ¡outer ¡ norm ¡vector ¡

Poisson’s ¡Equa,on ¡

9 ¡

( ) ( ) ( ) ( ) ( ) ( ) ( )

⎪ ⎪ ⎩ ⎪ ⎪ ⎨ ⎧ ∈ = ∂ ∈ = ∇ ⋅ ∈ − = ∇ ⋅ ∇

∫∫

R y x y x R y x y x R y x y x y x , , , , ˆ , , , ψ ψ ρ ψ n

total ¡charge ¡density: ¡zero ¡ ρ(x,y): ¡charge ¡density ¡ n ˆ Neumann ¡ boundary ¡ condi)on ¡ total ¡poten)al: ¡zero ¡ even ¡density ¡distr. ¡ unique ¡solu)on ¡

slide-10
SLIDE 10

even ¡func)on ¡ within ¡[-­‑n, ¡n-­‑1] ¡

Numerical ¡PDE ¡Solu,on ¡[Skollermo75] ¡ ¡

10 ¡

Neumann ¡condi)on: ¡ ¡ zero ¡boundary ¡gradient ¡ cosine ¡expansion ¡of ¡ density ¡& ¡poten)al ¡ mirror ¡to ¡nega)ve ¡ half-­‑plane ¡ [0,n-­‑1] ¡à à ¡[-­‑n,n-­‑1] ¡ numerical ¡solu)on ¡w/ ¡ Fast ¡Fourier ¡Transform ¡ periodic ¡extension ¡ towards ¡[-­‑∞, ¡∞] ¡ sinusoidal ¡expansion ¡of ¡ ¡ electric ¡field ¡func)on ¡

slide-11
SLIDE 11

Density ¡Expression ¡

11 ¡

2D ¡cosine ¡series ¡ genera)on ¡

( ) ( ) ( )

∑ ∑

− − = − − =

=

1 1 ,

cos cos , 2 1

n n x n n y v u v u

y w x w y x n a ρ

2D ¡DCT ¡ expansion ¡

( ) ( ) ( )

∑ ∑

− − = − − =

=

1 1 ,

cos cos ,

n n u n n v v u v u

y w x w a y x ρ

( ) ( ) ( )

∑∑

− − = − − =

+ =

1 1 2 2 ,

cos cos ,

n n u n n v v u v u v u

y w x w w w a y x ψ

Poten)al ¡ Func)on ¡ Field ¡Func)on ¡ ( ) ( ) ( ) ( )

⎪ ⎪ ⎩ ⎪ ⎪ ⎨ ⎧ + = + =

∑∑ ∑∑

u v v u v u v v u y u v v u v u u v u x

y w x w w w w a E y w x w w w w a E sin cos cos sin

2 2 , 2 2 ,

slide-12
SLIDE 12

Boundary ¡Condi,on ¡Verifica,on ¡

12 ¡

itera)on ¡100 ¡ itera)on ¡150 ¡

ADAPTEC1 ¡ 128x128 ¡

slide-13
SLIDE 13

Run,me ¡Density ¡Gradient ¡

13 ¡

itera)on ¡3 ¡ itera)on ¡33 ¡

ADAPTEC1 ¡ 128x128 ¡

slide-14
SLIDE 14

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(n2logn) ¡

  • total ¡complexity: ¡O(mlogm) ¡

– m=O(n2): ¡# ¡grid ¡≈ ¡# ¡cells ¡ – O(m+n2logn) ¡= ¡O(mlogm) ¡

14 ¡

slide-15
SLIDE 15

Compare ¡to ¡Prior ¡Density ¡Solu,on ¡… ¡

  • Green’s ¡func,on ¡[Eisenmann98] ¡[Spindler08] ¡

– Complex ¡func,on ¡opera,on ¡ – 2D ¡convolu,on: ¡O(m2) ¡run,me ¡

  • Finite-­‑difference ¡method ¡[Chan06] ¡

– O(mlogm) ¡,me ¡ ¡ – Only ¡aware ¡of ¡local ¡informa,on ¡ ¡

  • Bell-­‑shape ¡smoothing ¡[Kahng05] ¡[Chen08] ¡

– Param ¡tuning: ¡need ¡O(m2) ¡to ¡be ¡global-­‑aware ¡

  • Ours: ¡global-­‑aware ¡& ¡O(mlogm) ¡

15 ¡

slide-16
SLIDE 16

FFTPL ¡Integra,on ¡

16 ¡

  • ur ¡focus ¡
slide-17
SLIDE 17

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 ¡

slide-18
SLIDE 18

FFTPL: ¡Visual ¡Demo ¡

  • Anima,on ¡of ¡all ¡global ¡placement ¡ ¡

– All ¡itera,ons ¡involved ¡

  • Distribu,on ¡of ¡cells ¡& ¡fillers ¡local ¡

18 ¡

slide-19
SLIDE 19

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 ¡

19 ¡

categories ¡ min-­‑cut ¡ quadra,c ¡ non-­‑linear ¡ state-­‑of-­‑the-­‑art ¡ academic ¡placers ¡ Capo10.5 ¡[Caldwell00] ¡ FastPlace3.0 ¡[Viswanathan07b] ¡ APlace2 ¡[Kahng05] ¡ NTUplace3 ¡[Chen08] ¡ mPL6 ¡[Chan06] ¡

slide-20
SLIDE 20

Wirelength ¡& ¡Run,me ¡

20 ¡ 0.00% ¡ 14.48% ¡ 5.96% ¡ 11.16% ¡ 7.97% ¡ 4.39% ¡ 0% ¡ 5% ¡ 10% ¡ 15% ¡ 20% ¡ FFTPL ¡ Capo10.5 ¡ FastPlace3.0 ¡ APlace2 ¡ NTUplace3 ¡ mPL6 ¡

  • avg. ¡wirelength ¡difference ¡

1.00 ¡ 4.16 ¡ 0.25 ¡ 4.43 ¡ 0.66 ¡ 1.81 ¡ 0 ¡ 3 ¡ 6 ¡ FFTPL ¡ Capo10.5 ¡ FastPlace3.0 ¡ APlace2 ¡ NTUplace3 ¡ mPL6 ¡ (X)

  • avg. ¡run,me ¡ra,o ¡
slide-21
SLIDE 21

Conclusion ¡

  • Introduc,on ¡ ¡

– Background ¡& ¡problem ¡formula,on ¡

  • Density ¡penalty ¡

– Electrosta,c ¡modeling ¡& ¡Poisson’s ¡equa,on ¡

  • Numerical ¡solu,on ¡

– Spectral ¡methods ¡& ¡Neumann ¡boundary ¡condi,on ¡

  • Experiments ¡on ¡ISPD05 ¡benchmark ¡suite ¡

21 ¡

slide-22
SLIDE 22

Future ¡Work ¡

  • Placement ¡quality ¡improvement ¡

– Precondi,oning ¡for ¡convergence ¡accelera,on ¡ – Stochas,c ¡process ¡to ¡complement ¡analy,c ¡algorithm ¡

  • Extensibility ¡towards ¡parallel ¡platorm ¡

– GPU ¡architecture ¡and ¡distributed ¡system ¡ – Parallel ¡FFT ¡for ¡density ¡gradient ¡[Moreland03] ¡ ¡ – Parallel ¡wirelength ¡gradient ¡genera,on ¡[Cong09] ¡ ¡

  • Extensibility ¡towards ¡other ¡design ¡objec,ves ¡

– Routability ¡[Kim11], ¡,ming ¡[Chan09], ¡thermal ¡[Cong11] ¡ ¡

22 ¡

slide-23
SLIDE 23

References ¡

  • [Caldwell00] ¡A. ¡E. ¡Caldwell, ¡A. ¡B. ¡Kahng, ¡and ¡I. ¡L. ¡Markov. ¡Can ¡Recursive ¡Bisec,on ¡Alone ¡Produce ¡

Routable ¡Placements? ¡In ¡DAC, ¡pages ¡477–482, ¡2000. ¡

  • [Chan06] ¡T. ¡F. ¡Chan, ¡J. ¡Cong, ¡J. ¡R. ¡Shinnerl, ¡K. ¡Sze, ¡and ¡M. ¡Xie. ¡mPL6: ¡Enhanced ¡Mul,level ¡Mixed-­‑Size ¡

Placement, ¡in ¡ISPD, ¡pages ¡212–214, ¡2006. ¡

  • [Chan09] ¡T. ¡F. ¡Chan, ¡J. ¡Cong, ¡and ¡E. ¡Radke, ¡A ¡Rigorous ¡Framework ¡for ¡Convergent ¡Net ¡Weigh,ng ¡

Schemes ¡in ¡Timing-­‑Driven ¡Placement, ¡in ¡ICCAD, ¡pages ¡288-­‑294, ¡2009. ¡ ¡

  • [Chen08] ¡T.-­‑C. ¡Chen ¡et ¡al. ¡NTUPlace3: ¡An ¡Analy,cal ¡Placer ¡for ¡Large-­‑Scale ¡Mixed-­‑Size ¡Designs ¡with ¡

Preplaced ¡Blocks ¡and ¡Density ¡Constraint, ¡IEEE ¡TCAD, ¡27(7):1228–1240, ¡2008. ¡

  • [Cong09] ¡J. ¡Cong ¡and ¡Y. ¡Zou, ¡Paralell ¡Mul,-­‑level ¡Analy,cal ¡Global ¡Placement ¡on ¡Graphics ¡Processing ¡

Unit, ¡in ¡ICCAD, ¡pages ¡681-­‑688, ¡2009 ¡

  • [Cong11] ¡J. ¡Cong, ¡G. ¡Luo ¡and ¡Y. ¡Shi, ¡Thermal-­‑Aware ¡Cell ¡and ¡Through-­‑Silicon-­‑Via ¡Co-­‑Placement ¡for ¡3D ¡

ICs, ¡in ¡DAC, ¡pages ¡405-­‑410, ¡2011. ¡

  • [Eisenmann98] ¡H. ¡Eisenmann ¡and ¡F. ¡M. ¡Johannes. ¡Generic ¡Global ¡Placement ¡and ¡Floorplanning. ¡In ¡DAC, ¡

pages ¡269–274, ¡1998. ¡

  • [Hsu11] ¡M.-­‑K. ¡Hsu, ¡Y.-­‑W. ¡Chang ¡and ¡V. ¡Balabanov. ¡TSV-­‑Aware ¡Analy,cal ¡Placement ¡for ¡3D ¡IC ¡Designs, ¡in ¡

DAC, ¡pages ¡664-­‑669, ¡2011. ¡

  • [Kahng05] ¡A. ¡B. ¡Kahng, ¡S. ¡Reda, ¡and ¡Q. ¡Wang. ¡Architecture ¡and ¡Details ¡of ¡a ¡High ¡Quality, ¡Large-­‑Scale ¡

Analy,cal ¡Placer. ¡In ¡ICCAD, ¡pages ¡890–897, ¡2005 ¡

  • [Kim10] ¡M.-­‑C. ¡Kim, ¡D.-­‑J. ¡Lee, ¡and ¡I. ¡L. ¡Markov. ¡SimPL: ¡An ¡Effec,ve ¡Placement ¡Algorithm. ¡In ¡ICCAD, ¡pages ¡

649–656, ¡2010. ¡

23 ¡

slide-24
SLIDE 24

References ¡

  • [Kim11] ¡M.-­‑C. ¡Kim, ¡J. ¡Hu, ¡D.-­‑J. ¡Lee, ¡and ¡I. ¡L. ¡Markov: ¡A ¡SimPLR ¡method ¡for ¡routability-­‑driven ¡
  • placement. ¡In ¡ICCAD, ¡pages ¡67-­‑73, ¡2011. ¡
  • [markov12] ¡I. ¡L. ¡Markov, ¡J. ¡Hu, ¡and ¡M.-­‑C. ¡Kim: ¡Progress ¡and ¡challenges ¡in ¡VLSI ¡placement ¡research. ¡In ¡

ICCAD, ¡pages ¡275-­‑282, ¡2012. ¡

  • [Moreland03] ¡K. ¡Moreland ¡and ¡E. ¡Angel. ¡The ¡FFT ¡on ¡a ¡GPU. ¡Graphics ¡Hardware, ¡2003. ¡
  • [Nam05] ¡G.-­‑J. ¡Nam, ¡C. ¡J. ¡Alpert, ¡P. ¡Villarrubia, ¡B. ¡Winter, ¡and ¡M. ¡Yildiz. ¡The ¡ISPD2005 ¡Placement ¡Contest ¡

and ¡Benchmark ¡Suite. ¡In ¡ISPD, ¡pages ¡216–220, ¡2005. ¡

  • [Ooura] ¡General-­‑Purpose ¡FFT ¡Package. ¡hxp://www.kurims.kyoto-­‑u.ac.jp/~ooura/{.html. ¡
  • [Pan05] ¡M. ¡Pan, ¡N. ¡Viswanathan, ¡and ¡C. ¡Chu. ¡An ¡Efficient ¡and ¡Effec,ve ¡Detailed ¡Placement ¡Algorithm. ¡In ¡

ICCAD, ¡pages ¡48–55, ¡2005. ¡

  • [Shewchuk94] ¡J. ¡Shewchuk. ¡An ¡Introduc,on ¡to ¡the ¡Conjugate ¡Gradient ¡Method ¡without ¡the ¡Agonizing ¡
  • Pain. ¡In ¡Technical ¡Report ¡CMU-­‑CS-­‑TR-­‑94-­‑125, ¡Carnegie ¡Mellon ¡University, ¡1994. ¡
  • [Skollermo75] ¡G. ¡Skollermo. ¡A ¡Fourier ¡Method ¡for ¡the ¡Numerical ¡Solu,on ¡of ¡Poisson’s ¡Equa,on. ¡

Mathema,cs ¡of ¡Computa,on, ¡29(131):697–711, ¡1975. ¡

  • [Spindler08] ¡P. ¡Spindler, ¡U. ¡Schlichtmann ¡and ¡F. ¡M. ¡Johannes, ¡Kra|werk2 ¡– ¡A ¡Fast ¡Force-­‑Directed ¡

Quadra,c ¡Placement ¡Approach ¡Using ¡an ¡Accurate ¡Net ¡Model, ¡IEEE ¡TCAD, ¡27(8): ¡1398-­‑1411, ¡2008. ¡

  • [Viswanathan07a] ¡N. ¡Viswanathan ¡et ¡al. ¡RQL: ¡Global ¡Placement ¡via ¡Relaxed ¡Quadra,c ¡Spreading ¡and ¡

Lineariza,on. ¡In ¡DAC, ¡pages ¡453–458, ¡2007. ¡

  • [Viswanathan07b] ¡N. ¡Viswanathan, ¡M. ¡Pan, ¡and ¡C. ¡Chu. ¡FastPlace3.0: ¡A ¡Fast ¡Mul,level ¡Quadra,c ¡

Placement ¡Algorithm ¡with ¡Placement ¡Conges,on ¡Control, ¡in ¡ASPDAC, ¡pages ¡135–140, ¡2007. ¡

24 ¡

slide-25
SLIDE 25

Q ¡& ¡A ¡

25 ¡