I N V E N T I V EI N V E N T I V E A Morphing Approach To Address Placement Stability Philip Chong Christian Szegedy
March 20, Overview Motivation/Background Our Algorithm Results/Conclusions Future Work
March 20, Motivation Design process has become tremendously complex –Timing, power, noise/crosstalk, manufacturability, etc. play increasingly important roles Placement must account for all these metrics Pure “top-down” design flow impossible –Impossible to predict physical effects prior to placement Iteration and incremental design are critical for closure Need to have stability in placement –Also need stability throughout entire design flow
March 20, Stability An algorithm is stable if, when given two similar inputs, it produces two similar outputs –A small change in the input only causes a small change in the output Stability is necessary to be able to obtain closure in an incremental design flow –E.g. a single buffer insertion should not cause a significant change in the layout
March 20, Our Work We have developed a global placement approach called grid morphing which focuses on stability and is targeted towards an incremental design flow
March 20, Existing Work Brenner, Vygen, “Legalizing A Placement With Minimum Total Movement”, IEEE Trans. CAD, Dec –Optimizes total absolute perturbation; we optimize relative perturbation Ren et al, “Diffusion-based Placement Migration”, DAC 2005 –Focus on final placement stage and less efficient; we look at global placement and are more efficient Xiu et al, “Large-scale Placement By Grid-Warping”, DAC 2004 –Inefficient non-linear formulation and restricted to quadrisectioning; we have a more efficient approach which optimizes over a global grid
March 20, Overall Placement Flow Start Initial QP Solution Grid Morphing Local Optimization Evenly Spread? Final Placement Stop N
March 20, Grid Morphing Overview All cell movements are computed using an ordinary bilinear transform
March 20, Grid Morphing Example Initial Placement After First Morphing After Second Morphing After First Iteration
March 20, Morphing Formulation Find new control points for the grid which minimizes distortion relative to the original grid Tiles in new grid must be large enough to fit their contained gates Difficulty: Straightforward Lagrangian relaxation using subgradient method yields poor convergence
March 20, Our Approach Based on an intuitive physical model Imagine each tile is a flexible container for some gas under pressure proportional to its placement utilization Walls between containers move to equalize the pressure between them Containers under high pressure expand to occupy a larger volume, containers under low pressure are squished to occupy a smaller volume
March 20, Control Point Movement First move border points according to pressures Then move control points according to border point movements
March 20, Algorithmic Improvements Multilevel Morphing –Improve runtime: Start with a coarse grid, solve the morphing problem, then use the solution as an initial solution for a finer grid Maximum Blowup Control –Improve stability: Limit the A j values so that no one grid tile expands too greatly in one iteration
March 20, Algorithmic Improvements (cont.) Netlength Guided Morphing –Improve netlength: First estimate sensitivity of wirelength to grid control point positions (i.e. how much wirelength degrades when a control point is moved), then add penalty terms to the optimization objective function weighted by the sensitivities Local Optimization –Improve netlength: After each iteration perform greedy optimization of netlength
March 20, Comparison With MetaPlacer MetaPlacer Our Placer Original10% Resized20% Resized
March 20, Placement Results Net perturbation (Alpert et al, ASPDAC 2005): Run times: MetaPlacer 2-3 hours, Our Placer <1 hour
March 20, Perturbation Distributions MetaPlacerOur Placer Often makes sense to reduce largest perturbations at the expense of introducing many tiny movements
March 20, Perturbation Maps MetaPlacer Our Placer 10% Resized20% Resized
March 20, Future Work More testcases –Wider variety of designs –Examine effect of different kinds of incremental changes –Comparisons with other placers Incorporate different metrics –Timing, routability, crosstalk, manufacturability, etc.