Skip to content

drt: restore full routing-layer grid#10875

Open
naveenvenk17 wants to merge 1 commit into
The-OpenROAD-Project:masterfrom
naveenvenk17:nv-drt-restore-full-grid-10873
Open

drt: restore full routing-layer grid#10875
naveenvenk17 wants to merge 1 commit into
The-OpenROAD-Project:masterfrom
naveenvenk17:nv-drt-restore-full-grid-10873

Conversation

@naveenvenk17

Copy link
Copy Markdown
Contributor

Fixes #10873.

The failure bisects to 0fe62b1, which stopped adding routing layers above TOP_ROUTING_LAYER to FlexGridGraph. That loop builds the track maps used for maze coordinates and adjacent-layer via decisions as well as the z dimension, so trimming it changes routing topology rather than only removing unused storage.

Restore the previous full routing-layer grid and remove the fixed-object guards that were only needed by the trimmed z range. This gives DRT the same topology as before the regression; the memory optimization can be revisited once it preserves those routing invariants.

I ran the issue's supplied tiny_rocket/IHP130 replay on the GCP VM:

  • current master reproduced both DRT-0255 errors exactly at 50% and 70%, including the reported net, coordinates, and route boxes
  • this rollback completed iteration 0 without either path failure, completed iteration 1, and continued into iteration 2 until the 20-minute replay cap
  • current master used a 5-layer maze grid and peaked around 1.4 GB before aborting
  • the restored grid includes the upper technology layers and peaked around 1.9 GB during later optimization, which is the expected tradeoff for reverting the optimization

Repository checks:

  • all 26 //src/drt/test:all targets passed
  • Bazel --config=lint build for //src/drt:drt passed
  • stamped //:openroad build passed
  • clang-format --dry-run --Werror
  • git diff --check

Limiting the maze grid to TOP_ROUTING_LAYER changes its track and via topology and can leave otherwise routable nets without a path. Restore the full layer grid until the memory optimization can preserve routing behavior.

Signed-off-by: Naveen Venkat <archgen.guest@nyayanidhi.in>
@naveenvenk17 naveenvenk17 requested a review from a team as a code owner July 10, 2026 18:50
@github-actions

Copy link
Copy Markdown
Contributor

Welcome to OpenROAD! Thanks for opening your first PR.
Before we review:

Please ensure:

  • CI passes
  • Code is properly formatted
  • Tests are included where applicable
    A maintainer will review shortly!

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request removes the logic that limits grid graph layers and fixed-shape costing to the TOP_ROUTING_LAYER threshold. Specifically, it removes the layer-skipping checks based on the grid graph's minimum/maximum layer numbers and the top routing layer configuration in both FlexDR_init.cpp and FlexGridGraph.cpp. There are no review comments, so I have no feedback to provide.

@maliberty

Copy link
Copy Markdown
Member

@mguthaus FYI

@mguthaus

Copy link
Copy Markdown
Contributor

Sounds like it's best to keep it removed. I'm not an expert in the DRT module and was just going for an easy reduction but obviously this isn't that.

@osamahammad21

Copy link
Copy Markdown
Member

The regression is narrower than the grid needing the full stack. The top routing layer gets its wrong-way edges from the tracks of the layer above it, and those track coords also feed the maze x/y coordinate union. So trimming the upper layers out of initTracks deleted all wrong-way edges on the top routing layer plus some nodes below, which is what breaks the maze search here.

None of that needs grid z-planes above the top routing layer, and that's where the memory win comes from. So we can keep collecting tracks one layer above TOP_ROUTING_LAYER while still trimming the z dimension.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

DRT Maze Route cannot find path failure

4 participants