Skip to content

update metrics for dpl fixes#4160

Open
openroad-ci wants to merge 9 commits intoThe-OpenROAD-Project:masterfrom
The-OpenROAD-Project-staging:secure-dpl-negotiation-fixes
Open

update metrics for dpl fixes#4160
openroad-ci wants to merge 9 commits intoThe-OpenROAD-Project:masterfrom
The-OpenROAD-Project-staging:secure-dpl-negotiation-fixes

Conversation

@openroad-ci
Copy link
Copy Markdown
Collaborator

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

includes region awareness and fixes issues with rail alignment

gudeh added 9 commits April 17, 2026 11:04
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>
this update also points to a more recent OR submodule, so includes later missing updates

=====================================================
make update_ok for gcd (rapidus2hp)...
=====================================================
designs/rapidus2hp/gcd/rules-base.json updates:
| Metric                                        | Old      | New      | Type     |
| ------                                        | ---      | ---      | ----     |
| cts__timing__setup__tns                       |   -0.697 |    -0.76 | Failing  |
| globalroute__timing__setup__tns               |    -1.29 |    -1.14 | Tighten  |
| finish__timing__setup__tns                    |    -1.29 |    -1.14 | Tighten  |
| finish__design__instance__area                |       33 |       32 | Tighten  |

=====================================================
make update_ok for gcd (rapidus2hp) (verific)...
=====================================================
designs/rapidus2hp/gcd/rules-verific.json updates:
| Metric                                        | Old      | New      | Type     |
| ------                                        | ---      | ---      | ----     |
| cts__timing__setup__tns                       |    -1.26 |    -1.25 | Tighten  |
| globalroute__timing__setup__ws                |  -0.0502 |  -0.0494 | Tighten  |
| globalroute__timing__setup__tns               |    -1.79 |    -1.64 | Tighten  |
| finish__timing__setup__ws                     |  -0.0502 |  -0.0494 | Tighten  |
| finish__timing__setup__tns                    |    -1.79 |    -1.64 | Tighten  |

=====================================================
make update_ok for ethmac (rapidus2hp)...
=====================================================
designs/rapidus2hp/ethmac/rules-base.json updates:
| Metric                                        | Old      | New      | Type     |
| ------                                        | ---      | ---      | ----     |
| cts__timing__setup__tns                       |    -1.76 |    -1.78 | Failing  |
| globalroute__timing__setup__tns               |    -3.11 |     -3.1 | Tighten  |
| finish__timing__setup__tns                    |    -3.11 |     -3.1 | Tighten  |
| finish__design__instance__area                |     3298 |     3297 | Tighten  |

=====================================================
make update_ok for ethmac (rapidus2hp) (verific)...
=====================================================
designs/rapidus2hp/ethmac/rules-verific.json updates:
| Metric                                        | Old      | New      | Type     |
| ------                                        | ---      | ---      | ----     |
| cts__timing__setup__tns                       |     -1.6 |    -1.81 | Failing  |
| globalroute__timing__setup__tns               |    -2.59 |    -3.03 | Failing  |
| finish__timing__setup__tns                    |    -2.59 |    -3.03 | Failing  |

=====================================================
make update_ok for jpeg (rapidus2hp)...
=====================================================
designs/rapidus2hp/jpeg/rules-base.json updates:
| Metric                                        | Old      | New      | Type     |
| ------                                        | ---      | ---      | ----     |
| globalroute__timing__setup__ws                |  -0.0564 |  -0.0551 | Tighten  |
| globalroute__timing__setup__tns               |    -31.9 |    -26.2 | Tighten  |

=====================================================
make update_ok for jpeg (rapidus2hp) (verific)...
=====================================================
designs/rapidus2hp/jpeg/rules-verific.json updates:
| Metric                                        | Old      | New      | Type     |
| ------                                        | ---      | ---      | ----     |
| globalroute__timing__setup__ws                |  -0.0712 |  -0.0527 | Tighten  |
| globalroute__timing__setup__tns               |    -33.5 |    -26.5 | Tighten  |

=====================================================
make update_ok for hercules_idecode (rapidus2hp)...
=====================================================
designs/rapidus2hp/hercules_idecode/rules-base.json updates:
| Metric                                        | Old      | New      | Type     |
| ------                                        | ---      | ---      | ----     |
| globalroute__timing__setup__ws                |  -0.0953 |    -0.12 | Failing  |
| globalroute__timing__setup__tns               |    -97.2 |    -80.4 | Tighten  |

=====================================================
make update_ok for hercules_idecode (rapidus2hp) (verific)...
=====================================================
designs/rapidus2hp/hercules_idecode/rules-verific.json updates:
| Metric                                        | Old      | New      | Type     |
| ------                                        | ---      | ---      | ----     |
| globalroute__timing__setup__tns               |   -224.0 |   -154.0 | Tighten  |

