Natarajan Viswanathan Min Pan Chris Chu Iowa State University International Symposium on Physical Design April 6, 2005 FastPlace: An Analytical Placer for Mixed-Mode Designs
2 Overview Stage 1: Global Placement 1.Hybrid Net Model 2.Cell Shifting 3.Contour based Iterative Local Refinement Stage 2: Legalization 1.Legalize movable macros 2.Legalize standard cells Stage 3: Detailed Placement 1.Global Swap and Global Move 2.Local Re-ordering 3.Segment-based Shifting 4.Local Shifting
3 Global Placement: Approach Framework: repeat Solve the convex quadratic program Reduce wirelength by iterative heuristic Spread the cells until the cells are evenly distributed Special features of FastPlace: Iterative Local Refinement Minimize wirelength based on linear objective Hybrid Net Model Speed up solving of convex QP Cell Shifting Easy-to-compute technique Enable fast convergence Framework: repeat Solve the convex quadratic program Reduce wirelength by iterative heuristic Spread the cells until the cells are evenly distributed
4 GP: Contour Map for Fixed Macros Circuit: adaptec2 Before After
5 Global Placement: What’s New Contour Based Iterative Local Refinement: Generate a contour map of the placement region based on the fixed macros Use the contour map to guide the standard cells and movable macros out of the fixed macros Consider moving an object in 8 directions during Iterative Local Refinement Compute a score for each direction based on Half-perimeter wirelength (HPWL) reduction Cell density at the source and destination regions Contour height at the source and destination regions Move in the direction with highest positive score (Do not move if no positive score) WE N S NW NE SWSE
6 Legalization: Flow Legalize movable macros: Move movable macros to the nearest possible legal positions considering only the fixed macros Fix movable macros Legalize standard cells: Divide the placement region into bins and ripple standard cells among bins to even out the current placement Determine the placeable segments and move standard cells among segments to satisfy segment capacities Legalize standard cells within segments
7 Detailed Placement: Techniques (1) Global Swap / Global Move: For every candidate cell j in the optimal region of cell i - compute the benefit to swap i with j - compute the benefit to move i to the space around j Greedily pick the cell / space with best benefit to perform the swap / move Optimal region of cell i i j
8 Detailed Placement: Techniques (2) Local re-ordering: For 2 to 3 consecutive cells in a segment, get the best order in terms of wirelength Segment-based shifting: Consider one segment at a time Shift cells in the segment simultaneously to minimize wirelength Local shifting: Consider one cell at a time Shift the cell within its local space to minimize wirelength
9 Detailed Placement: Flow 1. Perform initial segment-based shifting 2. Repeat Perform global swapping and moving on all the cells Perform local re-ordering with 2 cells Until no significant improvement in wirelength 3. Perform local re-ordering with 3 cells 4. Perform final segment-based shifting 5. Perform local shifting within each segment
10 Not There Yet … A change in the objective: Original FastPlace -- speed Placement contest -- HPWL FastPlace has the potential to obtain good WL: For standard cell placement, 9% reduction in WL with 47% increase in runtime over ISPD-04 version For mixed size placement, we still have a lot to do: Proper cell shifting in the presence of macros Proper legalization technique considering fixed/movable macros Proper tuning of parameters … Stay tuned!