-
Notifications
You must be signed in to change notification settings - Fork 1k
web: add a Clusters panel and a cluster coloring overlay #11122
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
jorge-ferreira-pii
wants to merge
13
commits into
The-OpenROAD-Project:master
Choose a base branch
from
The-OpenROAD-Project-staging:feature-MPL-cluster
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.
Open
Changes from all commits
Commits
Show all changes
13 commits
Select commit
Hold shift + click to select a range
dfb7cc1
web: add a Clusters panel and a cluster coloring overlay
jorge-ferreira-pii 4a20e9b
web: move the Clusters panel into the Hierarchy tab
jorge-ferreira-pii 036fe54
web: keep a hidden Hierarchy view from collapsing its columns
jorge-ferreira-pii 8f74124
web: tidy up the hidden-view render fix
jorge-ferreira-pii 25265c5
mpl: revert the pre-existing dbGroup handling
jorge-ferreira-pii 79fbfab
web: name the Hierarchy panel's sources in its dropdown
jorge-ferreira-pii 656148b
web: hide the color overlays with the instances they fill
jorge-ferreira-pii 80cbc93
web: assert the overlay gate is per cell type
jorge-ferreira-pii 6c7007d
web: check the overlay color map before classifying the instance
jorge-ferreira-pii 90fc98f
Merge branch 'master' into feature-MPL-cluster
maliberty c305e41
web: give the find_objects union bbox its own key
maliberty a744a9b
Merge branch 'master' into feature-MPL-cluster
jorge-ferreira-pii 5100347
web: drive both hierarchy overlays from one Display Controls checkbox
jorge-ferreira-pii 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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -85,6 +85,25 @@ field and the value is `true` or `false`. | |
| | `rows` | false | Row outlines | | ||
| | `tracks_pref` | false | Preferred-direction tracks | | ||
| | `rudy` | false | Estimated congestion (RUDY) heatmap overlay | | ||
| | `module_view` | false | Color each instance by the `dbModule` it belongs to | | ||
| | `cluster_view` | false | Color each instance by the `dbGroup` (cluster) it belongs to | | ||
|
|
||
| Cluster coloring reads the `dbGroup`s that | ||
| [`rtl_macro_placer -keep_clustering_data`](../mpl/README.md) writes into the | ||
| database, so it is only useful after MPL has run with that option. Each | ||
| cluster gets its own palette color, and a cluster whose subtree is not | ||
| expanded lends its color to all of its descendants — the same default the | ||
| viewer's Instance Groups view shows. When the design has no groups the option | ||
| warns and the image is rendered as if it were off. | ||
|
|
||
| In the viewer both of the Hierarchy panel's views drive this coloring — Verilog | ||
| Modules through `module_view`, Instance Groups through `cluster_view`. A row's | ||
| checkbox decides whether that module or cluster paints, and in the Instance | ||
| Groups view a double click takes the view to the cluster. The colors show only | ||
| while the matching overlay is on, and the view's status line says so when it is | ||
| off. One "Hierarchy view" checkbox in Display Controls turns on whichever | ||
| overlay goes with the source the tab is showing; the two flags above are how the | ||
| headless `save_image` path asks for either one directly. | ||
|
|
||
| #### Examples | ||
|
|
||
|
|
@@ -111,6 +130,12 @@ save_image -web -display_option {routing false} \ | |
|
|
||
| # Save with RUDY congestion heatmap overlay | ||
| save_image -web -display_option {rudy true} layout_rudy.png | ||
|
|
||
| # Plot the MPL clustering result (one color per cluster) | ||
| rtl_macro_placer -keep_clustering_data | ||
| save_image -web -width 1200 \ | ||
| -display_option {cluster_view true} \ | ||
| clusters.png | ||
| ``` | ||
|
|
||
| ### Save Animated GIF | ||
|
|
@@ -450,7 +475,8 @@ them — something the single-window Qt GUI cannot do. | |
| paths, and view per-level statistics. | ||
| - **Hierarchy browser** — Navigate the module tree with instance counts and area | ||
| statistics. Toggle visibility and assign colors per module using a 31-color | ||
| palette. | ||
| palette. The same panel's Instance Groups view does this for the `dbGroup`s | ||
| MPL writes with `-keep_clustering_data`. | ||
|
Comment on lines
+478
to
+479
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. Ditto - not only for this situation. |
||
| - **Display controls** — Toggle visibility of cell types (stdcells, macros, | ||
| pads), net types (signal, power, clock), and shapes (routing, pins, blockages, | ||
| rows, tracks). The panel state can be saved to and restored from a file with | ||
|
|
||
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.
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.
The Instance Groups source should look at whatever groups that exist in ODB, so this is not accurate. Keeping MPL clusters is just one way of creating groups i.e., I don't think we should cite MPL here.