Live Agent working · engine-01 Placer/router engine positioning
Back to SOTA Summary
OpenROAD

OpenROAD RePlAce, FastRoute, and TritonRoute

OpenROAD is not a PCB tool, but its architecture is highly relevant. It separates placement, global routing, and detailed routing, with routability/timing feedback loops and a detailed router descended from TritonRoute.

Class

Open-source IC placement, global routing, and detailed routing

Core Stance

A staged physical-design flow: analytical global placement, routability/timing feedback, global routing guides, then detailed routing with strict design-rule handling.

Page Sections
Architecture

How It Works

Global placement is based on RePlAce: analytic nonlinear placement using electrostatic density modeling and Nesterov optimization.

Routability-driven placement runs routing-demand estimation such as RUDY, inflates cells in congested tiles, and iterates until congestion metrics improve or stop improving.

Timing-driven placement can reweight nets with bad slack through OpenSTA/repair-design integration.

Global routing plans coarse route guides and congestion before exact detailed wires are committed.

Detailed routing is based on TritonRoute, which uses an in-memory database and end-to-end detailed-routing scheme aware of connectivity and design-rule constraints.

Comparison

Compared With Our Flow

Our placer already borrows the analytical/Nesterov family, but our routability loop is weaker and less calibrated.

Our router no longer jumps straight from placement to detailed paths: it now seeds global route-guide reservations and Pathfinder history before detailed A*. OpenROAD still has a more explicit global-routing database with guide ownership and violation reporting.

Our detailed route search has local sweeps/patches plus early pin-access and validation work. TritonRoute-style detailed routing treats guide compliance, pin access, and DRC legality as core objectives across the whole detailed router.

Our timing/electrical model is limited to net weights and diff-pair metadata. OpenROAD integrates timing and routability into placement decisions.

Gaps

Gaps It Exposes

Global capacity reservation exists and improved the compact board benchmark to 0 shorts / 8 actionable opens, but it is still not a full guide database with capacities, ownership, and guide-violation repair.

No calibrated RUDY/global-routing congestion heatmap that changes component sizes/weights during placement.

Pad-access filtering exists for patch routing and endpoint radial access is now enabled by default, but not yet a full dense-package pin-access oracle for every main-route endpoint and via site.

Strict pre-commit geometry validation exists for rescue/patch candidates, but main sequential route commit still relies too much on retries, sweeps, and later rollback.

Actions

What We Should Steal

Promote global capacity reservation into a full global-routing stage: per-net route guides, layer demand, congestion maps, capacities, ownership, and guide-violation repair before detailed A*.

Feed congestion back into placement as inflation, not just net-weight boosts.

Build a pin-access oracle for every pad and branch: legal access points, via candidates, escape channels, and blocker explanations before A* starts.

Make detailed routing transactional: routes should prefer guide boxes, pre-validate every committed branch, shove blockers when necessary, and report guide violations separately from DRC.

Sources
Other SOTA Pages