packages/chip/docs/pd/macro-placement.md
This document records the e1 macro-placement strategy across three placers,
the post-route PPA validator that disciplines all three, and the "False Dawn"
controversy that frames the entire effort. It is the human-readable companion
to docs/evidence/pd/macro-placement-evidence.yaml and
research/alpha_chip_macro_placement/07_post_route_ppa/.
| Placer | Class | License | RL training cost | What it produces |
|---|---|---|---|---|
| OpenROAD (RTL-MP + macro placement step) | analytical + simulated annealing | open | none | baseline .plc per release run |
| AlphaChip (Google Circuit Training r0.0.4) | reinforcement-learning policy | open (Apache 2.0) | 8x V100 or 1x H200 multi-day | candidate .plc from a trained policy |
| DREAMPlace 4.0 | GPU-accelerated analytical | open | none | candidate .plc; macro_place_flag=1 |
All three placers emit a Circuit Training .plc (or DEF that we convert to
.plc via scripts/alphachip/convert_lefdef_to_pb.sh). That gives us one
common interchange format and one validator.
scripts/run_post_route_ppa.pyAlphaChip publishes a proxy cost (`wirelength_cost + 0.5 * congestion_cost
compare_proxy_costs.sh)..plc
(run_post_route_ppa.py).compare_proxy_costs.sh is now wired to call the validator after the proxy
step so the two deltas land in the same output directory.
Captured under
research/alpha_chip_macro_placement/05_experiments/ and
research/alpha_chip_macro_placement/06_e1_notes/:
| Placer | Proxy cost |
|---|---|
| OpenROAD baseline | 0.499 |
| AlphaChip (toy training) | 0.761 |
Interpretation: AlphaChip is worse here. The toy training run does not converge in a handful of iterations; this is consistent with the upstream Ariane recipe needing many-hour PPO runs.
| Placer | Proxy cost |
|---|---|
| OpenROAD baseline | 0.2379 |
| AlphaChip (longer run) | 0.2308 |
| Delta | -3.01 % proxy |
Interpretation: AlphaChip wins on proxy by 3 %. That is not PPA yet.
The post-route PPA validator is BLOCKED until we have hard macros in the
floorplan; see pd/macros/manifest.yaml. Without hard macros the AlphaChip
proxy win has zero PPA leverage because there is nothing to place.
The Mirhoseini et al. Nature 2021 paper claimed RL placement beat human designers on Google TPU blocks. Cheng et al. 2023 (arXiv 2302.11014) re-ran the experiment with reproducibility-strict protocol and found:
Google responded with the AlphaChip rebrand and updated benchmarks; the debate is not settled. Our position:
pd/macros/manifest.yaml.docs/evidence/pd/commercial-eda-gate.yaml).compare_proxy_costs.sh runs both proxy AND post-route PPA for the
OpenROAD baseline and at least one alternative placer (AlphaChip or
DREAMPlace).research/alpha_chip_macro_placement/07_post_route_ppa/.complete_local_evidence.Until then the gate fails closed.