From 2b5565643b53919edd5f9acb281ffa75e86186e0 Mon Sep 17 00:00:00 2001 From: Jaehyun Kim Date: Fri, 6 Mar 2026 18:46:03 +0900 Subject: [PATCH 1/6] base Signed-off-by: Jaehyun Kim --- flow/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/flow/Makefile b/flow/Makefile index f18ca938d7..06d02a3f79 100644 --- a/flow/Makefile +++ b/flow/Makefile @@ -4,6 +4,7 @@ # Out of ORFS trees can have their own settings.mk. -include settings.mk + # ============================================================================== # Uncomment or add the design to run # ============================================================================== From d99bd20de54b116a9ac89f39cc58109fedd625ad Mon Sep 17 00:00:00 2001 From: Jaehyun Kim Date: Fri, 6 Mar 2026 18:50:02 +0900 Subject: [PATCH 2/6] Bump OR - insert_buffer name collision fix Signed-off-by: Jaehyun Kim --- flow/Makefile | 1 - tools/OpenROAD | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/flow/Makefile b/flow/Makefile index 06d02a3f79..f18ca938d7 100644 --- a/flow/Makefile +++ b/flow/Makefile @@ -4,7 +4,6 @@ # Out of ORFS trees can have their own settings.mk. -include settings.mk - # ============================================================================== # Uncomment or add the design to run # ============================================================================== diff --git a/tools/OpenROAD b/tools/OpenROAD index 138e57370c..126a46cee9 160000 --- a/tools/OpenROAD +++ b/tools/OpenROAD @@ -1 +1 @@ -Subproject commit 138e57370c9814b3bd0f510167f120f861d2bdf2 +Subproject commit 126a46cee93b9a20f7f3611a6f9b1597f9ee8427 From f496fa7f2768cdd11568008817ff6a93808d66fe Mon Sep 17 00:00:00 2001 From: Jaehyun Kim Date: Sat, 7 Mar 2026 00:07:17 +0900 Subject: [PATCH 3/6] flow: update metrics for public designs designs/nangate45/tinyRocket/rules-base.json updates: | Metric | Old | New | Type | | ------ | --- | --- | ---- | | cts__timing__setup__tns | -17.1 | -19.0 | Failing | | globalroute__timing__setup__tns | -30.0 | -35.3 | Failing | | finish__timing__setup__tns | -28.5 | -31.9 | Failing | designs/asap7/aes-block/rules-base.json updates: | Metric | Old | New | Type | | ------ | --- | --- | ---- | | cts__timing__setup__tns | -3710.0 | -5150.0 | Failing | | globalroute__timing__setup__tns | -3650.0 | -4295.0 | Failing | | globalroute__timing__hold__ws | -22.5 | -25.9 | Failing | designs/nangate45/ariane133/rules-base.json updates: | Metric | Old | New | Type | | ------ | --- | --- | ---- | | globalroute__timing__setup__tns | -583.0 | -642.0 | Failing | designs/nangate45/bp_fe_top/rules-base.json updates: | Metric | Old | New | Type | | ------ | --- | --- | ---- | | finish__timing__hold__ws | 0.0 | -0.002 | Failing | | finish__timing__hold__tns | 0.0 | -0.003 | Failing | designs/nangate45/bp_multi_top/rules-base.json updates: | Metric | Old | New | Type | | ------ | --- | --- | ---- | | finish__timing__setup__tns | -262.0 | -291.0 | Failing | designs/sky130hd/chameleon/rules-base.json updates: | Metric | Old | New | Type | | ------ | --- | --- | ---- | | globalroute__antenna_diodes_count | 188 | 218 | Failing | designs/sky130hd/microwatt/rules-base.json updates: | Metric | Old | New | Type | | ------ | --- | --- | ---- | | cts__timing__setup__tns | -300.0 | -352.0 | Failing | | detailedroute__antenna__violating__nets | 3 | 6 | Failing | Co-Authored-By: Claude Opus 4.6 Signed-off-by: Jaehyun Kim --- flow/designs/asap7/aes-block/rules-base.json | 202 +++++++++--------- .../nangate45/ariane133/rules-base.json | 2 +- .../nangate45/bp_fe_top/rules-base.json | 202 +++++++++--------- .../nangate45/bp_multi_top/rules-base.json | 8 +- .../nangate45/tinyRocket/rules-base.json | 2 +- .../sky130hd/chameleon/rules-base.json | 4 +- .../sky130hd/microwatt/rules-base.json | 6 +- 7 files changed, 213 insertions(+), 213 deletions(-) diff --git a/flow/designs/asap7/aes-block/rules-base.json b/flow/designs/asap7/aes-block/rules-base.json index 3276e206cf..bae7e2e8b4 100644 --- a/flow/designs/asap7/aes-block/rules-base.json +++ b/flow/designs/asap7/aes-block/rules-base.json @@ -1,102 +1,102 @@ { - "synth__design__instance__area__stdcell": { - "value": 2010.0, - "compare": "<=" - }, - "constraints__clocks__count": { - "value": 1, - "compare": "==" - }, - "placeopt__design__instance__area": { - "value": 7139, - "compare": "<=" - }, - "placeopt__design__instance__count__stdcell": { - "value": 9621, - "compare": "<=" - }, - "detailedplace__design__violations": { - "value": 0, - "compare": "==" - }, - "cts__design__instance__count__setup_buffer": { - "value": 837, - "compare": "<=" - }, - "cts__design__instance__count__hold_buffer": { - "value": 837, - "compare": "<=" - }, - "cts__timing__setup__ws": { - "value": -106.0, - "compare": ">=" - }, - "cts__timing__setup__tns": { - "value": -3710.0, - "compare": ">=" - }, - "cts__timing__hold__ws": { - "value": -52.3, - "compare": ">=" - }, - "cts__timing__hold__tns": { - "value": -5770.0, - "compare": ">=" - }, - "globalroute__antenna_diodes_count": { - "value": 100, - "compare": "<=" - }, - "globalroute__timing__setup__ws": { - "value": -117.0, - "compare": ">=" - }, - "globalroute__timing__setup__tns": { - "value": -3650.0, - "compare": ">=" - }, - "globalroute__timing__hold__ws": { - "value": -22.5, - "compare": ">=" - }, - "globalroute__timing__hold__tns": { - "value": -508.0, - "compare": ">=" - }, - "detailedroute__route__wirelength": { - "value": 52736, - "compare": "<=" - }, - "detailedroute__route__drc_errors": { - "value": 0, - "compare": "<=" - }, - "detailedroute__antenna__violating__nets": { - "value": 0, - "compare": "<=" - }, - "detailedroute__antenna_diodes_count": { - "value": 100, - "compare": "<=" - }, - "finish__timing__setup__ws": { - "value": -66.7, - "compare": ">=" - }, - "finish__timing__setup__tns": { - "value": -1290.0, - "compare": ">=" - }, - "finish__timing__hold__ws": { - "value": -22.5, - "compare": ">=" - }, - "finish__timing__hold__tns": { - "value": -90.0, - "compare": ">=" - }, - "finish__design__instance__area": { - "value": 7206, - "compare": "<=" - } -} \ No newline at end of file + "synth__design__instance__area__stdcell": { + "value": 2010.0, + "compare": "<=" + }, + "constraints__clocks__count": { + "value": 1, + "compare": "==" + }, + "placeopt__design__instance__area": { + "value": 7139, + "compare": "<=" + }, + "placeopt__design__instance__count__stdcell": { + "value": 9621, + "compare": "<=" + }, + "detailedplace__design__violations": { + "value": 0, + "compare": "==" + }, + "cts__design__instance__count__setup_buffer": { + "value": 837, + "compare": "<=" + }, + "cts__design__instance__count__hold_buffer": { + "value": 837, + "compare": "<=" + }, + "cts__timing__setup__ws": { + "value": -106.0, + "compare": ">=" + }, + "cts__timing__setup__tns": { + "value": -5150, + "compare": ">=" + }, + "cts__timing__hold__ws": { + "value": -52.3, + "compare": ">=" + }, + "cts__timing__hold__tns": { + "value": -5770.0, + "compare": ">=" + }, + "globalroute__antenna_diodes_count": { + "value": 100, + "compare": "<=" + }, + "globalroute__timing__setup__ws": { + "value": -117.0, + "compare": ">=" + }, + "globalroute__timing__setup__tns": { + "value": -4295, + "compare": ">=" + }, + "globalroute__timing__hold__ws": { + "value": -25.9, + "compare": ">=" + }, + "globalroute__timing__hold__tns": { + "value": -508.0, + "compare": ">=" + }, + "detailedroute__route__wirelength": { + "value": 52736, + "compare": "<=" + }, + "detailedroute__route__drc_errors": { + "value": 0, + "compare": "<=" + }, + "detailedroute__antenna__violating__nets": { + "value": 0, + "compare": "<=" + }, + "detailedroute__antenna_diodes_count": { + "value": 100, + "compare": "<=" + }, + "finish__timing__setup__ws": { + "value": -66.7, + "compare": ">=" + }, + "finish__timing__setup__tns": { + "value": -1290.0, + "compare": ">=" + }, + "finish__timing__hold__ws": { + "value": -22.5, + "compare": ">=" + }, + "finish__timing__hold__tns": { + "value": -90.0, + "compare": ">=" + }, + "finish__design__instance__area": { + "value": 7206, + "compare": "<=" + } +} diff --git a/flow/designs/nangate45/ariane133/rules-base.json b/flow/designs/nangate45/ariane133/rules-base.json index 6ad8080e09..8e5071431f 100644 --- a/flow/designs/nangate45/ariane133/rules-base.json +++ b/flow/designs/nangate45/ariane133/rules-base.json @@ -99,4 +99,4 @@ "value": 840911, "compare": "<=" } -} \ No newline at end of file +} diff --git a/flow/designs/nangate45/bp_fe_top/rules-base.json b/flow/designs/nangate45/bp_fe_top/rules-base.json index f153c05337..c52caad8b7 100644 --- a/flow/designs/nangate45/bp_fe_top/rules-base.json +++ b/flow/designs/nangate45/bp_fe_top/rules-base.json @@ -1,102 +1,102 @@ { - "synth__design__instance__area__stdcell": { - "value": 241575.35, - "compare": "<=" - }, - "constraints__clocks__count": { - "value": 1, - "compare": "==" - }, - "placeopt__design__instance__area": { - "value": 244991, - "compare": "<=" - }, - "placeopt__design__instance__count__stdcell": { - "value": 38771, - "compare": "<=" - }, - "detailedplace__design__violations": { - "value": 0, - "compare": "==" - }, - "cts__design__instance__count__setup_buffer": { - "value": 3371, - "compare": "<=" - }, - "cts__design__instance__count__hold_buffer": { - "value": 3371, - "compare": "<=" - }, - "cts__timing__setup__ws": { - "value": -0.09, - "compare": ">=" - }, - "cts__timing__setup__tns": { - "value": -0.36, - "compare": ">=" - }, - "cts__timing__hold__ws": { - "value": 0.0, - "compare": ">=" - }, - "cts__timing__hold__tns": { - "value": 0.0, - "compare": ">=" - }, - "globalroute__antenna_diodes_count": { - "value": 0, - "compare": "<=" - }, - "globalroute__timing__setup__ws": { - "value": -0.09, - "compare": ">=" - }, - "globalroute__timing__setup__tns": { - "value": -1.23, - "compare": ">=" - }, - "globalroute__timing__hold__ws": { - "value": 0.0, - "compare": ">=" - }, - "globalroute__timing__hold__tns": { - "value": 0.0, - "compare": ">=" - }, - "detailedroute__route__wirelength": { - "value": 1912200, - "compare": "<=" - }, - "detailedroute__route__drc_errors": { - "value": 0, - "compare": "<=" - }, - "detailedroute__antenna__violating__nets": { - "value": 0, - "compare": "<=" - }, - "detailedroute__antenna_diodes_count": { - "value": 5, - "compare": "<=" - }, - "finish__timing__setup__ws": { - "value": -0.222, - "compare": ">=" - }, - "finish__timing__setup__tns": { - "value": -13.8, - "compare": ">=" - }, - "finish__timing__hold__ws": { - "value": 0.0, - "compare": ">=" - }, - "finish__timing__hold__tns": { - "value": 0.0, - "compare": ">=" - }, - "finish__design__instance__area": { - "value": 247483, - "compare": "<=" - } -} \ No newline at end of file + "synth__design__instance__area__stdcell": { + "value": 241575.35, + "compare": "<=" + }, + "constraints__clocks__count": { + "value": 1, + "compare": "==" + }, + "placeopt__design__instance__area": { + "value": 244991, + "compare": "<=" + }, + "placeopt__design__instance__count__stdcell": { + "value": 38771, + "compare": "<=" + }, + "detailedplace__design__violations": { + "value": 0, + "compare": "==" + }, + "cts__design__instance__count__setup_buffer": { + "value": 3371, + "compare": "<=" + }, + "cts__design__instance__count__hold_buffer": { + "value": 3371, + "compare": "<=" + }, + "cts__timing__setup__ws": { + "value": -0.09, + "compare": ">=" + }, + "cts__timing__setup__tns": { + "value": -0.36, + "compare": ">=" + }, + "cts__timing__hold__ws": { + "value": 0.0, + "compare": ">=" + }, + "cts__timing__hold__tns": { + "value": 0.0, + "compare": ">=" + }, + "globalroute__antenna_diodes_count": { + "value": 0, + "compare": "<=" + }, + "globalroute__timing__setup__ws": { + "value": -0.09, + "compare": ">=" + }, + "globalroute__timing__setup__tns": { + "value": -1.23, + "compare": ">=" + }, + "globalroute__timing__hold__ws": { + "value": 0.0, + "compare": ">=" + }, + "globalroute__timing__hold__tns": { + "value": 0.0, + "compare": ">=" + }, + "detailedroute__route__wirelength": { + "value": 1912200, + "compare": "<=" + }, + "detailedroute__route__drc_errors": { + "value": 0, + "compare": "<=" + }, + "detailedroute__antenna__violating__nets": { + "value": 0, + "compare": "<=" + }, + "detailedroute__antenna_diodes_count": { + "value": 5, + "compare": "<=" + }, + "finish__timing__setup__ws": { + "value": -0.222, + "compare": ">=" + }, + "finish__timing__setup__tns": { + "value": -13.8, + "compare": ">=" + }, + "finish__timing__hold__ws": { + "value": -0.002, + "compare": ">=" + }, + "finish__timing__hold__tns": { + "value": -0.003, + "compare": ">=" + }, + "finish__design__instance__area": { + "value": 247483, + "compare": "<=" + } +} diff --git a/flow/designs/nangate45/bp_multi_top/rules-base.json b/flow/designs/nangate45/bp_multi_top/rules-base.json index 7420ef17ff..763b6d62f4 100644 --- a/flow/designs/nangate45/bp_multi_top/rules-base.json +++ b/flow/designs/nangate45/bp_multi_top/rules-base.json @@ -1,6 +1,6 @@ { "synth__design__instance__area__stdcell": { - "value": 568000.0, + "value": 570000.0, "compare": "<=" }, "constraints__clocks__count": { @@ -8,7 +8,7 @@ "compare": "==" }, "placeopt__design__instance__area": { - "value": 580168, + "value": 580304, "compare": "<=" }, "placeopt__design__instance__count__stdcell": { @@ -96,7 +96,7 @@ "compare": ">=" }, "finish__design__instance__area": { - "value": 586999, + "value": 587157, "compare": "<=" } -} \ No newline at end of file +} diff --git a/flow/designs/nangate45/tinyRocket/rules-base.json b/flow/designs/nangate45/tinyRocket/rules-base.json index 49b0eefcca..fcffced277 100644 --- a/flow/designs/nangate45/tinyRocket/rules-base.json +++ b/flow/designs/nangate45/tinyRocket/rules-base.json @@ -99,4 +99,4 @@ "value": 62486, "compare": "<=" } -} \ No newline at end of file +} diff --git a/flow/designs/sky130hd/chameleon/rules-base.json b/flow/designs/sky130hd/chameleon/rules-base.json index 584ddf2d44..6511dac5ba 100644 --- a/flow/designs/sky130hd/chameleon/rules-base.json +++ b/flow/designs/sky130hd/chameleon/rules-base.json @@ -44,7 +44,7 @@ "compare": ">=" }, "globalroute__antenna_diodes_count": { - "value": 188, + "value": 218, "compare": "<=" }, "globalroute__timing__setup__ws": { @@ -99,4 +99,4 @@ "value": 6493440, "compare": "<=" } -} \ No newline at end of file +} diff --git a/flow/designs/sky130hd/microwatt/rules-base.json b/flow/designs/sky130hd/microwatt/rules-base.json index 2ea5194c86..21185b5986 100644 --- a/flow/designs/sky130hd/microwatt/rules-base.json +++ b/flow/designs/sky130hd/microwatt/rules-base.json @@ -32,7 +32,7 @@ "compare": ">=" }, "cts__timing__setup__tns": { - "value": -311.0, + "value": -352, "compare": ">=" }, "cts__timing__hold__ws": { @@ -72,7 +72,7 @@ "compare": "<=" }, "detailedroute__antenna__violating__nets": { - "value": 5, + "value": 6, "compare": "<=" }, "detailedroute__antenna_diodes_count": { @@ -99,4 +99,4 @@ "value": 5578282, "compare": "<=" } -} \ No newline at end of file +} From 6ce9ad321e963a54f4472a51dfbce4b83699b631 Mon Sep 17 00:00:00 2001 From: Jaehyun Kim Date: Sat, 7 Mar 2026 08:30:58 +0900 Subject: [PATCH 4/6] flow: fix rules-base.json indent to 4-space Co-Authored-By: Claude Opus 4.6 Signed-off-by: Jaehyun Kim --- flow/designs/asap7/aes-block/rules-base.json | 200 +++++++++--------- .../nangate45/bp_fe_top/rules-base.json | 200 +++++++++--------- 2 files changed, 200 insertions(+), 200 deletions(-) diff --git a/flow/designs/asap7/aes-block/rules-base.json b/flow/designs/asap7/aes-block/rules-base.json index bae7e2e8b4..45208f8afe 100644 --- a/flow/designs/asap7/aes-block/rules-base.json +++ b/flow/designs/asap7/aes-block/rules-base.json @@ -1,102 +1,102 @@ { - "synth__design__instance__area__stdcell": { - "value": 2010.0, - "compare": "<=" - }, - "constraints__clocks__count": { - "value": 1, - "compare": "==" - }, - "placeopt__design__instance__area": { - "value": 7139, - "compare": "<=" - }, - "placeopt__design__instance__count__stdcell": { - "value": 9621, - "compare": "<=" - }, - "detailedplace__design__violations": { - "value": 0, - "compare": "==" - }, - "cts__design__instance__count__setup_buffer": { - "value": 837, - "compare": "<=" - }, - "cts__design__instance__count__hold_buffer": { - "value": 837, - "compare": "<=" - }, - "cts__timing__setup__ws": { - "value": -106.0, - "compare": ">=" - }, - "cts__timing__setup__tns": { - "value": -5150, - "compare": ">=" - }, - "cts__timing__hold__ws": { - "value": -52.3, - "compare": ">=" - }, - "cts__timing__hold__tns": { - "value": -5770.0, - "compare": ">=" - }, - "globalroute__antenna_diodes_count": { - "value": 100, - "compare": "<=" - }, - "globalroute__timing__setup__ws": { - "value": -117.0, - "compare": ">=" - }, - "globalroute__timing__setup__tns": { - "value": -4295, - "compare": ">=" - }, - "globalroute__timing__hold__ws": { - "value": -25.9, - "compare": ">=" - }, - "globalroute__timing__hold__tns": { - "value": -508.0, - "compare": ">=" - }, - "detailedroute__route__wirelength": { - "value": 52736, - "compare": "<=" - }, - "detailedroute__route__drc_errors": { - "value": 0, - "compare": "<=" - }, - "detailedroute__antenna__violating__nets": { - "value": 0, - "compare": "<=" - }, - "detailedroute__antenna_diodes_count": { - "value": 100, - "compare": "<=" - }, - "finish__timing__setup__ws": { - "value": -66.7, - "compare": ">=" - }, - "finish__timing__setup__tns": { - "value": -1290.0, - "compare": ">=" - }, - "finish__timing__hold__ws": { - "value": -22.5, - "compare": ">=" - }, - "finish__timing__hold__tns": { - "value": -90.0, - "compare": ">=" - }, - "finish__design__instance__area": { - "value": 7206, - "compare": "<=" - } + "synth__design__instance__area__stdcell": { + "value": 2010.0, + "compare": "<=" + }, + "constraints__clocks__count": { + "value": 1, + "compare": "==" + }, + "placeopt__design__instance__area": { + "value": 7139, + "compare": "<=" + }, + "placeopt__design__instance__count__stdcell": { + "value": 9621, + "compare": "<=" + }, + "detailedplace__design__violations": { + "value": 0, + "compare": "==" + }, + "cts__design__instance__count__setup_buffer": { + "value": 837, + "compare": "<=" + }, + "cts__design__instance__count__hold_buffer": { + "value": 837, + "compare": "<=" + }, + "cts__timing__setup__ws": { + "value": -106.0, + "compare": ">=" + }, + "cts__timing__setup__tns": { + "value": -5150, + "compare": ">=" + }, + "cts__timing__hold__ws": { + "value": -52.3, + "compare": ">=" + }, + "cts__timing__hold__tns": { + "value": -5770.0, + "compare": ">=" + }, + "globalroute__antenna_diodes_count": { + "value": 100, + "compare": "<=" + }, + "globalroute__timing__setup__ws": { + "value": -117.0, + "compare": ">=" + }, + "globalroute__timing__setup__tns": { + "value": -4295, + "compare": ">=" + }, + "globalroute__timing__hold__ws": { + "value": -25.9, + "compare": ">=" + }, + "globalroute__timing__hold__tns": { + "value": -508.0, + "compare": ">=" + }, + "detailedroute__route__wirelength": { + "value": 52736, + "compare": "<=" + }, + "detailedroute__route__drc_errors": { + "value": 0, + "compare": "<=" + }, + "detailedroute__antenna__violating__nets": { + "value": 0, + "compare": "<=" + }, + "detailedroute__antenna_diodes_count": { + "value": 100, + "compare": "<=" + }, + "finish__timing__setup__ws": { + "value": -66.7, + "compare": ">=" + }, + "finish__timing__setup__tns": { + "value": -1290.0, + "compare": ">=" + }, + "finish__timing__hold__ws": { + "value": -22.5, + "compare": ">=" + }, + "finish__timing__hold__tns": { + "value": -90.0, + "compare": ">=" + }, + "finish__design__instance__area": { + "value": 7206, + "compare": "<=" + } } diff --git a/flow/designs/nangate45/bp_fe_top/rules-base.json b/flow/designs/nangate45/bp_fe_top/rules-base.json index c52caad8b7..c4be1ed899 100644 --- a/flow/designs/nangate45/bp_fe_top/rules-base.json +++ b/flow/designs/nangate45/bp_fe_top/rules-base.json @@ -1,102 +1,102 @@ { - "synth__design__instance__area__stdcell": { - "value": 241575.35, - "compare": "<=" - }, - "constraints__clocks__count": { - "value": 1, - "compare": "==" - }, - "placeopt__design__instance__area": { - "value": 244991, - "compare": "<=" - }, - "placeopt__design__instance__count__stdcell": { - "value": 38771, - "compare": "<=" - }, - "detailedplace__design__violations": { - "value": 0, - "compare": "==" - }, - "cts__design__instance__count__setup_buffer": { - "value": 3371, - "compare": "<=" - }, - "cts__design__instance__count__hold_buffer": { - "value": 3371, - "compare": "<=" - }, - "cts__timing__setup__ws": { - "value": -0.09, - "compare": ">=" - }, - "cts__timing__setup__tns": { - "value": -0.36, - "compare": ">=" - }, - "cts__timing__hold__ws": { - "value": 0.0, - "compare": ">=" - }, - "cts__timing__hold__tns": { - "value": 0.0, - "compare": ">=" - }, - "globalroute__antenna_diodes_count": { - "value": 0, - "compare": "<=" - }, - "globalroute__timing__setup__ws": { - "value": -0.09, - "compare": ">=" - }, - "globalroute__timing__setup__tns": { - "value": -1.23, - "compare": ">=" - }, - "globalroute__timing__hold__ws": { - "value": 0.0, - "compare": ">=" - }, - "globalroute__timing__hold__tns": { - "value": 0.0, - "compare": ">=" - }, - "detailedroute__route__wirelength": { - "value": 1912200, - "compare": "<=" - }, - "detailedroute__route__drc_errors": { - "value": 0, - "compare": "<=" - }, - "detailedroute__antenna__violating__nets": { - "value": 0, - "compare": "<=" - }, - "detailedroute__antenna_diodes_count": { - "value": 5, - "compare": "<=" - }, - "finish__timing__setup__ws": { - "value": -0.222, - "compare": ">=" - }, - "finish__timing__setup__tns": { - "value": -13.8, - "compare": ">=" - }, - "finish__timing__hold__ws": { - "value": -0.002, - "compare": ">=" - }, - "finish__timing__hold__tns": { - "value": -0.003, - "compare": ">=" - }, - "finish__design__instance__area": { - "value": 247483, - "compare": "<=" - } + "synth__design__instance__area__stdcell": { + "value": 241575.35, + "compare": "<=" + }, + "constraints__clocks__count": { + "value": 1, + "compare": "==" + }, + "placeopt__design__instance__area": { + "value": 244991, + "compare": "<=" + }, + "placeopt__design__instance__count__stdcell": { + "value": 38771, + "compare": "<=" + }, + "detailedplace__design__violations": { + "value": 0, + "compare": "==" + }, + "cts__design__instance__count__setup_buffer": { + "value": 3371, + "compare": "<=" + }, + "cts__design__instance__count__hold_buffer": { + "value": 3371, + "compare": "<=" + }, + "cts__timing__setup__ws": { + "value": -0.09, + "compare": ">=" + }, + "cts__timing__setup__tns": { + "value": -0.36, + "compare": ">=" + }, + "cts__timing__hold__ws": { + "value": 0.0, + "compare": ">=" + }, + "cts__timing__hold__tns": { + "value": 0.0, + "compare": ">=" + }, + "globalroute__antenna_diodes_count": { + "value": 0, + "compare": "<=" + }, + "globalroute__timing__setup__ws": { + "value": -0.09, + "compare": ">=" + }, + "globalroute__timing__setup__tns": { + "value": -1.23, + "compare": ">=" + }, + "globalroute__timing__hold__ws": { + "value": 0.0, + "compare": ">=" + }, + "globalroute__timing__hold__tns": { + "value": 0.0, + "compare": ">=" + }, + "detailedroute__route__wirelength": { + "value": 1912200, + "compare": "<=" + }, + "detailedroute__route__drc_errors": { + "value": 0, + "compare": "<=" + }, + "detailedroute__antenna__violating__nets": { + "value": 0, + "compare": "<=" + }, + "detailedroute__antenna_diodes_count": { + "value": 5, + "compare": "<=" + }, + "finish__timing__setup__ws": { + "value": -0.222, + "compare": ">=" + }, + "finish__timing__setup__tns": { + "value": -13.8, + "compare": ">=" + }, + "finish__timing__hold__ws": { + "value": -0.002, + "compare": ">=" + }, + "finish__timing__hold__tns": { + "value": -0.003, + "compare": ">=" + }, + "finish__design__instance__area": { + "value": 247483, + "compare": "<=" + } } From 26bc39baaddbe6f5f98462f24b61c87fa6f3042b Mon Sep 17 00:00:00 2001 From: Jaehyun Kim Date: Sat, 7 Mar 2026 09:05:18 +0900 Subject: [PATCH 5/6] Bump OR - add createNewFlatNet refactoring per review Update OR submodule to include the refactored collision detection logic in createNewFlatNet as recommended in code review. Co-Authored-By: Claude Opus 4.6 Signed-off-by: Jaehyun Kim --- tools/OpenROAD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/OpenROAD b/tools/OpenROAD index 126a46cee9..03a2d14342 160000 --- a/tools/OpenROAD +++ b/tools/OpenROAD @@ -1 +1 @@ -Subproject commit 126a46cee93b9a20f7f3611a6f9b1597f9ee8427 +Subproject commit 03a2d1434275ade896dd1ff9f0ec58bec790f169 From 1af792e07d2bbc4e7dbdaf7d7fdea3d4e56548b4 Mon Sep 17 00:00:00 2001 From: Jaehyun Kim Date: Sat, 7 Mar 2026 14:59:38 +0900 Subject: [PATCH 6/6] flow: update metrics for private designs designs/rapidus2hp/cva6/rules-base.json updates: | Metric | Old | New | Type | | ------ | --- | --- | ---- | | cts__timing__setup__ws | -0.138 | -0.101 | Tighten | | cts__timing__setup__tns | -287.0 | -205.0 | Tighten | | globalroute__timing__setup__tns | -575.0 | -584.0 | Failing | | finish__timing__setup__tns | -575.0 | -584.0 | Failing | designs/rapidus2hp/cva6/rules-verific.json updates: | Metric | Old | New | Type | | ------ | --- | --- | ---- | | cts__timing__setup__ws | -0.157 | -0.14 | Tighten | | cts__timing__setup__tns | -518.0 | -412.0 | Tighten | | globalroute__timing__setup__tns | -650.0 | -697.0 | Failing | | finish__timing__setup__tns | -650.0 | -697.0 | Failing | designs/rapidus2hp/hercules_is_int/rules-base.json updates: | Metric | Old | New | Type | | ------ | --- | --- | ---- | | globalroute__timing__setup__ws | -0.105 | -0.104 | Tighten | | globalroute__timing__setup__tns | -907.0 | -1120.0 | Failing | | finish__timing__setup__ws | -0.105 | -0.104 | Tighten | | finish__timing__setup__tns | -907.0 | -1120.0 | Failing | Signed-off-by: Jaehyun Kim --- flow/designs/rapidus2hp/cva6/rules-base.json | 8 ++++---- flow/designs/rapidus2hp/cva6/rules-verific.json | 8 ++++---- flow/designs/rapidus2hp/hercules_is_int/rules-base.json | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/flow/designs/rapidus2hp/cva6/rules-base.json b/flow/designs/rapidus2hp/cva6/rules-base.json index eeecec3aa3..7d8a5420bd 100644 --- a/flow/designs/rapidus2hp/cva6/rules-base.json +++ b/flow/designs/rapidus2hp/cva6/rules-base.json @@ -28,11 +28,11 @@ "compare": "<=" }, "cts__timing__setup__ws": { - "value": -0.138, + "value": -0.101, "compare": ">=" }, "cts__timing__setup__tns": { - "value": -287.0, + "value": -205.0, "compare": ">=" }, "cts__timing__hold__ws": { @@ -52,7 +52,7 @@ "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -575.0, + "value": -584.0, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -68,7 +68,7 @@ "compare": ">=" }, "finish__timing__setup__tns": { - "value": -575.0, + "value": -584.0, "compare": ">=" }, "finish__timing__hold__ws": { diff --git a/flow/designs/rapidus2hp/cva6/rules-verific.json b/flow/designs/rapidus2hp/cva6/rules-verific.json index 10726859ca..2835bf83b3 100644 --- a/flow/designs/rapidus2hp/cva6/rules-verific.json +++ b/flow/designs/rapidus2hp/cva6/rules-verific.json @@ -28,11 +28,11 @@ "compare": "<=" }, "cts__timing__setup__ws": { - "value": -0.157, + "value": -0.14, "compare": ">=" }, "cts__timing__setup__tns": { - "value": -518.0, + "value": -412.0, "compare": ">=" }, "cts__timing__hold__ws": { @@ -52,7 +52,7 @@ "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -650.0, + "value": -697.0, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -68,7 +68,7 @@ "compare": ">=" }, "finish__timing__setup__tns": { - "value": -650.0, + "value": -697.0, "compare": ">=" }, "finish__timing__hold__ws": { diff --git a/flow/designs/rapidus2hp/hercules_is_int/rules-base.json b/flow/designs/rapidus2hp/hercules_is_int/rules-base.json index e468c98ef8..1c3ee8a708 100644 --- a/flow/designs/rapidus2hp/hercules_is_int/rules-base.json +++ b/flow/designs/rapidus2hp/hercules_is_int/rules-base.json @@ -52,7 +52,7 @@ "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -1010.0, + "value": -1120.0, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -68,7 +68,7 @@ "compare": ">=" }, "finish__timing__setup__tns": { - "value": -1010.0, + "value": -1120.0, "compare": ">=" }, "finish__timing__hold__ws": {