Skip to content

pdn: check via enclosure and try again when merging changes width - #11212

Open
gadfort wants to merge 3 commits into
The-OpenROAD-Project:masterfrom
gadfort:pdn-check-merged-enclosure
Open

pdn: check via enclosure and try again when merging changes width#11212
gadfort wants to merge 3 commits into
The-OpenROAD-Project:masterfrom
gadfort:pdn-check-merged-enclosure

Conversation

@gadfort

@gadfort gadfort commented Aug 23, 2026

Copy link
Copy Markdown
Contributor

Summary

Closes #11129
Iteratively resolves the stacked vias to ensure they are re-evaluated on changes.

Type of Change

  • Bug fix

Impact

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

#11129

Signed-off-by: Peter Gadfort <gadfort@zeroasic.com>

@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 updates the via generation logic in the PDN module to correctly handle width-conditioned rules on shared routing layers in a via stack by iteratively rebuilding the stack based on the merged metal widths. It also transitions via storage to use std::unique_ptr for safer memory management. The review feedback suggests several improvements: updating getLowerHeight and getUpperHeight to handle horizontal shared routing layers, resolving signed/unsigned comparison warnings by using size_t in loops, adding a maximum iteration limit to the rebuilding loop to prevent infinite loops, and adding default member initializers to the Constraint struct to avoid uninitialized variables.

Comment thread src/pdn/src/via.cpp
Comment thread src/pdn/src/via.cpp
Comment thread src/pdn/src/connect.cpp Outdated
Comment thread src/pdn/src/connect.cpp Outdated
Comment thread src/pdn/src/via.cpp Outdated
Comment thread src/pdn/src/connect.cpp
Comment thread src/pdn/src/via.h
Signed-off-by: Peter Gadfort <gadfort@zeroasic.com>
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.

pdn: stacked-via pads can violate width-conditioned LEF58_ENCLOSURE — per-via check passes, merged stack geometry is never validated

1 participant