update metrics for dpl fixes#4160
update metrics for dpl fixes#4160openroad-ci wants to merge 9 commits intoThe-OpenROAD-Project:masterfrom
Conversation
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>
There was a problem hiding this comment.
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.
| mkdir -p "${WORK_HOME}/logs/$PLATFORM" | ||
|
|
||
| __make="make DESIGN_CONFIG=$DESIGN_CONFIG" | ||
| __make="make DESIGN_CONFIG=$DESIGN_CONFIG USE_NEGOTIATION=1" |
There was a problem hiding this comment.
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.
| __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, |
There was a problem hiding this comment.
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.
| mkdir -p "${WORK_HOME}/logs/$PLATFORM" | ||
|
|
||
| __make="make DESIGN_CONFIG=$DESIGN_CONFIG" | ||
| __make="make DESIGN_CONFIG=$DESIGN_CONFIG USE_NEGOTIATION=1" |
There was a problem hiding this comment.
why turn this on all the time?
| "value": -0.1, | ||
| "compare": ">=" | ||
| }, | ||
| "finish__timing__setup__ws": { |
There was a problem hiding this comment.
Why are there new metrics for Rapidus designs?
Update metrics for OR PR: The-OpenROAD-Project/OpenROAD#10175
includes region awareness and fixes issues with rail alignment