=====================================================
make update_ok for hercules_is_int (rapidus2hp)...
=====================================================
designs/rapidus2hp/hercules_is_int/rules-base.json updates:
| Metric                                        | Old      | New      | Type     |
| ------                                        | ---      | ---      | ----     |
| cts__timing__setup__tns                       |   -368.0 |   -442.0 | Failing  |
| globalroute__timing__setup__ws                |   -0.263 |   -0.241 | Tighten  |
| globalroute__timing__setup__tns               |  -1050.0 |  -1040.0 | Tighten  |
| globalroute__timing__hold__tns                |   -0.703 |   -0.947 | Failing  |

=====================================================
make update_ok for hercules_is_int (rapidus2hp) (verific)...
=====================================================
designs/rapidus2hp/hercules_is_int/rules-verific.json updates:
| Metric                                        | Old      | New      | Type     |
| ------                                        | ---      | ---      | ----     |
| cts__timing__setup__tns                       |   -332.0 |   -331.0 | Tighten  |
| globalroute__timing__setup__ws                |   -0.212 |   -0.251 | Failing  |
| globalroute__timing__setup__tns               |   -983.0 |  -1190.0 | Failing  |
| globalroute__timing__hold__ws                 |  -0.0125 |   -0.037 | Failing  |

=====================================================
make update_ok for ibex (rapidus2hp)...
=====================================================
designs/rapidus2hp/ibex/rules-base.json updates:
| Metric                                        | Old      | New      | Type     |
| ------                                        | ---      | ---      | ----     |
| globalroute__timing__setup__ws                |  -0.0882 |  -0.0777 | Tighten  |
| globalroute__timing__setup__tns               |    -43.3 |    -20.4 | Tighten  |

=====================================================
make update_ok for ibex (rapidus2hp) (verific)...
=====================================================
designs/rapidus2hp/ibex/rules-verific.json updates:
| Metric                                        | Old      | New      | Type     |
| ------                                        | ---      | ---      | ----     |
| cts__timing__setup__ws                        |  -0.0452 |  -0.0415 | Tighten  |
| cts__timing__setup__tns                       |    -0.26 |   -0.578 | Failing  |
| globalroute__timing__setup__tns               |    -25.3 |    -28.6 | Failing  |

=====================================================
make update_ok for ariane (gf12)...
=====================================================
designs/gf12/ariane/rules-base.json updates:
| Metric                                        | Old      | New      | Type     |
| ------                                        | ---      | ---      | ----     |
| placeopt__design__instance__area              |   214069 |   213164 | Tighten  |
| globalroute__antenna_diodes_count             |      180 |      179 | Tighten  |
| detailedroute__route__wirelength              |  3948737 |  3769820 | Tighten  |
| detailedroute__antenna_diodes_count           |      180 |      179 | Tighten  |
| finish__design__instance__area                |   216316 |   215570 | Tighten  |

=====================================================
make update_ok for gcd (gf12)...
=====================================================
designs/gf12/gcd/rules-base.json updates:
| Metric                                        | Old      | New      | Type     |
| ------                                        | ---      | ---      | ----     |
| synth__design__instance__area__stdcell        |    111.0 |    107.0 | Tighten  |

=====================================================
make update_ok for jpeg (gf12)...
=====================================================
designs/gf12/jpeg/rules-base.json updates:
| Metric                                        | Old      | New      | Type     |
| ------                                        | ---      | ---      | ----     |
| synth__design__instance__area__stdcell        | 20440.28 |  19900.0 | Tighten  |
| placeopt__design__instance__count__stdcell    |   102448 |    95595 | Tighten  |
| cts__timing__setup__ws                        |    -99.1 |    -58.6 | Tighten  |
| cts__timing__setup__tns                       | -23600.0 | -10300.0 | Tighten  |
| globalroute__timing__setup__ws                |   -198.0 |    -53.2 | Tighten  |
| globalroute__timing__setup__tns               | -13200.0 |  -7010.0 | Tighten  |
| finish__timing__setup__ws                     |   -207.0 |    -25.0 | Tighten  |
| finish__timing__setup__tns                    |  -3360.0 |   -100.0 | Tighten  |

=====================================================
make update_ok for bp_single (gf12)...
=====================================================
designs/gf12/bp_single/rules-base.json updates:
| Metric                                        | Old      | New      | Type     |
| ------                                        | ---      | ---      | ----     |
| cts__timing__hold__tns                        |  -4460.0 |  -3310.0 | Tighten  |

=====================================================
make update_ok for tinyRocket (gf12)...
=====================================================
designs/gf12/tinyRocket/rules-base.json updates:
| Metric                                        | Old      | New      | Type     |
| ------                                        | ---      | ---      | ----     |
| cts__timing__setup__tns                       |   -166.0 |   -160.0 | Tighten  |
| finish__timing__hold__tns                     |   -545.0 |   -160.0 | Tighten  |

=====================================================
make update_ok for coyote (gf12)...
=====================================================
designs/gf12/coyote/rules-base.json updates:
| Metric                                        | Old      | New      | Type     |
| ------                                        | ---      | ---      | ----     |
| placeopt__design__instance__area              |   197211 |   196510 | Tighten  |
| placeopt__design__instance__count__stdcell    |   319739 |   316293 | Tighten  |
| cts__design__instance__count__setup_buffer    |    27803 |    27504 | Tighten  |
| cts__design__instance__count__hold_buffer     |    27803 |    27504 | Tighten  |
| globalroute__antenna_diodes_count             |      264 |      261 | Tighten  |
| detailedroute__route__wirelength              |  4257073 |  4125688 | Tighten  |
| detailedroute__antenna_diodes_count           |      264 |      261 | Tighten  |
| finish__design__instance__area                |   201687 |   200742 | Tighten  |

