-
Notifications
You must be signed in to change notification settings - Fork 864
grt: fix missing via for co-located pins on different layers #10044
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
Merged
eder-matheus
merged 10 commits into
The-OpenROAD-Project:master
from
The-OpenROAD-Project-staging:grt_fill_via
Apr 6, 2026
Merged
Changes from all commits
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
05d0191
grt: handle zero-length edges on get3DRoute
eder-matheus 0977de4
grt: fix fillVIA skipping zero-length edges with Steiner nodes
eder-matheus ecdf3aa
Merge branch 'master' of https://github.com/The-OpenROAD-Project/Open…
eder-matheus a600315
grt: small refactor
eder-matheus ad70863
grt: update ok files
eder-matheus b1f4eeb
grt: fix isCoveringPin function
eder-matheus 2f4349e
grt: add unit test for colocated pins on different layers
eder-matheus ed4cfb5
grt: remove duplicated code
eder-matheus 75a5c58
Merge branch 'master' of https://github.com/The-OpenROAD-Project-priv…
eder-matheus 0e2d771
Merge branch 'master' of https://github.com/The-OpenROAD-Project/Open…
eder-matheus 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
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 |
|---|---|---|
| @@ -0,0 +1,60 @@ | ||
| VERSION 5.8 ; | ||
| NAMESCASESENSITIVE ON ; | ||
| DIVIDERCHAR "/" ; | ||
| BUSBITCHARS "[]" ; | ||
| DESIGN colocated_pins ; | ||
| UNITS DISTANCE MICRONS 2000 ; | ||
| DIEAREA ( 0 0 ) ( 60000 60000 ) ; | ||
| ROW ROW_0 FreePDK45_38x28_10R_NP_162NW_34O 3800 2800 FS DO 137 BY 1 STEP 380 0 ; | ||
| ROW ROW_1 FreePDK45_38x28_10R_NP_162NW_34O 3800 5600 N DO 137 BY 1 STEP 380 0 ; | ||
| ROW ROW_2 FreePDK45_38x28_10R_NP_162NW_34O 3800 8400 FS DO 137 BY 1 STEP 380 0 ; | ||
| ROW ROW_3 FreePDK45_38x28_10R_NP_162NW_34O 3800 11200 N DO 137 BY 1 STEP 380 0 ; | ||
| ROW ROW_4 FreePDK45_38x28_10R_NP_162NW_34O 3800 14000 FS DO 137 BY 1 STEP 380 0 ; | ||
| ROW ROW_5 FreePDK45_38x28_10R_NP_162NW_34O 3800 16800 N DO 137 BY 1 STEP 380 0 ; | ||
| ROW ROW_6 FreePDK45_38x28_10R_NP_162NW_34O 3800 19600 FS DO 137 BY 1 STEP 380 0 ; | ||
| ROW ROW_7 FreePDK45_38x28_10R_NP_162NW_34O 3800 22400 N DO 137 BY 1 STEP 380 0 ; | ||
| ROW ROW_8 FreePDK45_38x28_10R_NP_162NW_34O 3800 25200 FS DO 137 BY 1 STEP 380 0 ; | ||
| ROW ROW_9 FreePDK45_38x28_10R_NP_162NW_34O 3800 28000 N DO 137 BY 1 STEP 380 0 ; | ||
| ROW ROW_10 FreePDK45_38x28_10R_NP_162NW_34O 3800 30800 FS DO 137 BY 1 STEP 380 0 ; | ||
| ROW ROW_11 FreePDK45_38x28_10R_NP_162NW_34O 3800 33600 N DO 137 BY 1 STEP 380 0 ; | ||
| ROW ROW_12 FreePDK45_38x28_10R_NP_162NW_34O 3800 36400 FS DO 137 BY 1 STEP 380 0 ; | ||
| ROW ROW_13 FreePDK45_38x28_10R_NP_162NW_34O 3800 39200 N DO 137 BY 1 STEP 380 0 ; | ||
| ROW ROW_14 FreePDK45_38x28_10R_NP_162NW_34O 3800 42000 FS DO 137 BY 1 STEP 380 0 ; | ||
| ROW ROW_15 FreePDK45_38x28_10R_NP_162NW_34O 3800 44800 N DO 137 BY 1 STEP 380 0 ; | ||
| ROW ROW_16 FreePDK45_38x28_10R_NP_162NW_34O 3800 47600 FS DO 137 BY 1 STEP 380 0 ; | ||
| ROW ROW_17 FreePDK45_38x28_10R_NP_162NW_34O 3800 50400 N DO 137 BY 1 STEP 380 0 ; | ||
| ROW ROW_18 FreePDK45_38x28_10R_NP_162NW_34O 3800 53200 FS DO 137 BY 1 STEP 380 0 ; | ||
| TRACKS X 190 DO 158 STEP 380 LAYER metal1 ; | ||
| TRACKS Y 140 DO 214 STEP 280 LAYER metal1 ; | ||
| TRACKS X 190 DO 158 STEP 380 LAYER metal2 ; | ||
| TRACKS Y 140 DO 214 STEP 280 LAYER metal2 ; | ||
| TRACKS X 190 DO 158 STEP 380 LAYER metal3 ; | ||
| TRACKS Y 140 DO 214 STEP 280 LAYER metal3 ; | ||
| TRACKS X 190 DO 107 STEP 560 LAYER metal4 ; | ||
| TRACKS Y 140 DO 107 STEP 560 LAYER metal4 ; | ||
| TRACKS X 190 DO 107 STEP 560 LAYER metal5 ; | ||
| TRACKS Y 140 DO 107 STEP 560 LAYER metal5 ; | ||
| TRACKS X 190 DO 107 STEP 560 LAYER metal6 ; | ||
| TRACKS Y 140 DO 107 STEP 560 LAYER metal6 ; | ||
| TRACKS X 190 DO 38 STEP 1600 LAYER metal7 ; | ||
| TRACKS Y 140 DO 38 STEP 1600 LAYER metal7 ; | ||
| TRACKS X 190 DO 38 STEP 1600 LAYER metal8 ; | ||
| TRACKS Y 140 DO 38 STEP 1600 LAYER metal8 ; | ||
| TRACKS X 190 DO 19 STEP 3200 LAYER metal9 ; | ||
| TRACKS Y 140 DO 19 STEP 3200 LAYER metal9 ; | ||
| TRACKS X 190 DO 19 STEP 3200 LAYER metal10 ; | ||
| TRACKS Y 140 DO 19 STEP 3200 LAYER metal10 ; | ||
| COMPONENTS 6 ; | ||
| - load_tl BUF_X1 + PLACED ( 3800 53200 ) N ; | ||
| - load_tr BUF_X1 + PLACED ( 52060 53200 ) N ; | ||
| - load_bl BUF_X1 + PLACED ( 3800 2800 ) N ; | ||
| - load_br BUF_X1 + PLACED ( 52060 2800 ) N ; | ||
| - u_m4 CELL_M4_PIN + PLACED ( 28500 25200 ) N ; | ||
| - u_m3 CELL_M3_PIN + PLACED ( 30020 25200 ) N ; | ||
| END COMPONENTS | ||
| PINS 0 ; | ||
| END PINS | ||
| NETS 1 ; | ||
| - test_net ( load_tl A ) ( load_tr A ) ( load_bl A ) ( load_br A ) ( u_m4 A ) ( u_m3 Z ) + USE SIGNAL ; | ||
| END NETS | ||
| END DESIGN |
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 |
|---|---|---|
| @@ -0,0 +1,17 @@ | ||
| test_net | ||
| ( | ||
| 0 22800 5700 60000 metal2 | ||
| 0 51300 5700 60000 metal1 | ||
| 28500 22800 60000 28500 metal3 | ||
| 51300 22800 60000 28500 metal2 | ||
| 51300 22800 60000 60000 metal2 | ||
| 51300 51300 60000 60000 metal1 | ||
| 0 0 5700 28500 metal2 | ||
| 0 0 5700 5700 metal1 | ||
| 28500 22800 34200 28500 metal3 | ||
| 28500 22800 34200 28500 metal4 | ||
| 51300 0 60000 28500 metal2 | ||
| 51300 0 60000 5700 metal1 | ||
| 0 22800 5700 28500 metal2 | ||
| 0 22800 34200 28500 metal3 | ||
| ) |
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 |
|---|---|---|
| @@ -0,0 +1,79 @@ | ||
| VERSION 5.6 ; | ||
| BUSBITCHARS "[]" ; | ||
| DIVIDERCHAR "/" ; | ||
|
|
||
| # Cells with signal pins on metal4 and metal3 respectively. | ||
| # Used to test that fillVIA creates a via stack when two pins from | ||
| # different cells land in the same gcell on different routing layers. | ||
|
|
||
| MACRO CELL_M4_PIN | ||
| CLASS CORE ; | ||
| ORIGIN 0 0 ; | ||
| FOREIGN CELL_M4_PIN 0 0 ; | ||
| SIZE 0.76 BY 1.4 ; | ||
| SYMMETRY X Y ; | ||
| SITE FreePDK45_38x28_10R_NP_162NW_34O ; | ||
| PIN A | ||
| DIRECTION INPUT ; | ||
| USE SIGNAL ; | ||
| PORT | ||
| LAYER metal4 ; | ||
| RECT 0.28 0.525 0.42 0.875 ; | ||
| END | ||
| END A | ||
| PIN VDD | ||
| DIRECTION INOUT ; | ||
| USE POWER ; | ||
| SHAPE ABUTMENT ; | ||
| PORT | ||
| LAYER metal1 ; | ||
| RECT 0 1.315 0.76 1.485 ; | ||
| END | ||
| END VDD | ||
| PIN VSS | ||
| DIRECTION INOUT ; | ||
| USE GROUND ; | ||
| SHAPE ABUTMENT ; | ||
| PORT | ||
| LAYER metal1 ; | ||
| RECT 0 -0.085 0.76 0.085 ; | ||
| END | ||
| END VSS | ||
| END CELL_M4_PIN | ||
|
|
||
| MACRO CELL_M3_PIN | ||
| CLASS CORE ; | ||
| ORIGIN 0 0 ; | ||
| FOREIGN CELL_M3_PIN 0 0 ; | ||
| SIZE 0.76 BY 1.4 ; | ||
| SYMMETRY X Y ; | ||
| SITE FreePDK45_38x28_10R_NP_162NW_34O ; | ||
| PIN Z | ||
| DIRECTION OUTPUT ; | ||
| USE SIGNAL ; | ||
| PORT | ||
| LAYER metal3 ; | ||
| RECT 0.28 0.525 0.42 0.875 ; | ||
| END | ||
| END Z | ||
| PIN VDD | ||
| DIRECTION INOUT ; | ||
| USE POWER ; | ||
| SHAPE ABUTMENT ; | ||
| PORT | ||
| LAYER metal1 ; | ||
| RECT 0 1.315 0.76 1.485 ; | ||
| END | ||
| END VDD | ||
| PIN VSS | ||
| DIRECTION INOUT ; | ||
| USE GROUND ; | ||
| SHAPE ABUTMENT ; | ||
| PORT | ||
| LAYER metal1 ; | ||
| RECT 0 -0.085 0.76 0.085 ; | ||
| END | ||
| END VSS | ||
| END CELL_M3_PIN | ||
|
|
||
| END LIBRARY |
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.
Uh oh!
There was an error while loading. Please reload this page.