Skip to content

tap: prevent overlapping endcap edges in single-height rows between macros#10794

Open
eder-matheus wants to merge 6 commits into
The-OpenROAD-Project:masterfrom
The-OpenROAD-Project-staging:tap_overlap
Open

tap: prevent overlapping endcap edges in single-height rows between macros#10794
eder-matheus wants to merge 6 commits into
The-OpenROAD-Project:masterfrom
The-OpenROAD-Project-staging:tap_overlap

Conversation

@eder-matheus

Copy link
Copy Markdown
Member

Summary

Tapcell inserted both a PHY_EDGE_ROW_*_Top and a PHY_EDGE_ROW_*_Bottom cell into a single-height row bounded by macros above and below, producing overlapping endcap instances (and, in the same rows, overlaps between edge cells and inner corner cells). placeEndcapEdgeHorizontal now fills only the x-ranges not already occupied by another horizontal edge or a corner cell in that row. Extracted the interval math into computeOpenSpans and the fill loop into fillEndcapEdge.

Type of Change

  • Bug fix
  • Refactoring

Impact

Endcap edge cells no longer overlap in single-height rows between macros. Designs without this geometry are unaffected (fill ranges are identical), so existing outputs are unchanged.

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 included tests to prevent regressions.
  • I have signed my commits (DCO).

Related Issues

Fixes https://github.com/The-OpenROAD-Project-private/OpenROAD-flow-scripts/issues/1723

…acros

Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
…cros

Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
@eder-matheus eder-matheus self-assigned this Jul 1, 2026
@github-actions github-actions Bot added the size/M label Jul 1, 2026
@eder-matheus eder-matheus marked this pull request as ready for review July 1, 2026 16:44
@eder-matheus eder-matheus requested a review from a team as a code owner July 1, 2026 16:44
@eder-matheus eder-matheus requested a review from maliberty July 1, 2026 16:44
@eder-matheus

Copy link
Copy Markdown
Member Author

@codex review

@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 prevents overlapping endcap edge and corner cells from being placed in single-height rows between stacked macros. It introduces tracking of filled horizontal edges per row, computes open spans by subtracting existing blockers (occupied spans and corner cells), and places endcaps only within those open spans. A new test case single_row_macros is also added to verify this behavior. The review feedback suggests a minor performance optimization to pass the blockers vector using std::move to avoid an unnecessary copy.

Comment thread src/tap/src/tapcell.cpp Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7476e06dc4

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/tap/src/tapcell.cpp
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
…erlaps

Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
…laps

Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
@eder-matheus

Copy link
Copy Markdown
Member Author

@maliberty this is ready for final review.

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.

1 participant