Density-aware Detailed Placement
with Instant Legalization
Sergiy Popovych ,
• Modern placement process involves global
placement, legalization, and detailed
• Global placement produce a placement
solution with minimized target objective,
which is usually wire-length, routability, timing,
• Legalization removes cell overlap and aligns
the cells to the placement sites.
• Detailed placement further improves the
solution by relocating cells.
• Since target objectives like wire-length and
timing are optimized in global placement,
legalization and detailed placement should
not only minimize their own objectives but
also preserve the global placement solution.
• Given a legal placement with a set of fixed
macros and a set of movable cells, our
algorithm move the standard cell legally to
minimize the total HPWL , with consideration
of user-specific placement density and
maximum displacement constraint.
• OFP(Γ) denotes the overfill penalty of the top Γ% congested
bins, and ABU(Γ) denotes the average bin utilization of the top
Γ% congested bins.
• sHPWL denotes the scaled HPWL, α is a user defined constant,
AOFP denotes the weighted average of OFP(2), OFP(5),
OFP(10), and OFP(20).
Moving cell into a region
• The basic idea of the swapping procedure:
• 1) choose a set of candidate swap targets in the
• 2) find a number of swap target candidates, which
are expected to improve them solution quality.
• 3) swap the target cell with one of the swap targets
Moving cell into a region
Density-aware profit estimation
• BraveDP computes the profit from swapping a cell c
and a swap target t by the following equation:
• ΔHPWL and ΔAOFP respectively denote the HPWL
change and overfill penalty change after the swap.
• OVc,t denotes the overlap penalty.
• The computation of ΔAOFP is more complicated.
• We use the following equation to predict the AOFP
after swapping a cell c and a swap target t:
• ABUct(Γ) denotes the ABU(Γ) after the swap, C is the
set of bins whose densities will change after the
• Δd(b, Γ) denotes the effect of the density change of
the bin b after the swap on the ABU(Γ).
• The computation for Δd(b, Γ) can be classified into four cases.
nΓ denotes Γ% of the total number of bins.
d(b) denotes the density of bin b before the swap.
dct(b) denotes the density of bin b after the swap.
dlow(Γ) denotes the lowest density among the bins in B(Γ).
dhigh(!Γ) denotes the highest density among the bins not in
Instant legalization and move reversal
• We use very fast local legalizations, which are applied
after each swap and keep the solution legal at all
• The most important advantage of the instant
legalization is that it allows the legalization
consequences to be seen immediately after a swap.
• Optimal-Region Based Swap:
– Optimal-Region Based Swap is applied to every cell which
is not inside its optimal region already.
• HPWL-Driven Swap:
– We first identify cells which are placed poorly with respect
– We evaluate the HPWL-wise optimality of the cell position
by measuring the distance from the cell to its optimal
• Density Driven Swap
– Density-Driven Swap aims at improving the
solution quality by identifying the cells which are
placed poorly with respect to bin density, and
trying to move them to positions that are suited to
balance bin density.
• Our implementation is written in C++ and is compiled
with g++ 4.1.2. All the benchmarks are run on a
quad-core 2.4 GHz Xeon-based Linux server with
• This work develops a high quality cell swap based
• The placer presented uses instant legalization and swap
reversal technique, which allows it to efficiently control
the maximal displacement constraint and solution quality
deterioration during legalization.
• The placer presented produces the best placement
results among the top3 teams in the ICCAD13 contest.