pdn: prevent pad connections from targeting macro grid shapes (#10490)#10722
Open
saurav-fermions wants to merge 1 commit into
Open
pdn: prevent pad connections from targeting macro grid shapes (#10490)#10722saurav-fermions wants to merge 1 commit into
saurav-fermions wants to merge 1 commit into
Conversation
…enROAD-Project#10490) Pad direct connections (PadDirectConnectionStraps) snap to the closest valid STRIPE/RING target on a connectable layer. isTargetShape() accepted any such shape regardless of its owning grid. When a macro (instance) PDN grid is built before the core grid, its in-core stripes become visible target candidates; with no core target on the pad-connect layer near the pad, the pad connection snapped to a macro stripe and extended deep into the core. Reject shapes owned by an instance grid (Grid::kInstance) as pad-connect targets so pad connections only land on core/existing grid shapes. Add regression test pads_black_parrot_macro_grid (CMake + Bazel) that reproduces the symptom: baseline reports 99 pad connections extending into the core (worst reach ~1.4mm); with the fix, 0. Signed-off-by: Saurav Singh <saurav.singh@fermions.co>
Contributor
There was a problem hiding this comment.
Code Review
This pull request addresses issue #10490 by preventing pad direct connections from targeting shapes that belong to an instance (macro) grid. The PadDirectConnectionStraps::isTargetShape function has been updated to reject shapes associated with a Grid::kInstance type, ensuring that pad connections only snap to core or existing grid shapes. A new regression test, pads_black_parrot_macro_grid, has also been added to verify this fix. There are no review comments, so I have no feedback to provide.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Pad direct connections were extending into the core by snapping to shapes belonging to a macro/instance PDN grid. This prevents pad connections from targeting macro-grid shapes so they only land on the core power grid.
Type of Change
Impact
Pad connections no longer attach to macro-grid shapes.
Verification
ctest -R '^pdn\.'151/151.Related Issues
Fixes #10490
Developed with SAIGE, Fermions' autonomous RTL/EDA debugging agent; root-caused, tested, and signed off by the submitter (@saurav-fermions).