drt: violation access points take precedent when returning from patterns - #11095
Draft
bnmfw wants to merge 1 commit into
Draft
drt: violation access points take precedent when returning from patterns#11095bnmfw wants to merge 1 commit into
bnmfw wants to merge 1 commit into
Conversation
Signed-off-by: bnmfw <bernardoborgessandoval@gmail.com>
Contributor
There was a problem hiding this comment.
Code Review
This pull request optimizes the FlexPA::getEdgeCost function in src/drt/src/pa/FlexPA_acc_pattern.cpp by moving the violation access point check earlier in the execution flow. The review feedback suggests a further performance optimization: since virtual source and sink nodes are never present in viol_access_points, checking if the nodes are virtual before querying the set can prevent unnecessary overhead in this performance-critical innermost loop.
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
On cases where only a single pin on an instance exists (usually tie instances) they are only connected to the virtual nodes during access pattern. Because virtual issues always returned 0 as their edge cost any access point would be considered valid, and furthermore only the first one would ever be considered. This moves the violation access point check to before that so that a pattern on a single pin instance can fail if the chosen access point is of violation type.
Type of Change
Impact
Fixes the corner case when access patterns on single pin instances would not generate if the first pin had a violation during access pattern commit.
Verification
./etc/Build.sh).Related Issues
Fixes #10955