Implementation and Extensibility of an Analytic Placer Andrew B. Kahng and Qinke Wang UCSD CSE Department {abk, qiwang}@cs.ucsd.edu Work partially supported by Cadence Design Systems, Inc., the California MICRO program, the MARCO Gigascale Silicon Research Center, NSF MIP-9901174 and the Semiconductor Research Corporation.
32
Embed
Implementation and Extensibility of an Analytic Placer Andrew B. Kahng and Qinke Wang UCSD CSE Department {abk, qiwang}@cs.ucsd.edu Work partially supported.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Implementation and Extensibility of an Analytic Placer
Andrew B. Kahng and Qinke Wang
UCSD CSE Department{abk, qiwang}@cs.ucsd.edu
Work partially supported by Cadence Design Systems, Inc., the California MICRO program, the MARCO Gigascale Silicon Research Center, NSF
MIP-9901174 and the Semiconductor Research Corporation.
Motivation• Automated placement: always critical
– new challenges: larger design sizes, shorter turnaround times, a variety of additional physical and geometrical constraints, etc.
• New analytical methods: simultaneously spread cells and optimize wirelength– force-directed placement [Eisenmann et al. 98]– cell attracting and repelling (ARP)
[Etawil et al. 99]
• Problem: wirelength is easily damaged by improper forces and attractors
Our Contribution• A novel objective function for spreading cells is
proposed recently [Naylor et al. 01]• We implement an analytic placer (APlace)
based on this idea– study characteristics of the objective function– extend the objective function with congestion
information– implement a top-down multi-level placer:
WL outperforms that of QPlace, Dragon and Capo– extend the placer to perform I/O-core co-placement
for area-array I/O designs– extend the placer with constraint handling for mixed-
signal designs
Outline
• Problem Formulation
• Implementation & Results
• Extensions
• Conclusion and Ongoing Work
Outline
• Problem Formulation– cell spreading = density control– wirelength minimization
• Implementation & Results
• Extensions
• Conclusion and Ongoing Work
Cell Spreading (I)
• Common strategy– divide the placement area into grids– equalize the total cell area in each grid
• Penalty of an uneven cell distribution
– not smooth or differentiable– difficult to optimize
Cell Spreading (II)
• A bell-shaped cell potential function [Naylor et al. US Patent 2001]
• Cell c has potential(c, g) with respect to grid g
• Cell c at (CellX, CellY) has area A• Grid point g = (GridX, GridY)• p(d) : bell-shaped function • r : the radius of cells' potential • C : a proportionality factor, s.t.
r
1-2d2/r2
2(r-d)2/r2
r/2r/2r
d
p(d)
Cell Spreading (III)• Penalty function
– conjugate gradient solver– stop when max movement of
any cell between iterations is small
– Discrepancy(A) – max ratio of actual total cell
area to expected cell area over all windows with area A
Conjugate Gradient Optimizer• A series of line minimizations
– one-dimensional function minimization along some search direction
• gk : the gradient f(xk)
• dk : the search direction
• sk : a step length obtained by a Golden Section search algorithm
k : ensures that dk is the conjugate direction when the function is quadratic and the line search finds the exact minimum along the direction
– Polak-Ribiere formula
Control Factors
• Weights of wirelength and density objectives– density weight
• larger: spread the cells out hastily without a good wirelength
– wirelength weight• larger: contract cells together and prevents them from spreading out
Control Factors
• Weights of wirelength and density objectives– density weight: fixed
• larger: spread the cells out hastily without a good wirelength
– wirelength weight• larger: contract cells together and prevents them from spreading out• set to be large in the beginning• divided by 2 when the solver slows down and an optimal solution appears
• repeat until cells are spread evenly over the placement area
• #grids– coarser grids at the beginning: spread out the cells faster– finer grids at the final stages: a more even distribution
Top-Down Multi-Level Algorithm
• A hierarchy of clusters– MLPart [Caldwell et al. 99]
• Coarse grid: average cluster size
• Density penalty– regard each cluster as a macro cell– area of the macro cell = total area of the cluster
• Wirelength– cells: at center of clusters
Discrepancy and Wirelength
Discrepancy as a function of iterations for the ibm01-easy circuit.
HPWL as a function of iterations for the ibm01-easy circuit.
0 500 1000 1500 2000 25000
5
10
15
20
Dis
cre
pa
ncy
Iteration
0 500 1000 1500 2000 25003x107
4x107
5x107
6x107
HP
WL
Iteration
Placement Process
• Iter 100– WL: 4.06E5– disc: 10.69
• Iter 200– WL: 5.05E5– disc: 4.17
• Iter 300– WL: 4.04E5– disc: 2.53
• Iter 400– WL: 4.31E5– disc: 1.86
Legalization
• A simple Tetris legalization algorithm
[Hill 02]– sort cells according to vertical coordinates– from left to right, search the current nearest
available position for each cell– fast– increases WL by 5% on average for IBM-
PLACE 2.0 circuits
• Orientation optimization and row ironing [UCLApack]