-
Notifications
You must be signed in to change notification settings - Fork 746
CTS: improve automatic clustering #8949
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
luis201420
wants to merge
27
commits into
The-OpenROAD-Project:master
Choose a base branch
from
luis201420:cts_improve_automatic_clustering
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+32
−75
Open
Changes from all commits
Commits
Show all changes
27 commits
Select commit
Hold shift + click to select a range
e016184
cts: disable flag to cluster sinks based on buffer max cap
luis201420 26fa4d9
Merge remote-tracking branch 'origin' into cts_improve_automatic_clus…
luis201420 adf7f6b
cts: restore flag to cluster sinks based on buffer max cap
luis201420 50580eb
cts: check the size and diameter of the cluster along with the buffer…
luis201420 fee9431
Merge remote-tracking branch 'origin' into cts_improve_automatic_clus…
luis201420 fc819e3
cts: check the cluster diameter along with the buffer max cap
luis201420 b0ec02b
cts: use the defined diameters from options
luis201420 ecf7719
cts: use the row height to calculate the cluster diameters
luis201420 3e4c818
cts: remove print
luis201420 f31b5f2
Merge remote-tracking branch 'origin' into cts_improve_automatic_clus…
luis201420 a440b1a
Merge remote-tracking branch 'origin' into cts_improve_automatic_clus…
luis201420 4b19b7f
cts: remove the iterations to find the best cluster size and diameter
luis201420 f21fdad
cts: use a buffer max cap when only the cluster size or diameter is d…
luis201420 c0cf033
Merge remote-tracking branch 'origin' into cts_improve_automatic_clus…
luis201420 efd6fcb
cts: fix bug in the constructor
luis201420 d5b19bc
Merge remote-tracking branch 'origin' into cts_improve_automatic_clus…
luis201420 0d5fc3c
Merge remote-tracking branch 'origin' into cts_improve_automatic_clus…
luis201420 8f2e44d
Merge remote-tracking branch 'origin' into cts_improve_automatic_clus…
luis201420 c4f6ffb
Merge remote-tracking branch 'origin' into cts_improve_automatic_clus…
luis201420 7f035e6
Merge remote-tracking branch 'origin' into cts_improve_automatic_clus…
luis201420 52cab31
Merge remote-tracking branch 'origin' into cts_improve_automatic_clus…
luis201420 b6a1152
cts: remove unnecessary code and restore master version
luis201420 f27a6d4
cts: remove unused variables and related functions
luis201420 54d2df3
cts: remove obsolete conditional cases
luis201420 a770a97
Merge remote-tracking branch 'origin' into cts_improve_automatic_clus…
luis201420 d528a59
cts: define the cluster size directly when it is not user-defined
luis201420 9221bbc
Merge remote-tracking branch 'origin' into cts_improve_automatic_clus…
luis201420 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
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
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
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -28,9 +28,15 @@ SinkClustering::SinkClustering(const CtsOptions* options, | |
| techChar_(techChar), | ||
| maxInternalDiameter_(10), | ||
| capPerUnit_(0.0), | ||
| use_max_diameter_((HTree->getTreeType() == TreeType::MacroTree) | ||
| ? options->isMacroMaxDiameterSet() | ||
| : options->isMaxDiameterSet()), | ||
| use_max_size_((HTree->getTreeType() == TreeType::MacroTree) | ||
| ? options->isMacroSinkClusteringSizeSet() | ||
| : options->isSinkClusteringSizeSet()), | ||
| useMaxCapLimit_((HTree->getTreeType() == TreeType::MacroTree) | ||
| ? false | ||
| : options->getSinkClusteringUseMaxCap()), | ||
| : !(use_max_size_ && use_max_diameter_)), | ||
| scaleFactor_(1), | ||
| HTree_(HTree) | ||
| { | ||
|
|
@@ -415,7 +421,17 @@ bool SinkClustering::isLimitExceeded(const unsigned size, | |
| const unsigned sizeLimit) | ||
| { | ||
| if (useMaxCapLimit_) { | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think this if statement can be a bit different now that we define when to use each of the limits. suggestion: like this we don't need to separate into 2 different cases useMaxCap and not useMaxCap |
||
| return (capCost > options_->getSinkBufferInputCap() * max_cap__factor_); | ||
| bool is_limit_exceeded | ||
| = (capCost > options_->getSinkBufferInputCap() * max_cap__factor_); | ||
| // size is defined by the user | ||
| if (use_max_size_) { | ||
| is_limit_exceeded |= (size >= sizeLimit); | ||
| } | ||
| // diameter is defined by the user | ||
| if (use_max_diameter_) { | ||
| is_limit_exceeded |= (cost > maxInternalDiameter_); | ||
| } | ||
| return is_limit_exceeded; | ||
| } | ||
|
|
||
| return (size >= sizeLimit || cost > maxInternalDiameter_); | ||
|
|
||
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
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
warning: no header providing "cts::TreeType" is directly included [misc-include-cleaner]
src/cts/src/SinkClustering.cpp:14: