Skip to content

update metrics for GPL min congestion - #4491

Merged
vvbandeira merged 10 commits into
The-OpenROAD-Project:masterfrom
The-OpenROAD-Project-staging:secure-gpl-min-congestion-inflation
Sep 1, 2026
Merged

update metrics for GPL min congestion#4491
vvbandeira merged 10 commits into
The-OpenROAD-Project:masterfrom
The-OpenROAD-Project-staging:secure-gpl-min-congestion-inflation

Conversation

@gudeh

@gudeh gudeh commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Update metrics for OR PR: The-OpenROAD-Project/OpenROAD#10977

make update_ok for chameleon (sky130hd)...

designs/sky130hd/chameleon/rules-base.json updates:

Metric Old New Type
cts__timing__setup__ws -3.21 -2.96 Tighten
cts__timing__setup__tns -134.0 -172.0 Failing
globalroute__antenna_diodes_count 138 181 Failing
globalroute__timing__setup__ws -2.96 -2.82 Tighten
globalroute__timing__setup__tns -92.5 -151.0 Failing
detailedroute__antenna__violating__nets 0 1 Failing
detailedroute__antenna_diodes_count 119 162 Failing
finish__timing__setup__ws -2.52 -2.41 Tighten
finish__timing__setup__tns -85.6 -146.0 Failing

make update_ok for microwatt (sky130hd)...

designs/sky130hd/microwatt/rules-base.json updates:

Metric Old New Type
cts__timing__setup__ws -2.1 -2.08 Tighten
cts__timing__setup__tns -243.0 -226.0 Tighten
globalroute__antenna_diodes_count 3431 3061 Tighten
globalroute__timing__setup__ws -2.21 -2.03 Tighten
globalroute__timing__setup__tns -262.0 -208.0 Tighten
detailedroute__antenna__violating__nets 69 120 Failing
detailedroute__antenna_diodes_count 1425 1552 Failing
finish__timing__setup__ws -2.11 -1.91 Tighten
finish__timing__setup__tns -203.0 -171.0 Tighten

make update_ok for jpeg (sky130hs)...

designs/sky130hs/jpeg/rules-base.json updates:

Metric Old New Type
globalroute__antenna_diodes_count 100 111 Failing
globalroute__timing__setup__tns -3.0 -1.52 Tighten

make update_ok for swerv_wrapper (nangate45)...

designs/nangate45/swerv_wrapper/rules-base.json updates:

Metric Old New Type
cts__timing__setup__tns -463.0 -467.0 Failing
globalroute__timing__setup__tns -504.0 -545.0 Failing
finish__timing__setup__tns -442.0 -515.0 Failing

make update_ok for ibex (nangate45)...

designs/nangate45/ibex/rules-base.json updates:

Metric Old New Type
globalroute__timing__setup__ws -0.111 -0.11 Tighten
globalroute__timing__setup__tns -0.441 -0.44 Tighten
finish__timing__setup__tns -1.08 -1.81 Failing

Large percentage changes in failing metrics (>50%):

  • microwatt (sky130hd) detailedroute__antenna__violating__nets 73.91% (69 → 120)
  • chameleon (sky130hd) finish__timing__setup__tns 70.56% (-85.6 → -146.0)
  • ibex (nangate45) finish__timing__setup__tns 67.59% (-1.08 → -1.81)
  • chameleon (sky130hd) globalroute__timing__setup__tns 63.24% (-92.5 → -151.0)

gudeh added 9 commits July 23, 2026 13:24
Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
## make update_ok for chameleon (sky130hd)...
designs/sky130hd/chameleon/rules-base.json updates:
| Metric                                        | Old        | New        | Type     |
| ------                                        | ---        | ---        | ----     |
| cts__timing__setup__ws                        |      -3.21 |      -2.96 | Tighten  |
| cts__timing__setup__tns                       |     -134.0 |     -172.0 | Failing  |
| globalroute__antenna_diodes_count             |        138 |        181 | Failing  |
| globalroute__timing__setup__ws                |      -2.96 |      -2.82 | Tighten  |
| globalroute__timing__setup__tns               |      -92.5 |     -151.0 | Failing  |
| detailedroute__antenna__violating__nets       |          0 |          1 | Failing  |
| detailedroute__antenna_diodes_count           |        119 |        162 | Failing  |
| finish__timing__setup__ws                     |      -2.52 |      -2.41 | Tighten  |
| finish__timing__setup__tns                    |      -85.6 |     -146.0 | Failing  |

