From ead24cf7bd09864d16621c112e3ee2a8787ebbc1 Mon Sep 17 00:00:00 2001 From: Augusto Berndt Date: Fri, 17 Apr 2026 11:04:43 +0000 Subject: [PATCH 1/9] master version Signed-off-by: Augusto Berndt --- tools/OpenROAD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/OpenROAD b/tools/OpenROAD index 0d9d73ffba..c8e0e8950e 160000 --- a/tools/OpenROAD +++ b/tools/OpenROAD @@ -1 +1 @@ -Subproject commit 0d9d73ffba0228f1a7263953fb9b41de800ba301 +Subproject commit c8e0e8950eca100303e6b98c007a451ba995ddad From 26f752c12a32518efc5752463d51c7ab4c05c62c Mon Sep 17 00:00:00 2001 From: Augusto Berndt Date: Fri, 17 Apr 2026 11:06:01 +0000 Subject: [PATCH 2/9] use negotiation and master Signed-off-by: Augusto Berndt --- flow/test/test_helper.sh | 2 +- flow/utilizationSweep.sh | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100755 flow/utilizationSweep.sh diff --git a/flow/test/test_helper.sh b/flow/test/test_helper.sh index dcd5081631..0453092d04 100755 --- a/flow/test/test_helper.sh +++ b/flow/test/test_helper.sh @@ -19,7 +19,7 @@ fi LOG_FILE=${WORK_HOME}/logs/$PLATFORM/$DESIGN_NAME.log mkdir -p "${WORK_HOME}/logs/$PLATFORM" -__make="make DESIGN_CONFIG=$DESIGN_CONFIG" +__make="make DESIGN_CONFIG=$DESIGN_CONFIG USE_NEGOTIATION=1" if [ -n "${FLOW_VARIANT+x}" ]; then __make+=" FLOW_VARIANT=$FLOW_VARIANT" fi diff --git a/flow/utilizationSweep.sh b/flow/utilizationSweep.sh new file mode 100755 index 0000000000..309a932718 --- /dev/null +++ b/flow/utilizationSweep.sh @@ -0,0 +1,37 @@ +#!/bin/bash + +CORE_UTILIZATION_VALUES=(59 64 65 66) +DESIGN_CONFIG="designs/rapidus2hp/hercules_is_int/config.mk" + +# CORE_UTILIZATION_VALUES=(50 51 52 53 54 55 56 57) +# DESIGN_CONFIG="designs/rapidus2hp/gcd/config.mk" + + +#DESIGN_CONFIG="designs/sky130hs/ibex/config.mk" + +STRING_PARAM="$1" +#SYNTH_HDL_FRONTEND=verific \ + +for CORE_UTILIZATION in "${CORE_UTILIZATION_VALUES[@]}"; do + # Construct the command string clearly + CMD="make \ + DESIGN_CONFIG='$DESIGN_CONFIG' \ + FLOW_VARIANT='$CORE_UTILIZATION' \ + CORE_UTILIZATION='$CORE_UTILIZATION' \ + PLATFORM_HOME=/platforms \ + $STRING_PARAM" + + echo "----------------------------------------" + echo "Check: Launching terminal for density ${CORE_UTILIZATION}..." + echo "Command: $CMD" + echo "----------------------------------------" + + # Pass the variable to the terminal + gnome-terminal -- bash -c "$CMD; exec bash" + + sleep 0.5 +done + +wait + +echo "All jobs completed." From 51ed38e173dd6b5a7846eaec698ad8dcd23015bb Mon Sep 17 00:00:00 2001 From: Augusto Berndt Date: Fri, 17 Apr 2026 11:07:05 +0000 Subject: [PATCH 3/9] update OR Signed-off-by: Augusto Berndt --- tools/OpenROAD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/OpenROAD b/tools/OpenROAD index c8e0e8950e..0870b22e4e 160000 --- a/tools/OpenROAD +++ b/tools/OpenROAD @@ -1 +1 @@ -Subproject commit c8e0e8950eca100303e6b98c007a451ba995ddad +Subproject commit 0870b22e4e00cfdb1a8b46df38387b4ff65237fe From b1ad343b0c5e44ba1cb69b276110118efcbd240b Mon Sep 17 00:00:00 2001 From: Augusto Berndt Date: Fri, 17 Apr 2026 17:23:29 +0000 Subject: [PATCH 4/9] update OR Signed-off-by: Augusto Berndt --- tools/OpenROAD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/OpenROAD b/tools/OpenROAD index 0870b22e4e..4fbfe84081 160000 --- a/tools/OpenROAD +++ b/tools/OpenROAD @@ -1 +1 @@ -Subproject commit 0870b22e4e00cfdb1a8b46df38387b4ff65237fe +Subproject commit 4fbfe8408181772fba6617c2159eed98683e8c19 From 5a9a2426677ebfa05235d5107bd6886a84f699d6 Mon Sep 17 00:00:00 2001 From: Augusto Berndt Date: Sat, 18 Apr 2026 09:52:18 +0000 Subject: [PATCH 5/9] update OR Signed-off-by: Augusto Berndt --- tools/OpenROAD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/OpenROAD b/tools/OpenROAD index 4fbfe84081..e682a4f143 160000 --- a/tools/OpenROAD +++ b/tools/OpenROAD @@ -1 +1 @@ -Subproject commit 4fbfe8408181772fba6617c2159eed98683e8c19 +Subproject commit e682a4f14307ba2a90cfc1ff3dd3b9e3bccd8c26 From f96b0810415200cf02bdffa74f1318adbc67c543 Mon Sep 17 00:00:00 2001 From: Augusto Berndt Date: Sat, 18 Apr 2026 09:52:57 +0000 Subject: [PATCH 6/9] update metrics after dpl change to negotiation rail handling, this update also points to a more recent OR submodule, so includes later missing updates MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ===================================================== 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 --- flow/designs/gf12/ariane/rules-base.json | 10 +++---- flow/designs/gf12/bp_single/rules-base.json | 2 +- flow/designs/gf12/ca53/rules-base.json | 2 +- flow/designs/gf12/coyote/rules-base.json | 16 +++++------ flow/designs/gf12/gcd/rules-base.json | 2 +- flow/designs/gf12/ibex/rules-base.json | 2 +- flow/designs/gf12/jpeg/rules-base.json | 16 +++++------ .../gf12/swerv_wrapper/rules-base.json | 16 +++++------ flow/designs/gf12/tinyRocket/rules-base.json | 4 +-- flow/designs/rapidus2hp/cva6/rules-base.json | 20 +++++++++++++ .../rapidus2hp/cva6/rules-verific.json | 20 +++++++++++++ .../designs/rapidus2hp/ethmac/rules-base.json | 8 +++--- .../rapidus2hp/ethmac/rules-verific.json | 6 ++-- flow/designs/rapidus2hp/gcd/rules-base.json | 8 +++--- .../designs/rapidus2hp/gcd/rules-verific.json | 10 +++---- .../hercules_idecode/rules-base.json | 24 ++++++++++++++-- .../hercules_idecode/rules-verific.json | 22 ++++++++++++++- .../hercules_is_int/rules-base.json | 28 ++++++++++++++++--- .../hercules_is_int/rules-verific.json | 28 ++++++++++++++++--- flow/designs/rapidus2hp/ibex/rules-base.json | 24 ++++++++++++++-- .../rapidus2hp/ibex/rules-verific.json | 26 +++++++++++++++-- flow/designs/rapidus2hp/jpeg/rules-base.json | 24 ++++++++++++++-- .../rapidus2hp/jpeg/rules-verific.json | 24 ++++++++++++++-- 23 files changed, 271 insertions(+), 71 deletions(-) diff --git a/flow/designs/gf12/ariane/rules-base.json b/flow/designs/gf12/ariane/rules-base.json index 30f8f24b2b..bbbbc988fd 100644 --- a/flow/designs/gf12/ariane/rules-base.json +++ b/flow/designs/gf12/ariane/rules-base.json @@ -8,7 +8,7 @@ "compare": "==" }, "placeopt__design__instance__area": { - "value": 214069, + "value": 213164, "compare": "<=" }, "placeopt__design__instance__count__stdcell": { @@ -44,7 +44,7 @@ "compare": ">=" }, "globalroute__antenna_diodes_count": { - "value": 180, + "value": 179, "compare": "<=" }, "globalroute__timing__setup__ws": { @@ -64,7 +64,7 @@ "compare": ">=" }, "detailedroute__route__wirelength": { - "value": 3948737, + "value": 3769820, "compare": "<=" }, "detailedroute__route__drc_errors": { @@ -76,7 +76,7 @@ "compare": "<=" }, "detailedroute__antenna_diodes_count": { - "value": 180, + "value": 179, "compare": "<=" }, "finish__timing__setup__ws": { @@ -96,7 +96,7 @@ "compare": ">=" }, "finish__design__instance__area": { - "value": 216316, + "value": 215570, "compare": "<=" } } \ No newline at end of file diff --git a/flow/designs/gf12/bp_single/rules-base.json b/flow/designs/gf12/bp_single/rules-base.json index e3585846e5..be056fbed1 100644 --- a/flow/designs/gf12/bp_single/rules-base.json +++ b/flow/designs/gf12/bp_single/rules-base.json @@ -40,7 +40,7 @@ "compare": ">=" }, "cts__timing__hold__tns": { - "value": -4460.0, + "value": -3310.0, "compare": ">=" }, "globalroute__antenna_diodes_count": { diff --git a/flow/designs/gf12/ca53/rules-base.json b/flow/designs/gf12/ca53/rules-base.json index a2d1eb0a25..bef0a0c5bb 100644 --- a/flow/designs/gf12/ca53/rules-base.json +++ b/flow/designs/gf12/ca53/rules-base.json @@ -88,7 +88,7 @@ "compare": ">=" }, "finish__timing__hold__tns": { - "value": -3000.0, + "value": -2170.0, "compare": ">=" }, "finish__design__instance__area": { diff --git a/flow/designs/gf12/coyote/rules-base.json b/flow/designs/gf12/coyote/rules-base.json index 4daf60b172..e4286e371c 100644 --- a/flow/designs/gf12/coyote/rules-base.json +++ b/flow/designs/gf12/coyote/rules-base.json @@ -8,11 +8,11 @@ "compare": "==" }, "placeopt__design__instance__area": { - "value": 197211, + "value": 196510, "compare": "<=" }, "placeopt__design__instance__count__stdcell": { - "value": 319739, + "value": 316293, "compare": "<=" }, "detailedplace__design__violations": { @@ -20,11 +20,11 @@ "compare": "==" }, "cts__design__instance__count__setup_buffer": { - "value": 27803, + "value": 27504, "compare": "<=" }, "cts__design__instance__count__hold_buffer": { - "value": 27803, + "value": 27504, "compare": "<=" }, "cts__timing__setup__ws": { @@ -44,7 +44,7 @@ "compare": ">=" }, "globalroute__antenna_diodes_count": { - "value": 264, + "value": 261, "compare": "<=" }, "globalroute__timing__setup__ws": { @@ -64,7 +64,7 @@ "compare": ">=" }, "detailedroute__route__wirelength": { - "value": 4257073, + "value": 4125688, "compare": "<=" }, "detailedroute__route__drc_errors": { @@ -76,7 +76,7 @@ "compare": "<=" }, "detailedroute__antenna_diodes_count": { - "value": 264, + "value": 261, "compare": "<=" }, "finish__timing__setup__ws": { @@ -96,7 +96,7 @@ "compare": ">=" }, "finish__design__instance__area": { - "value": 201687, + "value": 200742, "compare": "<=" } } \ No newline at end of file diff --git a/flow/designs/gf12/gcd/rules-base.json b/flow/designs/gf12/gcd/rules-base.json index 9f0efac453..2a7d9f4829 100644 --- a/flow/designs/gf12/gcd/rules-base.json +++ b/flow/designs/gf12/gcd/rules-base.json @@ -1,6 +1,6 @@ { "synth__design__instance__area__stdcell": { - "value": 111.0, + "value": 107.0, "compare": "<=" }, "constraints__clocks__count": { diff --git a/flow/designs/gf12/ibex/rules-base.json b/flow/designs/gf12/ibex/rules-base.json index bd5e360b32..f63e0fbc86 100644 --- a/flow/designs/gf12/ibex/rules-base.json +++ b/flow/designs/gf12/ibex/rules-base.json @@ -24,7 +24,7 @@ "compare": "<=" }, "cts__design__instance__count__hold_buffer": { - "value": 1752, + "value": 1664, "compare": "<=" }, "cts__timing__setup__ws": { diff --git a/flow/designs/gf12/jpeg/rules-base.json b/flow/designs/gf12/jpeg/rules-base.json index 731c0a8a25..f443dd422b 100644 --- a/flow/designs/gf12/jpeg/rules-base.json +++ b/flow/designs/gf12/jpeg/rules-base.json @@ -1,6 +1,6 @@ { "synth__design__instance__area__stdcell": { - "value": 20440.28, + "value": 19900.0, "compare": "<=" }, "constraints__clocks__count": { @@ -12,7 +12,7 @@ "compare": "<=" }, "placeopt__design__instance__count__stdcell": { - "value": 102448, + "value": 95595, "compare": "<=" }, "detailedplace__design__violations": { @@ -28,11 +28,11 @@ "compare": "<=" }, "cts__timing__setup__ws": { - "value": -99.1, + "value": -58.6, "compare": ">=" }, "cts__timing__setup__tns": { - "value": -23600.0, + "value": -10300.0, "compare": ">=" }, "cts__timing__hold__ws": { @@ -48,11 +48,11 @@ "compare": "<=" }, "globalroute__timing__setup__ws": { - "value": -198.0, + "value": -53.2, "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -13200.0, + "value": -7010.0, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -80,11 +80,11 @@ "compare": "<=" }, "finish__timing__setup__ws": { - "value": -207.0, + "value": -25.0, "compare": ">=" }, "finish__timing__setup__tns": { - "value": -3360.0, + "value": -100.0, "compare": ">=" }, "finish__timing__hold__ws": { diff --git a/flow/designs/gf12/swerv_wrapper/rules-base.json b/flow/designs/gf12/swerv_wrapper/rules-base.json index 9d6f77b636..3cd8fb200b 100644 --- a/flow/designs/gf12/swerv_wrapper/rules-base.json +++ b/flow/designs/gf12/swerv_wrapper/rules-base.json @@ -8,7 +8,7 @@ "compare": "==" }, "placeopt__design__instance__area": { - "value": 173119, + "value": 172761, "compare": "<=" }, "placeopt__design__instance__count__stdcell": { @@ -28,7 +28,7 @@ "compare": "<=" }, "cts__timing__setup__ws": { - "value": -171.0, + "value": -75.0, "compare": ">=" }, "cts__timing__setup__tns": { @@ -36,15 +36,15 @@ "compare": ">=" }, "cts__timing__hold__ws": { - "value": -197.0, + "value": -104.0, "compare": ">=" }, "cts__timing__hold__tns": { - "value": -671.0, + "value": -376.0, "compare": ">=" }, "globalroute__antenna_diodes_count": { - "value": 107, + "value": 106, "compare": "<=" }, "globalroute__timing__setup__ws": { @@ -64,7 +64,7 @@ "compare": ">=" }, "detailedroute__route__wirelength": { - "value": 2518773, + "value": 2307185, "compare": "<=" }, "detailedroute__route__drc_errors": { @@ -76,7 +76,7 @@ "compare": "<=" }, "detailedroute__antenna_diodes_count": { - "value": 107, + "value": 106, "compare": "<=" }, "finish__timing__setup__ws": { @@ -96,7 +96,7 @@ "compare": ">=" }, "finish__design__instance__area": { - "value": 177792, + "value": 177526, "compare": "<=" } } \ No newline at end of file diff --git a/flow/designs/gf12/tinyRocket/rules-base.json b/flow/designs/gf12/tinyRocket/rules-base.json index 6d12bb810e..ade7a44031 100644 --- a/flow/designs/gf12/tinyRocket/rules-base.json +++ b/flow/designs/gf12/tinyRocket/rules-base.json @@ -32,7 +32,7 @@ "compare": ">=" }, "cts__timing__setup__tns": { - "value": -166.0, + "value": -160.0, "compare": ">=" }, "cts__timing__hold__ws": { @@ -92,7 +92,7 @@ "compare": ">=" }, "finish__timing__hold__tns": { - "value": -545.0, + "value": -160.0, "compare": ">=" }, "finish__design__instance__area": { diff --git a/flow/designs/rapidus2hp/cva6/rules-base.json b/flow/designs/rapidus2hp/cva6/rules-base.json index 5b1bffa7ea..d8a9b967d9 100644 --- a/flow/designs/rapidus2hp/cva6/rules-base.json +++ b/flow/designs/rapidus2hp/cva6/rules-base.json @@ -62,5 +62,25 @@ "globalroute__timing__hold__tns": { "value": -0.1, "compare": ">=" + }, + "finish__timing__setup__ws": { + "value": -0.04, + "compare": ">=" + }, + "finish__timing__setup__tns": { + "value": -0.16, + "compare": ">=" + }, + "finish__timing__hold__ws": { + "value": -0.041, + "compare": ">=" + }, + "finish__timing__hold__tns": { + "value": -0.161, + "compare": ">=" + }, + "finish__design__instance__area": { + "value": 13245, + "compare": "<=" } } \ No newline at end of file diff --git a/flow/designs/rapidus2hp/cva6/rules-verific.json b/flow/designs/rapidus2hp/cva6/rules-verific.json index 283c4e6edf..42b5921353 100644 --- a/flow/designs/rapidus2hp/cva6/rules-verific.json +++ b/flow/designs/rapidus2hp/cva6/rules-verific.json @@ -62,5 +62,25 @@ "globalroute__timing__hold__tns": { "value": -0.1, "compare": ">=" + }, + "finish__timing__setup__ws": { + "value": -0.0418, + "compare": ">=" + }, + "finish__timing__setup__tns": { + "value": -0.163, + "compare": ">=" + }, + "finish__timing__hold__ws": { + "value": -0.04, + "compare": ">=" + }, + "finish__timing__hold__tns": { + "value": -0.16, + "compare": ">=" + }, + "finish__design__instance__area": { + "value": 13165, + "compare": "<=" } } \ No newline at end of file diff --git a/flow/designs/rapidus2hp/ethmac/rules-base.json b/flow/designs/rapidus2hp/ethmac/rules-base.json index 54d948c77e..6ade30b45c 100644 --- a/flow/designs/rapidus2hp/ethmac/rules-base.json +++ b/flow/designs/rapidus2hp/ethmac/rules-base.json @@ -32,7 +32,7 @@ "compare": ">=" }, "cts__timing__setup__tns": { - "value": -1.76, + "value": -1.78, "compare": ">=" }, "cts__timing__hold__ws": { @@ -52,7 +52,7 @@ "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -3.11, + "value": -3.1, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -68,7 +68,7 @@ "compare": ">=" }, "finish__timing__setup__tns": { - "value": -3.11, + "value": -3.1, "compare": ">=" }, "finish__timing__hold__ws": { @@ -80,7 +80,7 @@ "compare": ">=" }, "finish__design__instance__area": { - "value": 3298, + "value": 3297, "compare": "<=" } } \ No newline at end of file diff --git a/flow/designs/rapidus2hp/ethmac/rules-verific.json b/flow/designs/rapidus2hp/ethmac/rules-verific.json index 20b22e1eab..f9a9dba1d7 100644 --- a/flow/designs/rapidus2hp/ethmac/rules-verific.json +++ b/flow/designs/rapidus2hp/ethmac/rules-verific.json @@ -32,7 +32,7 @@ "compare": ">=" }, "cts__timing__setup__tns": { - "value": -1.6, + "value": -1.81, "compare": ">=" }, "cts__timing__hold__ws": { @@ -52,7 +52,7 @@ "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -2.59, + "value": -3.03, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -68,7 +68,7 @@ "compare": ">=" }, "finish__timing__setup__tns": { - "value": -2.59, + "value": -3.03, "compare": ">=" }, "finish__timing__hold__ws": { diff --git a/flow/designs/rapidus2hp/gcd/rules-base.json b/flow/designs/rapidus2hp/gcd/rules-base.json index bfd94159b2..eb6b291c09 100644 --- a/flow/designs/rapidus2hp/gcd/rules-base.json +++ b/flow/designs/rapidus2hp/gcd/rules-base.json @@ -32,7 +32,7 @@ "compare": ">=" }, "cts__timing__setup__tns": { - "value": -0.697, + "value": -0.76, "compare": ">=" }, "cts__timing__hold__ws": { @@ -52,7 +52,7 @@ "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -1.29, + "value": -1.14, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -68,7 +68,7 @@ "compare": ">=" }, "finish__timing__setup__tns": { - "value": -1.29, + "value": -1.14, "compare": ">=" }, "finish__timing__hold__ws": { @@ -80,7 +80,7 @@ "compare": ">=" }, "finish__design__instance__area": { - "value": 33, + "value": 32, "compare": "<=" } } \ No newline at end of file diff --git a/flow/designs/rapidus2hp/gcd/rules-verific.json b/flow/designs/rapidus2hp/gcd/rules-verific.json index 8938aeaf88..8775d26fdc 100644 --- a/flow/designs/rapidus2hp/gcd/rules-verific.json +++ b/flow/designs/rapidus2hp/gcd/rules-verific.json @@ -32,7 +32,7 @@ "compare": ">=" }, "cts__timing__setup__tns": { - "value": -1.26, + "value": -1.25, "compare": ">=" }, "cts__timing__hold__ws": { @@ -48,11 +48,11 @@ "compare": "<=" }, "globalroute__timing__setup__ws": { - "value": -0.0502, + "value": -0.0494, "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -1.79, + "value": -1.64, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -64,11 +64,11 @@ "compare": ">=" }, "finish__timing__setup__ws": { - "value": -0.0502, + "value": -0.0494, "compare": ">=" }, "finish__timing__setup__tns": { - "value": -1.79, + "value": -1.64, "compare": ">=" }, "finish__timing__hold__ws": { diff --git a/flow/designs/rapidus2hp/hercules_idecode/rules-base.json b/flow/designs/rapidus2hp/hercules_idecode/rules-base.json index 6242192b4f..df318af927 100644 --- a/flow/designs/rapidus2hp/hercules_idecode/rules-base.json +++ b/flow/designs/rapidus2hp/hercules_idecode/rules-base.json @@ -48,11 +48,11 @@ "compare": "<=" }, "globalroute__timing__setup__ws": { - "value": -0.0953, + "value": -0.12, "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -97.2, + "value": -80.4, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -62,5 +62,25 @@ "globalroute__timing__hold__tns": { "value": -0.05, "compare": ">=" + }, + "finish__timing__setup__ws": { + "value": -0.12, + "compare": ">=" + }, + "finish__timing__setup__tns": { + "value": -80.4, + "compare": ">=" + }, + "finish__timing__hold__ws": { + "value": -0.0185, + "compare": ">=" + }, + "finish__timing__hold__tns": { + "value": -0.074, + "compare": ">=" + }, + "finish__design__instance__area": { + "value": 9973, + "compare": "<=" } } \ No newline at end of file diff --git a/flow/designs/rapidus2hp/hercules_idecode/rules-verific.json b/flow/designs/rapidus2hp/hercules_idecode/rules-verific.json index 6e7219746c..178f17de18 100644 --- a/flow/designs/rapidus2hp/hercules_idecode/rules-verific.json +++ b/flow/designs/rapidus2hp/hercules_idecode/rules-verific.json @@ -52,7 +52,7 @@ "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -224.0, + "value": -154.0, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -62,5 +62,25 @@ "globalroute__timing__hold__tns": { "value": -0.05, "compare": ">=" + }, + "finish__timing__setup__ws": { + "value": -0.0964, + "compare": ">=" + }, + "finish__timing__setup__tns": { + "value": -154.0, + "compare": ">=" + }, + "finish__timing__hold__ws": { + "value": -0.0185, + "compare": ">=" + }, + "finish__timing__hold__tns": { + "value": -0.074, + "compare": ">=" + }, + "finish__design__instance__area": { + "value": 10028, + "compare": "<=" } } \ No newline at end of file diff --git a/flow/designs/rapidus2hp/hercules_is_int/rules-base.json b/flow/designs/rapidus2hp/hercules_is_int/rules-base.json index 32b6d1770f..7f232282fe 100644 --- a/flow/designs/rapidus2hp/hercules_is_int/rules-base.json +++ b/flow/designs/rapidus2hp/hercules_is_int/rules-base.json @@ -32,7 +32,7 @@ "compare": ">=" }, "cts__timing__setup__tns": { - "value": -368.0, + "value": -442.0, "compare": ">=" }, "cts__timing__hold__ws": { @@ -48,11 +48,11 @@ "compare": "<=" }, "globalroute__timing__setup__ws": { - "value": -0.263, + "value": -0.241, "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -1050.0, + "value": -1040.0, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -60,7 +60,27 @@ "compare": ">=" }, "globalroute__timing__hold__tns": { - "value": -0.703, + "value": -0.947, "compare": ">=" + }, + "finish__timing__setup__ws": { + "value": -0.241, + "compare": ">=" + }, + "finish__timing__setup__tns": { + "value": -1040.0, + "compare": ">=" + }, + "finish__timing__hold__ws": { + "value": -0.0404, + "compare": ">=" + }, + "finish__timing__hold__tns": { + "value": -0.947, + "compare": ">=" + }, + "finish__design__instance__area": { + "value": 29956, + "compare": "<=" } } \ No newline at end of file diff --git a/flow/designs/rapidus2hp/hercules_is_int/rules-verific.json b/flow/designs/rapidus2hp/hercules_is_int/rules-verific.json index 3565342ef3..9af77c3bb7 100644 --- a/flow/designs/rapidus2hp/hercules_is_int/rules-verific.json +++ b/flow/designs/rapidus2hp/hercules_is_int/rules-verific.json @@ -32,7 +32,7 @@ "compare": ">=" }, "cts__timing__setup__tns": { - "value": -332.0, + "value": -331.0, "compare": ">=" }, "cts__timing__hold__ws": { @@ -48,19 +48,39 @@ "compare": "<=" }, "globalroute__timing__setup__ws": { - "value": -0.212, + "value": -0.251, "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -983.0, + "value": -1190.0, "compare": ">=" }, "globalroute__timing__hold__ws": { - "value": -0.0125, + "value": -0.037, "compare": ">=" }, "globalroute__timing__hold__tns": { "value": -0.581, "compare": ">=" + }, + "finish__timing__setup__ws": { + "value": -0.251, + "compare": ">=" + }, + "finish__timing__setup__tns": { + "value": -990.0, + "compare": ">=" + }, + "finish__timing__hold__ws": { + "value": -0.037, + "compare": ">=" + }, + "finish__timing__hold__tns": { + "value": -0.584, + "compare": ">=" + }, + "finish__design__instance__area": { + "value": 30086, + "compare": "<=" } } \ No newline at end of file diff --git a/flow/designs/rapidus2hp/ibex/rules-base.json b/flow/designs/rapidus2hp/ibex/rules-base.json index 26b3bd53fe..689748bbc0 100644 --- a/flow/designs/rapidus2hp/ibex/rules-base.json +++ b/flow/designs/rapidus2hp/ibex/rules-base.json @@ -48,11 +48,11 @@ "compare": "<=" }, "globalroute__timing__setup__ws": { - "value": -0.0882, + "value": -0.0777, "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -43.3, + "value": -20.4, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -62,5 +62,25 @@ "globalroute__timing__hold__tns": { "value": -0.09, "compare": ">=" + }, + "finish__timing__setup__ws": { + "value": -0.0777, + "compare": ">=" + }, + "finish__timing__setup__tns": { + "value": -20.4, + "compare": ">=" + }, + "finish__timing__hold__ws": { + "value": -0.0225, + "compare": ">=" + }, + "finish__timing__hold__tns": { + "value": -0.09, + "compare": ">=" + }, + "finish__design__instance__area": { + "value": 1045, + "compare": "<=" } } \ No newline at end of file diff --git a/flow/designs/rapidus2hp/ibex/rules-verific.json b/flow/designs/rapidus2hp/ibex/rules-verific.json index 5827052afa..c3a447946a 100644 --- a/flow/designs/rapidus2hp/ibex/rules-verific.json +++ b/flow/designs/rapidus2hp/ibex/rules-verific.json @@ -28,11 +28,11 @@ "compare": "<=" }, "cts__timing__setup__ws": { - "value": -0.0452, + "value": -0.0415, "compare": ">=" }, "cts__timing__setup__tns": { - "value": -0.26, + "value": -0.578, "compare": ">=" }, "cts__timing__hold__ws": { @@ -52,7 +52,7 @@ "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -25.3, + "value": -28.6, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -62,5 +62,25 @@ "globalroute__timing__hold__tns": { "value": -0.09, "compare": ">=" + }, + "finish__timing__setup__ws": { + "value": -0.0819, + "compare": ">=" + }, + "finish__timing__setup__tns": { + "value": -28.6, + "compare": ">=" + }, + "finish__timing__hold__ws": { + "value": -0.0225, + "compare": ">=" + }, + "finish__timing__hold__tns": { + "value": -0.09, + "compare": ">=" + }, + "finish__design__instance__area": { + "value": 1112, + "compare": "<=" } } \ No newline at end of file diff --git a/flow/designs/rapidus2hp/jpeg/rules-base.json b/flow/designs/rapidus2hp/jpeg/rules-base.json index 33b0d2ba44..c735dc03a3 100644 --- a/flow/designs/rapidus2hp/jpeg/rules-base.json +++ b/flow/designs/rapidus2hp/jpeg/rules-base.json @@ -48,11 +48,11 @@ "compare": "<=" }, "globalroute__timing__setup__ws": { - "value": -0.0564, + "value": -0.0551, "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -31.9, + "value": -26.2, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -62,5 +62,25 @@ "globalroute__timing__hold__tns": { "value": -0.03, "compare": ">=" + }, + "finish__timing__setup__ws": { + "value": -0.0551, + "compare": ">=" + }, + "finish__timing__setup__tns": { + "value": -26.2, + "compare": ">=" + }, + "finish__timing__hold__ws": { + "value": -0.0112, + "compare": ">=" + }, + "finish__timing__hold__tns": { + "value": -0.045, + "compare": ">=" + }, + "finish__design__instance__area": { + "value": 4231, + "compare": "<=" } } \ No newline at end of file diff --git a/flow/designs/rapidus2hp/jpeg/rules-verific.json b/flow/designs/rapidus2hp/jpeg/rules-verific.json index 508f976148..348cd0819e 100644 --- a/flow/designs/rapidus2hp/jpeg/rules-verific.json +++ b/flow/designs/rapidus2hp/jpeg/rules-verific.json @@ -48,11 +48,11 @@ "compare": "<=" }, "globalroute__timing__setup__ws": { - "value": -0.0712, + "value": -0.0527, "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -33.5, + "value": -26.5, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -62,5 +62,25 @@ "globalroute__timing__hold__tns": { "value": -0.03, "compare": ">=" + }, + "finish__timing__setup__ws": { + "value": -0.0527, + "compare": ">=" + }, + "finish__timing__setup__tns": { + "value": -26.5, + "compare": ">=" + }, + "finish__timing__hold__ws": { + "value": -0.0112, + "compare": ">=" + }, + "finish__timing__hold__tns": { + "value": -0.045, + "compare": ">=" + }, + "finish__design__instance__area": { + "value": 4180, + "compare": "<=" } } \ No newline at end of file From 95ca2f9ac49bdc2f217522e1c06dda128231e4d5 Mon Sep 17 00:00:00 2001 From: Augusto Berndt Date: Sat, 18 Apr 2026 09:59:22 +0000 Subject: [PATCH 7/9] remove accidental file Signed-off-by: Augusto Berndt --- flow/utilizationSweep.sh | 37 ------------------------------------- 1 file changed, 37 deletions(-) delete mode 100755 flow/utilizationSweep.sh diff --git a/flow/utilizationSweep.sh b/flow/utilizationSweep.sh deleted file mode 100755 index 309a932718..0000000000 --- a/flow/utilizationSweep.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash - -CORE_UTILIZATION_VALUES=(59 64 65 66) -DESIGN_CONFIG="designs/rapidus2hp/hercules_is_int/config.mk" - -# CORE_UTILIZATION_VALUES=(50 51 52 53 54 55 56 57) -# DESIGN_CONFIG="designs/rapidus2hp/gcd/config.mk" - - -#DESIGN_CONFIG="designs/sky130hs/ibex/config.mk" - -STRING_PARAM="$1" -#SYNTH_HDL_FRONTEND=verific \ - -for CORE_UTILIZATION in "${CORE_UTILIZATION_VALUES[@]}"; do - # Construct the command string clearly - CMD="make \ - DESIGN_CONFIG='$DESIGN_CONFIG' \ - FLOW_VARIANT='$CORE_UTILIZATION' \ - CORE_UTILIZATION='$CORE_UTILIZATION' \ - PLATFORM_HOME=/platforms \ - $STRING_PARAM" - - echo "----------------------------------------" - echo "Check: Launching terminal for density ${CORE_UTILIZATION}..." - echo "Command: $CMD" - echo "----------------------------------------" - - # Pass the variable to the terminal - gnome-terminal -- bash -c "$CMD; exec bash" - - sleep 0.5 -done - -wait - -echo "All jobs completed." From 9ecdc95d6a54d4440784ceab9ede0ecf360e75ed Mon Sep 17 00:00:00 2001 From: Augusto Berndt Date: Sun, 19 Apr 2026 09:59:50 +0000 Subject: [PATCH 8/9] remove accidental modification for using negotiation on all designs Signed-off-by: Augusto Berndt --- flow/test/test_helper.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flow/test/test_helper.sh b/flow/test/test_helper.sh index 0453092d04..dcd5081631 100755 --- a/flow/test/test_helper.sh +++ b/flow/test/test_helper.sh @@ -19,7 +19,7 @@ fi LOG_FILE=${WORK_HOME}/logs/$PLATFORM/$DESIGN_NAME.log mkdir -p "${WORK_HOME}/logs/$PLATFORM" -__make="make DESIGN_CONFIG=$DESIGN_CONFIG USE_NEGOTIATION=1" +__make="make DESIGN_CONFIG=$DESIGN_CONFIG" if [ -n "${FLOW_VARIANT+x}" ]; then __make+=" FLOW_VARIANT=$FLOW_VARIANT" fi From 831f15b4d3e58f5c1f5a95dbff3c62c934f41434 Mon Sep 17 00:00:00 2001 From: Augusto Berndt Date: Sun, 19 Apr 2026 10:05:37 +0000 Subject: [PATCH 9/9] update OR Signed-off-by: Augusto Berndt --- tools/OpenROAD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/OpenROAD b/tools/OpenROAD index e682a4f143..0504146ce6 160000 --- a/tools/OpenROAD +++ b/tools/OpenROAD @@ -1 +1 @@ -Subproject commit e682a4f14307ba2a90cfc1ff3dd3b9e3bccd8c26 +Subproject commit 0504146ce69e43d3cc104bfa3bf3c126d04a69fb