星期六, 4月 25, 2026

Modern Global Placement: ePlace vs. RePlAce

Global placement decides roughly where every cell goes on a chip. Wires should be short, and no region should be overcrowded. ePlace and RePlAce are two well-known analytic placers built on one physical idea: treat cells as electric charges that push each other apart. This page uses a small 80-cell demo to show three mechanisms at work: the optimizer's step size, cell inflation for routability, and fixed macros.

  • Step size. With adaptive α, wirelength (HPWL) is 4.2% shorter than with fixed α after 200 iterations and 14% shorter after 240, because the fixed-α run starts to lose stability late in the run.
  • Cell inflation. On the standard-cell design, inflation with adaptive α cuts peak density by 35% for 16% more HPWL. With fixed α it cuts only 6%.
  • Macros. With five fixed macros, inflation backfires: peak density rises 5–6% and HPWL 9–12%.
  • Scope. One seed, 80 cells, stopped before convergence. This is a classroom demo, not a benchmark, and its “ePlace” and “RePlAce” are teaching labels, explained under Setup.

The problem · Setup · Step size · Cell inflation · Macros · Final numbers · Limits · Sources

Updated 3 November 2026. The original post of 25 April 2026 is kept at its own address.

1. The problem

Global placement minimizes total wirelength, usually measured as half-perimeter wirelength (HPWL), while limiting how densely cells pack. Analytic placers combine both goals in one smooth cost:

minimize  f(v) = W(v) + λ N(v)

W is a smooth wirelength model, N is a density penalty, and the weight λ grows during the run. Cells first gather to shorten wires, then spread out as density starts to matter more.

ePlace's density model, eDensity, treats every cell as a positive charge and the density cost as the potential energy of the system. Poisson's equation is solved with the fast Fourier transform, and the resulting field pushes cells from crowded bins toward empty ones. Nesterov's method then drives the optimization [1]. The slides tell the same story for high-school readers with classroom seats, repelling magnets and a skier.

2. Setup

Four solvers run on two problems with the same seed and the same hyperparameters.

ProblemInstance
P180 standard cells, no macros. Cells start clumped near the center.
P280 standard cells plus 5 fixed macros at the four corners and the center, each about 15% of the die width (cell_w = 0.15). All cells start on the center macro.
Step ruleNo inflationCell inflation
Fixed αePlaceePlace + R
Adaptive αRePlAceRePlAce + R

Shared settings: α₀ = 0.02; λ starts at 1 and grows by a factor of 1.025 per iteration, up to 400; 200 iterations; seed 2. Inflation: starts at iteration 70, period 15, strength 1.1, cap 2.0. Fig. 1 runs the same schedule for 240 iterations.

What the labels mean. The demo changes only how the step size α is chosen. Here “ePlace” means the electrostatic placer with a fixed α, and “RePlAce” means the same placer with a Lipschitz-predicted α. That is a teaching contrast, not a description of the published tools. Published ePlace already predicts its step from the Lipschitz constant [1], and ePlace-MS adds backtracking [2]. RePlAce's two main levers are constraint-oriented local smoothing and dynamic adaptation of the factor that scales λ, guided by the HPWL curve [3]. Neither is in this demo, where every run follows the same λ schedule. In these terms, the run labeled RePlAce is closer to published ePlace.
MetricMeaning
HPWLTotal half-perimeter wirelength, in demo units.
OverflowShare of cell area above the target density. ePlace stops at 0.10 [1].
Peak/utilDensity of the fullest bin divided by the target density.
Late HPWL stdSpread of HPWL over the final iterations. HPWL is still rising there, so this mixes ripple with the upward trend.
Cells inside macrosCell centers inside a macro at the end of the run.

3. Step size: fixed vs. adaptive α

Animation of cells spreading from a central clump under fixed and adaptive step sizes, with HPWL and step size traces
Fig. 1. P1 over 240 iterations: fixed α (left), adaptive α (center), HPWL and α traces (right). Click any figure for full size.

The fixed α = 0.02 sits above the Lipschitz-predicted step for the whole run. The adaptive α stays mostly between 0.008 and 0.016 and drops to about 0.004 at the end. The early cost of the larger step is plain: at iteration 48, fixed α is at HPWL 12.5 while adaptive α has tightened to 4.2.