## make update_ok for microwatt (sky130hd)...
designs/sky130hd/microwatt/rules-base.json updates:
| Metric                                        | Old        | New        | Type     |
| ------                                        | ---        | ---        | ----     |
| cts__timing__setup__ws                        |       -2.1 |      -2.08 | Tighten  |
| cts__timing__setup__tns                       |     -243.0 |     -226.0 | Tighten  |
| globalroute__antenna_diodes_count             |       3431 |       3061 | Tighten  |
| globalroute__timing__setup__ws                |      -2.21 |      -2.03 | Tighten  |
| globalroute__timing__setup__tns               |     -262.0 |     -208.0 | Tighten  |
| detailedroute__antenna__violating__nets       |         69 |        120 | Failing  |
| detailedroute__antenna_diodes_count           |       1425 |       1552 | Failing  |
| finish__timing__setup__ws                     |      -2.11 |      -1.91 | Tighten  |
| finish__timing__setup__tns                    |     -203.0 |     -171.0 | Tighten  |

## make update_ok for jpeg (sky130hs)...
designs/sky130hs/jpeg/rules-base.json updates:
| Metric                                        | Old        | New        | Type     |
| ------                                        | ---        | ---        | ----     |
| globalroute__antenna_diodes_count             |        100 |        111 | Failing  |
| globalroute__timing__setup__tns               |       -3.0 |      -1.52 | Tighten  |

## make update_ok for swerv_wrapper (nangate45)...
designs/nangate45/swerv_wrapper/rules-base.json updates:
| Metric                                        | Old        | New        | Type     |
| ------                                        | ---        | ---        | ----     |
| cts__timing__setup__tns                       |     -463.0 |     -467.0 | Failing  |
| globalroute__timing__setup__tns               |     -504.0 |     -545.0 | Failing  |
| finish__timing__setup__tns                    |     -442.0 |     -515.0 | Failing  |

## make update_ok for ibex (nangate45)...
designs/nangate45/ibex/rules-base.json updates:
| Metric                                        | Old        | New        | Type     |
| ------                                        | ---        | ---        | ----     |
| globalroute__timing__setup__ws                |     -0.111 |      -0.11 | Tighten  |
| globalroute__timing__setup__tns               |     -0.441 |      -0.44 | Tighten  |
| finish__timing__setup__tns                    |      -1.08 |      -1.81 | Failing  |

Large percentage changes in failing metrics (>50%):
 - microwatt (sky130hd)  detailedroute__antenna__violating__nets  73.91%  (69 → 120)
 - chameleon (sky130hd)  finish__timing__setup__tns               70.56%  (-85.6 → -146.0)
 - ibex (nangate45)      finish__timing__setup__tns               67.59%  (-1.08 → -1.81)
 - chameleon (sky130hd)  globalroute__timing__setup__tns          63.24%  (-92.5 → -151.0)

Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
@gudeh gudeh self-assigned this Sep 1, 2026

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

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request updates the OpenROAD submodule to a newer commit and adjusts various timing, antenna diode, and violating net thresholds in the rules-base.json files across multiple designs (ibex, swerv_wrapper, chameleon, microwatt, and jpeg). The feedback recommends adding a trailing newline to the rules-base.json file for the swerv_wrapper design to follow standard formatting practices and prevent future diff noise.

"compare": "<="
}
}
} No newline at end of file

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

The file is missing a newline character at the end. Adding a trailing newline is a standard practice that prevents future diff noise and ensures compatibility with POSIX utilities.

Suggested change
}
}

@openroad-ci

openroad-ci commented Sep 1, 2026

Copy link
Copy Markdown
Member

🔍 QoR check

Metrics reflect the PR merge build — i.e. what will land on the target branch. Advisory — results are log-only and do not affect build status. The authoritative QoR gate remains the local rules-file check.

Commit bab116f · Jenkins build #2 · Baseline: build