=====================================================
make update_ok for swerv_wrapper (gf12)...
=====================================================
designs/gf12/swerv_wrapper/rules-base.json updates:
| Metric                                        | Old      | New      | Type     |
| ------                                        | ---      | ---      | ----     |
| placeopt__design__instance__area              |   173119 |   172761 | Tighten  |
| cts__timing__setup__ws                        |   -171.0 |    -75.0 | Tighten  |
| cts__timing__hold__ws                         |   -197.0 |   -104.0 | Tighten  |
| cts__timing__hold__tns                        |   -671.0 |   -376.0 | Tighten  |
| globalroute__antenna_diodes_count             |      107 |      106 | Tighten  |
| detailedroute__route__wirelength              |  2518773 |  2307185 | Tighten  |
| detailedroute__antenna_diodes_count           |      107 |      106 | Tighten  |
| finish__design__instance__area                |   177792 |   177526 | Tighten  |

=====================================================
make update_ok for ibex (gf12)...
=====================================================
designs/gf12/ibex/rules-base.json updates:
| Metric                                        | Old      | New      | Type     |
| ------                                        | ---      | ---      | ----     |
| cts__design__instance__count__hold_buffer     |     1752 |     1664 | Tighten  |

=====================================================
make update_ok for ca53 (gf12)...
=====================================================
designs/gf12/ca53/rules-base.json updates:
| Metric                                        | Old      | New      | Type     |
| ------                                        | ---      | ---      | ----     |
| finish__timing__hold__tns                     |  -3000.0 |  -2170.0 | Tighten  |

Large percentage changes in failing metrics (>50%):
 - hercules_is_int (rapidus2hp (verific))  globalroute__timing__hold__ws  196.00%  (-0.0125 → -0.037)
 - ibex (rapidus2hp (verific))             cts__timing__setup__tns        122.31%  (-0.26 → -0.578)

Large percentage improvements in tighten metrics (>50%):
 - jpeg (gf12)           finish__timing__setup__tns       -97.02%  (-3360.0 → -100.0)
 - jpeg (gf12)           finish__timing__setup__ws        -87.92%  (-207.0 → -25.0)
 - jpeg (gf12)           globalroute__timing__setup__ws   -73.13%  (-198.0 → -53.2)
 - tinyRocket (gf12)     finish__timing__hold__tns        -70.64%  (-545.0 → -160.0)
 - jpeg (gf12)           cts__timing__setup__tns          -56.36%  (-23600.0 → -10300.0)
 - swerv_wrapper (gf12)  cts__timing__setup__ws           -56.14%  (-171.0 → -75.0)
 - ibex (rapidus2hp)     globalroute__timing__setup__tns  -52.89%  (-43.3 → -20.4)

Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
Copy link
Copy Markdown

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

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 subproject and adjusts design metrics across multiple configurations, including GF12 and Rapidus2HP designs. It also enables USE_NEGOTIATION by default in the test helper. The review feedback suggests allowing the USE_NEGOTIATION parameter to be overridden via environment variables and identifies a potential inconsistency in the timing metrics for the hercules_is_int design.

Comment thread flow/test/test_helper.sh
mkdir -p "${WORK_HOME}/logs/$PLATFORM"

__make="make DESIGN_CONFIG=$DESIGN_CONFIG"
__make="make DESIGN_CONFIG=$DESIGN_CONFIG USE_NEGOTIATION=1"
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

Hardcoding USE_NEGOTIATION=1 in the test helper prevents users from overriding this parameter for specific tests or platforms. It is better to provide a default value that can be overridden via environment variables.

Suggested change
__make="make DESIGN_CONFIG=$DESIGN_CONFIG USE_NEGOTIATION=1"
__make="make DESIGN_CONFIG=$DESIGN_CONFIG USE_NEGOTIATION=${USE_NEGOTIATION:-1}"

"compare": ">="
},
"finish__timing__setup__tns": {
"value": -990.0,
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The finish__timing__setup__tns value (-990.0) is inconsistent with the globalroute__timing__setup__tns value (-1190.0) on line 55. In the corresponding rules-base.json file and other designs in this PR, these metrics match across stages. This discrepancy likely indicates a typo or an error in the metric recording process.

Comment thread flow/test/test_helper.sh
mkdir -p "${WORK_HOME}/logs/$PLATFORM"

__make="make DESIGN_CONFIG=$DESIGN_CONFIG"
__make="make DESIGN_CONFIG=$DESIGN_CONFIG USE_NEGOTIATION=1"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

why turn this on all the time?

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.

This is a mistake!

"value": -0.1,
"compare": ">="
},
"finish__timing__setup__ws": {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Why are there new metrics for Rapidus designs?

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.

3 participants