By iteration 150 the two runs are close again (HPWL 22.67 and 21.53). As λ grows, the cost gets stiffer and the largest stable step shrinks. The adaptive α follows that limit, but a fixed α cannot. After iteration 210 the fixed-α overflow turns back up, from 0.41 to 0.46, while the adaptive run falls to 0.37. The HPWL gap doubles in the last dozen iterations.

IterλFixed α
HPWL
ovAdaptive α
HPWL
ovGap
483.412.520.894.160.91−66.8%
15041.622.670.5621.530.57−5.0%
198136.230.990.4229.470.43−4.9%
219228.733.350.4231.520.39−5.5%
228285.634.650.4332.280.37−6.8%
237356.737.140.4632.730.37−11.9%
239374.838.10.4632.80.37−13.9%
Table 1. Where you stop decides the gap. P1, 240-iteration run; ov = overflow. Values from the title bar of Fig. 1, and from Fig. 2 for iteration 239 (λ computed from the schedule).

This reconciles two numbers that look like a conflict. The slides quote −14%, which is the iteration-239 value. The final runs in Table 2 give −4.2%, because they stop after 200 iterations, before the fixed step loses stability. Those are separate runs, so their values differ slightly from the iteration-198 row above.

Eight placement snapshots in two rows, fixed step above and adaptive step below
Fig. 2. Snapshots at iterations 0, 50, 130 and 239: fixed α (top), adaptive α (bottom). Cyan dots are cells; brighter color means higher density.

4. Cell inflation: making room for wires

Short wires do not help if the router cannot fit them. RePlAce's routability mode calls a global router during placement, finds congested regions, and inflates the cells there so that the density force spreads them apart [3]. The demo keeps the idea in simple form. It inflates cells every 15 iterations from iteration 70 (strength 1.1, cap 2.0), and by iteration 198 the mean inflation on P1 is 1.51.

Animation of three placements with HPWL, overflow and peak density traces
Fig. 3. P1 over 200 iterations: ePlace (left), RePlAce (center), RePlAce + R (right), with HPWL, overflow and peak/target traces.

The effect depends on the step rule. With adaptive α, inflation lowers peak density by 35% (5.87 to 3.81) and adds 16% HPWL. With fixed α it lowers the peak by only 6%. A likely reason is that inflation makes the problem stiffer, which a fixed step handles poorly, but one run cannot prove that.

Three final placements; the third has visibly more evenly spread density
Fig. 4. Final P1 placements: ePlace, RePlAce, RePlAce + R. HPWL 30.8, 29.5, 34.2; peak/util 5.5, 5.9, 3.8.

5. Macros: cells flow around obstacles

Real chips also contain macros such as memory blocks, far larger than standard cells. ePlace's density model needs no special handling for them: a macro is simply a large charge [2]. In P2, all 80 cells start on the center macro, and the density force drives them off the macros and around them.

Animation of cells spreading around five fixed macros in three runs, with HPWL, overflow and macro overlap traces
Fig. 5. P2 over 200 iterations: same three solvers, with HPWL, overflow and macro-overlap traces.
Eight snapshots of cells leaving the center macro, ePlace above and RePlAce plus inflation below
Fig. 6. Snapshots at iterations 0, 30, 80 and 199: ePlace (top), RePlAce + R (bottom).

Inflation does not help here. Against its own baseline it raises peak density by 5–6% and adds 9–12% HPWL (Table 4). Cells left inside macros go 0, 1, 2 across ePlace, RePlAce and RePlAce + R (Fig. 7). Counts this small on one seed call for a multi-seed rerun; they are not yet a trend.

Three final placements around five macros
Fig. 7. Final P2 placements: ePlace, RePlAce, RePlAce + R. HPWL 44.2, 43.5, 47.5; cells inside macros 0, 1, 2.

Fig. 6 reports overlap = 5 for RePlAce + R and Fig. 7 reports 2, but the final layout is the same. Two cell centers lie inside a macro, and three more sit next to a macro edge.

Published ePlace-MS goes further: macros move during placement, a simulated annealer legalizes them, and a second placement pass re-optimizes the cells [2]. In this demo macros never move, and cells left inside them would fall to a later legalization step.

6. Final numbers

Eight runs, 200 iterations, seed 2. Lower is better in every column, and the best value in each column is in bold.

