Skip to content

DRT: handle guides below the bottom routing layer#10157

Merged
osamahammad21 merged 16 commits intoThe-OpenROAD-Project:masterfrom
The-OpenROAD-Project-staging:TR-guides-bottom-routing-layer
Apr 20, 2026
Merged

DRT: handle guides below the bottom routing layer#10157
osamahammad21 merged 16 commits intoThe-OpenROAD-Project:masterfrom
The-OpenROAD-Project-staging:TR-guides-bottom-routing-layer

Conversation

@openroad-ci
Copy link
Copy Markdown
Collaborator

Summary

In a test case, GuidesProcessor generated a long guide below the bottom routing layer which caused a mazerouteError. In this PR, I allow only via guides below the bottom routing layer except for ISPD designs which use long guides on M1.

Type of Change

  • Bug fix

Impact

Very minor indirect changes in the final result.

Verification

  • I have verified that the local build succeeds (./etc/Build.sh).
  • I have run the relevant tests and they pass.
  • My code follows the repository's formatting guidelines.
  • I have signed my commits (DCO).

Signed-off-by: osamahammad21 <osama21@aucegypt.edu>
Signed-off-by: osamahammad21 <osama21@aucegypt.edu>
Signed-off-by: osamahammad21 <osama21@aucegypt.edu>
Signed-off-by: osamahammad21 <osama21@aucegypt.edu>
Signed-off-by: osamahammad21 <osama21@aucegypt.edu>
Copy link
Copy Markdown
Contributor

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

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 introduces the DBPROCESSNODE configuration, specifically adding logic to handle 'ISPD' nodes within the guide processing stage. It enables a previously disabled validation check for non-ISPD nodes and adjusts the guide splitting logic to conditionally skip rectangle additions based on the layer and node type. Corresponding test cases have been updated to include the new parameter. A review comment identifies a redundant logical condition in GuideProcessor.cpp that could be simplified for better clarity.

Comment thread src/drt/src/io/GuideProcessor.cpp Outdated
@osamahammad21 osamahammad21 removed the request for review from maliberty April 16, 2026 12:10
Signed-off-by: osamahammad21 <osama21@aucegypt.edu>
Signed-off-by: osamahammad21 <osama21@aucegypt.edu>
@github-actions
Copy link
Copy Markdown
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@osamahammad21 osamahammad21 requested a review from maliberty April 16, 2026 13:47
@github-actions
Copy link
Copy Markdown
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@maliberty
Copy link
Copy Markdown
Member

Why not change the min routing layer for ispd if there are long guides on m1?

Signed-off-by: osamahammad21 <osama21@aucegypt.edu>
Signed-off-by: osamahammad21 <osama21@aucegypt.edu>
Signed-off-by: osamahammad21 <osama21@aucegypt.edu>
Signed-off-by: osamahammad21 <osama21@aucegypt.edu>
Signed-off-by: osamahammad21 <osama21@aucegypt.edu>
@github-actions
Copy link
Copy Markdown
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@osamahammad21
Copy link
Copy Markdown
Member

Why not change the min routing layer for ispd if there are long guides on m1?

Done. Shows some improvement in the initial number of DRVs
image

Copy link
Copy Markdown
Member

@maliberty maliberty left a comment

Choose a reason for hiding this comment

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

I'll leave it to you to clean the CI issues and merge

@osamahammad21
Copy link
Copy Markdown
Member

@sombraSoft @vvbandeira macOS build fails for a download failure:

WARNING: Download from https://github.com/keith/buildifier-prebuilt/releases/download/8.5.1.2/buildifier-prebuilt.8.5.1.2.tar.gz failed: class java.io.IOException GET returned 504 Gateway Time-out
INFO: Repository buildifier_prebuilt+ instantiated at:
  <builtin>: in <toplevel>
Repository rule http_archive defined at:
  /private/var/tmp/_bazel_runner/d729dbc1[76](https://github.com/The-OpenROAD-Project/OpenROAD/actions/runs/24606168224/job/71957315921?pr=10157#step:6:77)423a97322119b43f8d4f13/external/bazel_tools/tools/build_defs/repo/http.bzl:431:31: in <toplevel>
ERROR: /private/var/tmp/_bazel_runner/d729dbc176423a97322119b43f8d4f13/external/bazel_tools/tools/build_defs/repo/http.bzl:156:45: An error occurred during the fetch of repository 'buildifier_prebuilt+':
   Traceback (most recent call last):
	File "/private/var/tmp/_bazel_runner/d729dbc176423a97322119b43f8d4f13/external/bazel_tools/tools/build_defs/repo/http.bzl", line 156, column 45, in _http_archive_impl
		download_info = ctx.download_and_extract(
Error in download_and_extract: java.io.IOException: Error downloading [https://github.com/keith/buildifier-prebuilt/releases/download/8.5.1.2/buildifier-prebuilt.8.5.1.2.tar.gz] to /private/var/tmp/_bazel_runner/d729dbc176423a97322119b43f8d4f13/external/buildifier_prebuilt+/temp17599[81](https://github.com/The-OpenROAD-Project/OpenROAD/actions/runs/24606168224/job/71957315921?pr=10157#step:6:82)6873031144393/buildifier-prebuilt.8.5.1.2.tar.gz: GET returned 504 Gateway Time-out
ERROR: Analysis of target '//:openroad' failed; build aborted: no such package '@@buildifier_prebuilt+//': java.io.IOException: Error downloading [https://github.com/keith/buildifier-prebuilt/releases/download/8.5.1.2/buildifier-prebuilt.8.5.1.2.tar.gz] to /private/var/tmp/_bazel_runner/d729dbc176423a97322119b43f8d4f13/external/buildifier_prebuilt+/temp17599816873031144393/buildifier-prebuilt.8.5.1.2.tar.gz: GET returned 504 Gateway Time-out

@maliberty
Copy link
Copy Markdown
Member

I re-ran it twice and it then passed. Must have been some transient failure on the remote

@github-actions
Copy link
Copy Markdown
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@osamahammad21 osamahammad21 merged commit eb96090 into The-OpenROAD-Project:master Apr 20, 2026
16 checks passed
@openroad-ci openroad-ci deleted the TR-guides-bottom-routing-layer branch April 20, 2026 13:09
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.

3 participants