63 design(s) checked — 11 with regression(s), 2 without a comparable baseline.
Design Variant Verdict local vs inline passed / failed / missing
asap7/aes base ✅ pass ✅ MATCH 25 / 0 / 0
asap7/aes-block base ✅ pass ✅ MATCH 25 / 0 / 0
asap7/aes-mbff base ✅ pass ✅ MATCH 25 / 0 / 0
asap7/aes_lvt base ✅ pass ✅ MATCH 25 / 0 / 0
asap7/coralnpu ➖ inconclusive ➖ N/A no metrics produced — flow may have failed before writing metadata.json
asap7/cva6 base ✅ pass ✅ MATCH 12 / 0 / 0
asap7/ethmac base ✅ pass ✅ MATCH 25 / 0 / 0
asap7/ethmac_lvt base ✅ pass ✅ MATCH 25 / 0 / 0
asap7/gcd base ✅ pass ✅ MATCH 25 / 0 / 0
asap7/gcd-ccs base ✅ pass ✅ MATCH 25 / 0 / 0
asap7/ibex base ✅ pass ✅ MATCH 25 / 0 / 0
asap7/jpeg base ✅ pass ✅ MATCH 25 / 0 / 0
asap7/jpeg_lvt base ✅ pass ✅ MATCH 25 / 0 / 0
asap7/mock-alu base ❌ fail ⚠️ MISMATCH 24 / 1 / 0
asap7/mock-cpu base ✅ pass ✅ MATCH 25 / 0 / 0
asap7/riscv32i base ✅ pass ✅ MATCH 25 / 0 / 0
asap7/riscv32i-mock-sram base ✅ pass ✅ MATCH 25 / 0 / 0
asap7/swerv_wrapper base ✅ pass ✅ MATCH 25 / 0 / 0
asap7/uart base ✅ pass ✅ MATCH 25 / 0 / 0
gf180/aes base ✅ pass ✅ MATCH 25 / 0 / 0
gf180/aes-hybrid base ✅ pass ✅ MATCH 25 / 0 / 0
gf180/ibex base ✅ pass ✅ MATCH 25 / 0 / 0
gf180/jpeg base ✅ pass ✅ MATCH 25 / 0 / 0
gf180/riscv32i base ✅ pass ✅ MATCH 25 / 0 / 0
gf180/uart-blocks base ✅ pass ✅ MATCH 25 / 0 / 0
gt2n/aes base ✅ pass ✅ MATCH 25 / 0 / 0
gt2n/gcd base ✅ pass ✅ MATCH 25 / 0 / 0
gt2n/jpeg base ✅ pass ✅ MATCH 25 / 0 / 0
ihp-sg13g2/aes base ✅ pass ✅ MATCH 25 / 0 / 0
ihp-sg13g2/gcd base ✅ pass ✅ MATCH 25 / 0 / 0
ihp-sg13g2/i2c-gpio-expander base ✅ pass ✅ MATCH 25 / 0 / 0
ihp-sg13g2/ibex base ✅ pass ✅ MATCH 25 / 0 / 0
ihp-sg13g2/jpeg base ✅ pass ✅ MATCH 25 / 0 / 0
ihp-sg13g2/riscv32i base ✅ pass ✅ MATCH 25 / 0 / 0
ihp-sg13g2/spi base ✅ pass ✅ MATCH 25 / 0 / 0
nangate45/aes base ✅ pass ✅ MATCH 25 / 0 / 0
nangate45/ariane133 base ➖ inconclusive ➖ N/A 0 / 0 / 25
nangate45/ariane136 base ✅ pass ✅ MATCH 25 / 0 / 0
nangate45/black_parrot base ✅ pass ✅ MATCH 25 / 0 / 0
nangate45/bp_be_top base ✅ pass ✅ MATCH 25 / 0 / 0
nangate45/bp_fe_top base ✅ pass ✅ MATCH 25 / 0 / 0
nangate45/bp_multi_top base ✅ pass ✅ MATCH 25 / 0 / 0
nangate45/cva6 base ✅ pass ✅ MATCH 25 / 0 / 0
nangate45/dynamic_node base ✅ pass ✅ MATCH 25 / 0 / 0
nangate45/gcd base ✅ pass ✅ MATCH 25 / 0 / 0
nangate45/ibex base ❌ fail ⚠️ MISMATCH 24 / 1 / 0
nangate45/jpeg base ✅ pass ✅ MATCH 25 / 0 / 0
nangate45/mempool_group base ❌ fail ⚠️ MISMATCH 9 / 3 / 0
nangate45/swerv base ✅ pass ✅ MATCH 25 / 0 / 0
nangate45/swerv_wrapper base ❌ fail ⚠️ MISMATCH 22 / 3 / 0
nangate45/tinyRocket base ✅ pass ✅ MATCH 25 / 0 / 0
sky130hd/aes base ✅ pass ✅ MATCH 25 / 0 / 0
sky130hd/chameleon base ❌ fail ⚠️ MISMATCH 19 / 6 / 0
sky130hd/gcd base ✅ pass ✅ MATCH 25 / 0 / 0
sky130hd/ibex base ✅ pass ✅ MATCH 25 / 0 / 0
sky130hd/jpeg base ❌ fail ⚠️ MISMATCH 23 / 2 / 0
sky130hd/microwatt base ❌ fail ⚠️ MISMATCH 23 / 2 / 0
sky130hd/riscv32i base ❌ fail ⚠️ MISMATCH 23 / 2 / 0
sky130hs/aes base ✅ pass ✅ MATCH 25 / 0 / 0
sky130hs/gcd base ✅ pass ✅ MATCH 25 / 0 / 0
sky130hs/ibex base ❌ fail ⚠️ MISMATCH 22 / 3 / 0
sky130hs/jpeg base ❌ fail ⚠️ MISMATCH 24 / 1 / 0
sky130hs/riscv32i base ❌ fail ⚠️ MISMATCH 22 / 3 / 0
❌ asap7/mock-alu base — 1 failing metric(s)
Metric target base delta limit band
cts__timing__setup__tns -17900.6 -17471 2.4589319443649478% -17531.0 PeriodPadding 20%
❌ nangate45/ibex base — 1 failing metric(s)
Metric target base delta limit band
finish__timing__setup__tns -1.37097 -0.639933 114.23649038258692% -1.079933 PeriodPadding 20%
❌ nangate45/mempool_group base — 3 failing metric(s)
Metric target base delta limit band
cts__timing__setup__tns -11521.7 -11431.7 0.7872844808733609% -11432.3 PeriodPadding 20%
finish__timing__setup__tns -11778.1 -11436.4 2.9878283375887515% -11437.0 PeriodPadding 20%
globalroute__timing__setup__tns -11791.2 -11499.3 2.5384153818058492% -11499.9 PeriodPadding 20%
❌ nangate45/swerv_wrapper base — 3 failing metric(s)
Metric target base delta limit band
cts__timing__setup__tns -466.276 -418.569 11.3976429214777% -418.969 PeriodPadding 20%
finish__timing__setup__tns -514.421 -386.759 33.00815236361662% -387.159 PeriodPadding 20%
globalroute__timing__setup__tns -544.137 -422.165 28.89202089230514% -422.565 PeriodPadding 20%
❌ sky130hd/chameleon base — 6 failing metric(s)
Metric target base delta limit band
cts__timing__setup__tns -171.306 -133.679 28.14727818131494% -134.279 PeriodPadding 20%
detailedroute__antenna__violating__nets 1 0 0.0 Padding 30%
detailedroute__antenna_diodes_count 162 119 36.134453781512605% 119.119 Metric 0.1%
finish__timing__setup__tns -145.049 -84.9843 70.6774074740864% -85.5843 PeriodPadding 20%
globalroute__antenna_diodes_count 181 138 31.159420289855074% 138.138 Metric 0.1%
globalroute__timing__setup__tns -150.876 -91.9306 64.1194553282585% -92.5306 PeriodPadding 20%
❌ sky130hd/jpeg base — 2 failing metric(s)
Metric target base delta limit band
cts__timing__setup__tns -122.743 -111.478 10.105132851324925% -112.478 PeriodPadding 20%
globalroute__timing__setup__tns -172.569 -168 2.719642857142857% -169.0 PeriodPadding 20%
❌ sky130hd/microwatt base — 2 failing metric(s)
Metric target base delta limit band
detailedroute__antenna__violating__nets 92 53 73.58490566037736% 68.9 Padding 30%
detailedroute__antenna_diodes_count 1550 1424 8.848314606741573% 1425.424 Metric 0.1%
❌ sky130hd/riscv32i base — 2 failing metric(s)
Metric target base delta limit band
cts__timing__setup__tns -60.821 -55.8465 8.907451675575013% -57.0465 PeriodPadding 20%
globalroute__timing__setup__tns -103.769 -102.214 1.5213180190580546% -103.414 PeriodPadding 20%
❌ sky130hs/ibex base — 3 failing metric(s)
Metric target base delta limit band
cts__timing__setup__tns -1.96242 0 -1.4 PeriodPadding 20%
finish__timing__setup__tns -39.3099 -14.057 179.64643949633634% -15.457 PeriodPadding 20%
globalroute__timing__setup__tns -119.866 -77.3387 54.98838227174752% -78.7387 PeriodPadding 20%
❌ sky130hs/jpeg base — 1 failing metric(s)
Metric target base delta limit band
globalroute__antenna_diodes_count 111 8 1287.5% 100 Metric 0.1%
❌ sky130hs/riscv32i base — 3 failing metric(s)
Metric target base delta limit band
cts__timing__setup__tns -121.456 -33.4452 263.14927104636837% -34.2452 PeriodPadding 20%
finish__timing__setup__tns -281.625 -137.948 104.15301417925595% -138.748 PeriodPadding 20%
globalroute__timing__setup__tns -447.723 -354.108 26.436849774645022% -354.908 PeriodPadding 20%

@gudeh

gudeh commented Sep 1, 2026

Copy link
Copy Markdown
Contributor Author

@eder-matheus I believe this is good to merge, we only have a single failing design in a private PDK.

@gudeh

gudeh commented Sep 1, 2026

Copy link
Copy Markdown
Contributor Author

I don't understand why we have a conflict with OR submodule here, I have never seen that.

@vvbandeira
vvbandeira merged commit 1ff305c into The-OpenROAD-Project:master Sep 1, 2026
6 of 8 checks passed
@vvbandeira
vvbandeira deleted the secure-gpl-min-congestion-inflation branch September 1, 2026 16:02
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.

4 participants