pdn: grid: limit via-repair shape extension to ring/domain boundary#10222
pdn: grid: limit via-repair shape extension to ring/domain boundary#10222dnltz wants to merge 1 commit into
Conversation
3703a45 to
1888719
Compare
There was a problem hiding this comment.
Code Review
This pull request modifies src/pdn/src/grid.cpp to prevent shapes from extending beyond the grid's allowed area during via repair. It introduces an allowed_area calculation that respects either the ring boundary or the domain boundary and adds containment checks for new lower and upper shapes. I have no feedback to provide as there were no review comments.
|
clang-tidy review says "All clean, LGTM! 👍" |
1 similar comment
|
clang-tidy review says "All clean, LGTM! 👍" |
|
I thought tests are only failing for me, because I have a |
|
@dnltz I think the actual issue is the obs from the padring isn't accounted for which causes the via to be accepted when it should have clearly been rejected. It's actually on my list to fix after my current tapeout because I ran into this as well, but I dont' have time to fix it properly until later. |
1888719 to
84e8476
Compare
Shape::extendTo() had no awareness of the grid boundary, allowing repairVias() to extend stripes through the padframe when a via landed at the ring edge. Now the extended shape is accepted only if it stays within getRingArea() (or getDomainBoundary() for ring-less grids). Signed-off-by: Daniel Schultz <dnltz@aesc-silicon.de>
84e8476 to
36f7ad6
Compare
|
clang-tidy review says "All clean, LGTM! 👍" |
1 similar comment
|
clang-tidy review says "All clean, LGTM! 👍" |
@gadfort I found this issue during my last tape-out and finally had time to look at it. Okay, Claude provided this fix... I don't have any urgent need for this fix. Might be better if you fix this since you have a better knowledge of the PDN sub-system. |
|
@dnltz maybe if you can raise an issue with a testcase I can take a look next month since it's an issue I'd like to get fixed, but it requires some changes to how obstructions are handled. It looks like this fix break a bunch of tests, which makes it unlikely that this is the correct solution. |
@gadfort Yes, I can do that and I agree. I don't think this is the correct solution either. |
|
close? |
|
This pull request has been automatically marked as stale because it has not had recent activity. It will be closed in 21 days if no further activity occurs. Remove the |


Summary
Shape::extendTo() had no awareness of the grid boundary, allowing repairVias() to extend stripes through the padframe when a via landed at the ring edge. Now the extended shape is accepted only if it stays within getRingArea() (or getDomainBoundary() for ring-less grids).
Type of Change
Impact
Should not have any impact except correct power ring/strips.
Verification
./etc/Build.sh).