PPAPlace: Differentiable Cross-Stage Objectives for Chip Placement Optimization
Organizations: University of Alberta Department of Electrical and Computer Engineering Edmonton, AB, Canada
Abstract
Macro placement significantly affects a chip's post-route performance, power, and area (PPA). Most placement methods optimize half-perimeter wirelength (HPWL) as the primary objective. However, recent benchmarking shows a near-zero correlation between HPWL and post-route timing metrics such as the worst negative slack (WNS) and total negative slack (TNS). As a result, all six evaluated artificial intelligence (AI) placers degraded PPA relative to the hierarchical baseline. Recent efforts have tried to train cross-stage predictors to close this gap. However, existing methods focus on macro-only representations and use pre-route metrics as training labels. A label fidelity study of ten circuits at four design flow stages reveals that HPWL and pre-route timing poorly reflect final post-route timing rankings. In contrast, post-global-routing achieves the best balance between final timing fidelity and label generation cost-effectiveness. Based on this finding, PPAPlace is a timing-driven differentiable surrogate predicting post-route PPA from macro and standard-cell placements. The surrogate is a dual-stream predictor that combines graph attention over the chip netlist with spatial convolution over the placement grid. It is trained on post-global-routing labels. The predicted WNS and TNS gradients flow end-to-end back to cell coordinates. PPAPlace exploits these gradients in two ways: as a co-objective injected into an analytical placer's optimization loop (PPAPlace-CoOpt), and as a post-placement refinement step that adjusts macro positions via projected gradient descent (PPAPlace-Refine). On five ChiPBench test circuits excluded from training, PPAPlace improves average WNS and TNS by 22% and 51% over the hierarchical baseline while preserving power and routability, using the same predictor without test-circuit retraining. Code is available at https://github.com/ValleyC/PPAPlace.
Figures & tables
| Stage | bp_be | bp_fe | bp_be12 | isa_npu | swerv | vga_lcd | ether | dft68 | mor1kx | ari133 | Avg | Time |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| (10) | (11) | (12) | (15) | (28) | (62) | (64) | (68) | (78) | (132) | (hrs) | ||
| HPWL | +.12 | +.08 | +.05 | +.14 | +.03 | 0.01 | ||||||
| Pre-CTS STA | +.15 | +.09 | +.18 | +.06 | +.22 | +.03 | +.12 | +.05 | 0.08 | |||
| Post-CTS | .83 | .64 | .71 | .38 | .25 | .47 | .19 | .77 | .38 | 0.14 | ||
| Post-GRT | .80 | .91 | .87 | .85 | .89 | .82 | .78 | .84 | .86 | .94 | .86 | 0.20 |
| swerv_wrap | ariane133 | black_parrot | bp_be | ariane136 | Average | |||||||||||||
| Method | WNS | TNS | Cong | WNS | TNS | Cong | WNS | TNS | Cong | WNS | TNS | Cong | WNS | TNS | Cong | WNS | TNS | Cong |
| Prior placement methods | ||||||||||||||||||
| Hier-RTLMP ( Kahng et al., 2024 ) | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 |
| DREAMPlace ‡ ( Lin et al., 2019 ) | 1.13 | 0.93 | 1.04 | 2.90 | 0.61 | 0.98 | 0.94 | 1.82 | 1.05 | 0.87 | 0.86 | 1.06 | 2.23 | 5.37 | 0.94 | 1.61 | 1.92 | 1.01 |
| DREAMPlace 4.0 ( Liao et al., 2022 ) | 1.02 | 0.88 | 1.05 | 1.65 | 0.58 | 0.99 | 0.91 | 1.30 | 1.06 | 0.82 | 0.83 | 1.08 | 1.45 | 2.85 | 0.96 | 1.17 | 1.29 | 1.03 |
| AutoDMP ‡ ( Agnesina et al., 2023 ) | 1.43 | 1.47 | 1.09 | 1.44 | 1.76 | 0.91 | 1.01 | 0.85 | 1.06 | 0.49 | 1.03 | 1.18 | 1.62 | 3.69 | 0.94 | 1.20 | 1.76 | 1.04 |
| swerv | ari133 | black | bp_be | ari136 | Avg. | |
|---|---|---|---|---|---|---|
| cos( WNS) | 0.49 | 0.58 | 0.51 | 0.62 | 0.43 | 0.53 |
| cos( TNS) | 0.43 | 0.49 | 0.46 | 0.53 | 0.37 | 0.46 |
| Metric | swerv | ari133 | black | bp_be | ari136 | bp_fe t | ether t | Avg. |
|---|---|---|---|---|---|---|---|---|
| Held-out (DREAMPlace) | ||||||||
| 0.74 | 0.81 | 0.77 | 0.83 | 0.72 | N/A | N/A | 0.77 | |
| 0.56 | 0.62 | 0.55 | 0.65 | 0.51 | N/A | N/A | 0.58 | |
| Top-5 | 60% | 80% | 60% | 80% | 60% | N/A | N/A | 68% |
| Cross-placer (RTLMP) | ||||||||
| 0.63 | 0.58 | 0.60 | 0.72 | 0.54 | 0.68 | 0.55 | 0.61 | |
| superblue16 | superblue18 | |||
|---|---|---|---|---|
| Method | WNS | TNS | WNS | TNS |
| DREAMPlace ( Lin et al., 2019 ) | ||||
| WireMask-EA ( Shi et al., 2023 ) | ||||
| ChiPFormer ( Lai et al., 2023 ) | ||||
| LaMPlace ( Geng et al., 2025 ) | ||||
| PPAPlace zero-shot | ||||
| Training labels | Architecture | (WNS) | Top-1 |
|---|---|---|---|
| Label stage representation | |||
| Pre-route STA | Macro-only poly. | 0.08 .02 | n/a |
| Pre-route STA | GAT+CNN | 0.13 .03 | 26% |
| Post-GRT | Macro-only poly. | 0.18 .02 | n/a |
| Post-GRT | GAT+CNN | 0.31 .02 | 52% |
| Label stage (GAT+CNN fixed) | |||