Skip to content

Comments

grt: do not update resources for pin access during incremental mode#9510

Open
openroad-ci wants to merge 6 commits intoThe-OpenROAD-Project:masterfrom
The-OpenROAD-Project-staging:grt_opt
Open

grt: do not update resources for pin access during incremental mode#9510
openroad-ci wants to merge 6 commits intoThe-OpenROAD-Project:masterfrom
The-OpenROAD-Project-staging:grt_opt

Conversation

@openroad-ci
Copy link
Collaborator

This PR has three main fixes:

  1. Avoid calling addResourcesForPinAccess function for designs that don't have macros/PADs;
  2. Avoid calling this same function during incremental iterations. This is important to avoid adding more resources than necessary in the incremental runs, which can lead to wrong congestion estimation.
  3. Avoid iterating the pins of every net. Instead, only iterate the pins of nets connected to PADs or macros.

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

Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

The pull request introduces optimizations to the addResourcesForPinAccess function by avoiding its execution for designs without macros or PADs, skipping it during incremental iterations, and filtering nets to only iterate over those connected to PADs or macros. While these changes improve efficiency and correctness in incremental mode, there are a few issues regarding the handling of BTerms (boundary pins) which are also PADs. Specifically, BTerms should trigger the has_macros_or_pads_ flag and the net-level isConnectedToPadOrMacro flag to ensure they are correctly processed when necessary. Additionally, the new has_macros_or_pads_ member should be reset in the clear() method to maintain consistency across multiple tool runs.

@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@eder-matheus
Copy link
Member

PR with metric updates: The-OpenROAD-Project/OpenROAD-flow-scripts#3914

@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants