pdn: prefer BTerms of same net name and avoid finding bterms for each shape#10606
Conversation
Signed-off-by: Peter Gadfort <gadfort@zeroasic.com>
Signed-off-by: Peter Gadfort <gadfort@zeroasic.com>
There was a problem hiding this comment.
Code Review
This pull request refactors how boundary terminals (dbBTerm) are handled and created during PDN generation. Instead of dynamically finding or creating dbBTerm instances inside individual shape-writing routines, they are now pre-allocated and mapped in PdnGen::writeToDb and passed down through the grid and grid components to the shapes. Additionally, any unused empty dbBTerm instances are cleaned up at the end of the database write. A new integration test has been added to verify behavior with multiple boundary terminals on a net. There are no review comments to address, and I have no additional feedback to provide.
|
@codex review |
|
Codex Review: Didn't find any major issues. Breezy! ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
|
Please address before mergin |
Signed-off-by: Peter Gadfort <peter.gadfort@gmail.com>
3c8215d
into
The-OpenROAD-Project:master
Summary
When multiple exisiting bterms are present on a net, prefer the one with the same name, otherwise fall back to the first one.
Also moves the bterm creation to the start of the database writing instead of at each shape (no impact but avoids a bunch of name lookups at the inner most part of the writing.
Type of Change
Impact
Avoids randomly selecting a bterm of a different name when one with the same name is available.
Verification
./etc/Build.sh).