SolverHPWLOverflowPeak/utilLate
HPWL std
ePlace30.830.4215.471.84
ePlace + R35.250.4045.121.15
RePlAce29.530.4225.871.72
RePlAce + R34.210.3823.810.92
Table 2. P1, standard cells only.
SolverHPWLOverflowPeak/utilInside
macros
ePlace44.200.2714.060
ePlace + R49.590.2864.310
RePlAce43.470.2633.871
RePlAce + R47.480.2684.082
Table 3. P2, 80 cells and 5 fixed macros. Inside macros = cell centers inside a macro.

Each row of Table 4 changes one factor, so the effects stay separate.

One changeP1 HPWLP1 peakP2 HPWLP2 peak
Fixed to adaptive α, no inflation−4.2%+7.3%−1.7%−4.7%
Fixed to adaptive α, with inflation−3.0%−25.6%−4.3%−5.3%
Inflation on, fixed α+14.3%−6.4%+12.2%+6.2%
Inflation on, adaptive α+15.8%−35.1%+9.2%+5.4%
Table 4. Like-for-like changes, recomputed from Tables 2 and 3. The results page measures every row against ePlace, so its −30% and +0.4% for RePlAce + R combine both factors.
ePlace (fixed α)RePlAce (adaptive α)Peak/util (lower is better)P1: no macros456303336HPWL (lower is better)ePlace: HPWL 30.83 to 35.25, peak/util 5.47 to 5.12 with inflationePlace−6%RePlAce: HPWL 29.53 to 34.21, peak/util 5.87 to 3.81 with inflationRePlAce−35%P2: five fixed macros456444750HPWL (lower is better)ePlace: HPWL 44.20 to 49.59, peak/util 4.06 to 4.31 with inflationePlace+6%RePlAce: HPWL 43.47 to 47.48, peak/util 3.87 to 4.08 with inflationRePlAce+5%
Fig. 8. What inflation does to each base solver. Each arrow runs from the run without inflation (dot) to the run with it (arrowhead). Percentages are the change in peak/util. Same data as Tables 2 and 3.

On this instance, RePlAce + R suits the standard-cell design if peak density matters more than wirelength. Plain RePlAce is the best of the four on the macro design: it has the lowest HPWL, overflow and peak density, though one cell stays inside a macro.

7. What this demo does not show

  • One seed, 80 cells. Gaps of a few percent, or of one or two cells, may not survive other seeds.
  • Not converged. The runs stop at overflow 0.26–0.42, with peak density still 3.8–5.9 times the target. ePlace runs down to overflow 0.10 [1], the default target in OpenROAD as well [4]. HPWL here is a mid-run value, and the solvers stop at different overflow.
  • Density is not routed congestion. Peak/util comes from the density map. RePlAce's routability results were assessed with a global router [3].
  • Published margins measure something else. RePlAce reports an average 2.00% HPWL reduction over best-known ISPD-2005 and ISPD-2006 results, 2.73% over best-known MMS results, and 8.50% to 9.59% scaled HPWL over leading academic placers on DAC-2012 and ICCAD-2012 [3].

8. Materials and sources

[1] J. Lu, P. Chen, C.-C. Chang, L. Sha, D. J.-H. Huang, C.-C. Teng and C.-K. Cheng, “ePlace: Electrostatics-based placement using fast Fourier transform and Nesterov's method,” ACM TODAES, vol. 20, no. 2, art. 17, 2015. doi:10.1145/2699873

[2] J. Lu, H. Zhuang, P. Chen, H. Chang, C.-C. Chang, Y.-C. Wong, L. Sha, D. Huang, Y. Luo, C.-C. Teng and C.-K. Cheng, “ePlace-MS: Electrostatics-based placement for mixed-size circuits,” IEEE TCAD, vol. 34, no. 5, pp. 685–698, 2015. doi:10.1109/TCAD.2015.2391263

[3] C.-K. Cheng, A. B. Kahng, I. Kang and L. Wang, “RePlAce: Advancing solution quality and routability validation in global placement,” IEEE TCAD, vol. 38, no. 9, pp. 1717–1730, 2019. doi:10.1109/TCAD.2018.2859220

[4] OpenROAD documentation: Global Placement (gpl is based on the open-source RePlAce) and Tcl usage (target overflow for termination, default 0.1).

沒有留言: