From f567b025962df93493b18afeb73b85e0ca6da8bf Mon Sep 17 00:00:00 2001 From: Augusto Berndt Date: Mon, 3 Aug 2026 14:24:35 +0000 Subject: [PATCH 1/6] 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 7cfb2105c9..70076867f3 160000 --- a/tools/OpenROAD +++ b/tools/OpenROAD @@ -1 +1 @@ -Subproject commit 7cfb2105c93c35ce73de9cf4f538de1c9bf8115a +Subproject commit 70076867f3dd82216beac33cefb11cef779060ff From 980efeede655579b503489dfb5dd22b974be067e Mon Sep 17 00:00:00 2001 From: Augusto Berndt Date: Mon, 3 Aug 2026 14:24:48 +0000 Subject: [PATCH 2/6] 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 70076867f3..78b372e4ca 160000 --- a/tools/OpenROAD +++ b/tools/OpenROAD @@ -1 +1 @@ -Subproject commit 70076867f3dd82216beac33cefb11cef779060ff +Subproject commit 78b372e4cace1ba11be496a93351b9ee93d93017 From 825a16a1d246f57b031dc7470f3e830f6e7e6bb1 Mon Sep 17 00:00:00 2001 From: Augusto Berndt Date: Wed, 19 Aug 2026 22:02:55 +0000 Subject: [PATCH 3/6] 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 ce8d85eaae..6a5ca715db 160000 --- a/tools/OpenROAD +++ b/tools/OpenROAD @@ -1 +1 @@ -Subproject commit ce8d85eaaee774e6702efa61d0f2dbc4649474f4 +Subproject commit 6a5ca715db48d5469b390087897a97709837cd15 From f5941120663fc1e2b8d863e6bd092701e69bbfd6 Mon Sep 17 00:00:00 2001 From: Augusto Berndt Date: Fri, 21 Aug 2026 00:35:44 +0000 Subject: [PATCH 4/6] 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 6a5ca715db..b33591c5dc 160000 --- a/tools/OpenROAD +++ b/tools/OpenROAD @@ -1 +1 @@ -Subproject commit 6a5ca715db48d5469b390087897a97709837cd15 +Subproject commit b33591c5dc2d54ae9bd7f192e50b5100828a3e1a From 57de1c740ae0426722dc58d216536ee7b3feebb2 Mon Sep 17 00:00:00 2001 From: Augusto Berndt Date: Mon, 24 Aug 2026 15:43:55 +0000 Subject: [PATCH 5/6] 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 b33591c5dc..c53381e83f 160000 --- a/tools/OpenROAD +++ b/tools/OpenROAD @@ -1 +1 @@ -Subproject commit b33591c5dc2d54ae9bd7f192e50b5100828a3e1a +Subproject commit c53381e83f8c99e1a5519710011a2fe296a0c344 From 72ca9d7f646aeb219b9fe19dea5ed4e23b1365f8 Mon Sep 17 00:00:00 2001 From: Augusto Berndt Date: Tue, 25 Aug 2026 00:08:07 +0000 Subject: [PATCH 6/6] Update OK metrics MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit designs/gf180/riscv32i/rules-base.json updates: | Metric | Old | New | Type | | ------ | --- | --- | ---- | | cts__timing__setup__tns | -4.98 | -3.85 | Tighten | | globalroute__timing__setup__tns | -5.5 | -10.1 | Failing | | finish__timing__setup__tns | -5.5 | -9.95 | Failing | designs/asap7/ethmac_lvt/rules-base.json updates: | Metric | Old | New | Type | | ------ | --- | --- | ---- | | placeopt__design__instance__area | 8324 | 8308 | Tighten | | cts__timing__setup__ws | -35.2 | -35.0 | Tighten | | globalroute__timing__setup__ws | -45.6 | -45.5 | Tighten | | globalroute__timing__setup__tns | -537.0 | -531.0 | Tighten | | finish__timing__setup__tns | -268.0 | -422.0 | Failing | designs/asap7/riscv32i/rules-base.json updates: | Metric | Old | New | Type | | ------ | --- | --- | ---- | | cts__timing__setup__tns | -384.0 | -234.0 | Tighten | | globalroute__timing__setup__tns | -1890.0 | -3800.0 | Failing | | finish__timing__setup__ws | -80.6 | -79.5 | Tighten | | finish__timing__setup__tns | -12100.0 | -14500.0 | Failing | designs/sky130hd/chameleon/rules-base.json updates: | Metric | Old | New | Type | | ------ | --- | --- | ---- | | synth__canonical_netlist__hash | a00ab29ad0ffbaeefa32f9095dc0ba456716fff7 | 95da73a25e9cd04ecac4d295fdb60c2fee120741 | Failing | | synth__netlist__hash | 2336e903becb507610dd910ba765f7fc269d1f95 | 20346e2bb71b3bceb5ddfd86c17ebd78f52a7810 | Failing | | cts__timing__setup__ws | -3.25 | -3.21 | Tighten | | cts__timing__setup__tns | -136.0 | -134.0 | Tighten | | globalroute__antenna_diodes_count | 179 | 138 | Tighten | | globalroute__timing__setup__tns | -48.8 | -92.5 | Failing | | detailedroute__route__wirelength | 853725 | 851647 | Tighten | | detailedroute__antenna_diodes_count | 106 | 119 | Failing | | finish__timing__setup__ws | -2.66 | -2.52 | Tighten | | finish__timing__setup__tns | -47.4 | -85.6 | Failing | designs/sky130hd/gcd/rules-base.json updates: | Metric | Old | New | Type | | ------ | --- | --- | ---- | | cts__design__instance__count__setup_buffer | 48 | 54 | Failing | | cts__timing__setup__ws | -1.57 | -1.49 | Tighten | | cts__timing__setup__tns | -68.5 | -63.9 | Tighten | | globalroute__timing__setup__ws | -1.75 | -1.61 | Tighten | | globalroute__timing__setup__tns | -75.0 | -69.7 | Tighten | | detailedroute__route__wirelength | 14559 | 13554 | Tighten | | finish__timing__setup__ws | -1.68 | -1.52 | Tighten | | finish__timing__setup__tns | -71.2 | -65.3 | Tighten | designs/sky130hd/microwatt/rules-base.json updates: | Metric | Old | New | Type | | ------ | --- | --- | ---- | | cts__timing__setup__tns | -230.0 | -243.0 | Failing | | globalroute__antenna_diodes_count | 3427 | 3431 | Failing | | globalroute__timing__setup__tns | -225.0 | -262.0 | Failing | | detailedroute__route__wirelength | 7780575 | 7753254 | Tighten | | detailedroute__antenna__violating__nets | 72 | 69 | Tighten | | detailedroute__antenna_diodes_count | 1393 | 1425 | Failing | | finish__timing__setup__tns | -181.0 | -203.0 | Failing | designs/nangate45/tinyRocket/rules-base.json updates: | Metric | Old | New | Type | | ------ | --- | --- | ---- | | cts__timing__setup__ws | -0.201 | -0.195 | Tighten | | cts__timing__setup__tns | -31.4 | -36.0 | Failing | | globalroute__timing__setup__tns | -49.7 | -53.7 | Failing | | finish__timing__setup__tns | -47.7 | -48.0 | Failing | designs/nangate45/dynamic_node/rules-base.json updates: | Metric | Old | New | Type | | ------ | --- | --- | ---- | | cts__timing__setup__ws | -1.13 | -1.11 | Tighten | | cts__timing__setup__tns | -952.0 | -795.0 | Tighten | | globalroute__timing__setup__ws | -1.14 | -1.13 | Tighten | | globalroute__timing__setup__tns | -800.0 | -797.0 | Tighten | | detailedroute__route__wirelength | 256231 | 246867 | Tighten | | finish__timing__setup__ws | -1.11 | -1.1 | Tighten | | finish__timing__setup__tns | -821.0 | -824.0 | Failing | | finish__design__instance__area | 30878 | 30558 | Tighten | designs/nangate45/ibex/rules-base.json updates: | Metric | Old | New | Type | | ------ | --- | --- | ---- | | synth__design__instance__area__stdcell | 32800.0 | 32400.0 | Tighten | | placeopt__design__instance__count__stdcell | 17244 | 16921 | Tighten | | cts__design__instance__count__setup_buffer | 1500 | 1471 | Tighten | | cts__design__instance__count__hold_buffer | 1500 | 1471 | Tighten | | globalroute__timing__setup__ws | -0.127 | -0.111 | Tighten | | globalroute__timing__setup__tns | -1.27 | -0.441 | Tighten | | finish__timing__setup__tns | -0.44 | -1.08 | Failing | Large percentage changes in failing metrics (>50%): - ibex (nangate45) finish__timing__setup__tns 145.45% (-0.44 → -1.08) - riscv32i (asap7) globalroute__timing__setup__tns 101.06% (-1890.0 → -3800.0) - chameleon (sky130hd) globalroute__timing__setup__tns 89.55% (-48.8 → -92.5) - riscv32i (gf180) globalroute__timing__setup__tns 83.64% (-5.5 → -10.1) - riscv32i (gf180) finish__timing__setup__tns 80.91% (-5.5 → -9.95) - chameleon (sky130hd) finish__timing__setup__tns 80.59% (-47.4 → -85.6) - ethmac_lvt (asap7) finish__timing__setup__tns 57.46% (-268.0 → -422.0) Large percentage improvements in tighten metrics (>50%): - ibex (nangate45) globalroute__timing__setup__tns -65.28% (-1.27 → -0.441) Signed-off-by: Augusto Berndt --- flow/designs/asap7/ethmac_lvt/rules-base.json | 10 +++++----- flow/designs/asap7/riscv32i/rules-base.json | 8 ++++---- flow/designs/gf12/ibex/rules-base.json | 10 ++++++++++ flow/designs/gf180/riscv32i/rules-base.json | 6 +++--- .../nangate45/dynamic_node/rules-base.json | 16 +++++++-------- flow/designs/nangate45/ibex/rules-base.json | 14 ++++++------- .../nangate45/tinyRocket/rules-base.json | 8 ++++---- .../sky130hd/chameleon/rules-base.json | 20 +++++++++---------- flow/designs/sky130hd/gcd/rules-base.json | 16 +++++++-------- .../sky130hd/microwatt/rules-base.json | 14 ++++++------- 10 files changed, 66 insertions(+), 56 deletions(-) diff --git a/flow/designs/asap7/ethmac_lvt/rules-base.json b/flow/designs/asap7/ethmac_lvt/rules-base.json index 2557868ba1..bd072ab1cd 100644 --- a/flow/designs/asap7/ethmac_lvt/rules-base.json +++ b/flow/designs/asap7/ethmac_lvt/rules-base.json @@ -18,7 +18,7 @@ "compare": "==" }, "placeopt__design__instance__area": { - "value": 8324, + "value": 8308, "compare": "<=" }, "placeopt__design__instance__count__stdcell": { @@ -38,7 +38,7 @@ "compare": "<=" }, "cts__timing__setup__ws": { - "value": -35.2, + "value": -35.0, "compare": ">=" }, "cts__timing__setup__tns": { @@ -58,11 +58,11 @@ "compare": "<=" }, "globalroute__timing__setup__ws": { - "value": -45.6, + "value": -45.5, "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -537.0, + "value": -531.0, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -94,7 +94,7 @@ "compare": ">=" }, "finish__timing__setup__tns": { - "value": -268.0, + "value": -422.0, "compare": ">=" }, "finish__timing__hold__ws": { diff --git a/flow/designs/asap7/riscv32i/rules-base.json b/flow/designs/asap7/riscv32i/rules-base.json index 5770da715e..011837a584 100644 --- a/flow/designs/asap7/riscv32i/rules-base.json +++ b/flow/designs/asap7/riscv32i/rules-base.json @@ -42,7 +42,7 @@ "compare": ">=" }, "cts__timing__setup__tns": { - "value": -384.0, + "value": -234.0, "compare": ">=" }, "cts__timing__hold__ws": { @@ -62,7 +62,7 @@ "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -1890.0, + "value": -3800.0, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -90,11 +90,11 @@ "compare": "<=" }, "finish__timing__setup__ws": { - "value": -80.6, + "value": -79.5, "compare": ">=" }, "finish__timing__setup__tns": { - "value": -12100.0, + "value": -14500.0, "compare": ">=" }, "finish__timing__hold__ws": { diff --git a/flow/designs/gf12/ibex/rules-base.json b/flow/designs/gf12/ibex/rules-base.json index e723f4d7a1..f14da3db78 100644 --- a/flow/designs/gf12/ibex/rules-base.json +++ b/flow/designs/gf12/ibex/rules-base.json @@ -1,4 +1,14 @@ { + "synth__canonical_netlist__hash": { + "value": "19205756e596aefe4e3bce501eb12b920034e997", + "compare": "==", + "level": "warning" + }, + "synth__netlist__hash": { + "value": "deb1d07547fde83dfe991734ceec471317ae9e40", + "compare": "==", + "level": "warning" + }, "synth__design__instance__area__stdcell": { "value": 6241.99, "compare": "<=" diff --git a/flow/designs/gf180/riscv32i/rules-base.json b/flow/designs/gf180/riscv32i/rules-base.json index 0fa18aa057..17459ba298 100644 --- a/flow/designs/gf180/riscv32i/rules-base.json +++ b/flow/designs/gf180/riscv32i/rules-base.json @@ -42,7 +42,7 @@ "compare": ">=" }, "cts__timing__setup__tns": { - "value": -4.98, + "value": -3.85, "compare": ">=" }, "cts__timing__hold__ws": { @@ -62,7 +62,7 @@ "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -5.5, + "value": -10.1, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -94,7 +94,7 @@ "compare": ">=" }, "finish__timing__setup__tns": { - "value": -5.5, + "value": -9.95, "compare": ">=" }, "finish__timing__hold__ws": { diff --git a/flow/designs/nangate45/dynamic_node/rules-base.json b/flow/designs/nangate45/dynamic_node/rules-base.json index 86c4e1d251..0066e8179a 100644 --- a/flow/designs/nangate45/dynamic_node/rules-base.json +++ b/flow/designs/nangate45/dynamic_node/rules-base.json @@ -38,11 +38,11 @@ "compare": "<=" }, "cts__timing__setup__ws": { - "value": -1.13, + "value": -1.11, "compare": ">=" }, "cts__timing__setup__tns": { - "value": -952.0, + "value": -795.0, "compare": ">=" }, "cts__timing__hold__ws": { @@ -58,11 +58,11 @@ "compare": "<=" }, "globalroute__timing__setup__ws": { - "value": -1.14, + "value": -1.13, "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -800.0, + "value": -797.0, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -74,7 +74,7 @@ "compare": ">=" }, "detailedroute__route__wirelength": { - "value": 256231, + "value": 246867, "compare": "<=" }, "detailedroute__route__drc_errors": { @@ -90,11 +90,11 @@ "compare": "<=" }, "finish__timing__setup__ws": { - "value": -1.11, + "value": -1.1, "compare": ">=" }, "finish__timing__setup__tns": { - "value": -821.0, + "value": -824.0, "compare": ">=" }, "finish__timing__hold__ws": { @@ -106,7 +106,7 @@ "compare": ">=" }, "finish__design__instance__area": { - "value": 30878, + "value": 30558, "compare": "<=" } } \ No newline at end of file diff --git a/flow/designs/nangate45/ibex/rules-base.json b/flow/designs/nangate45/ibex/rules-base.json index a82d8af2c3..2de94f1587 100644 --- a/flow/designs/nangate45/ibex/rules-base.json +++ b/flow/designs/nangate45/ibex/rules-base.json @@ -10,7 +10,7 @@ "level": "warning" }, "synth__design__instance__area__stdcell": { - "value": 32800.0, + "value": 32400.0, "compare": "<=" }, "constraints__clocks__count": { @@ -22,7 +22,7 @@ "compare": "<=" }, "placeopt__design__instance__count__stdcell": { - "value": 17244, + "value": 16921, "compare": "<=" }, "detailedplace__design__violations": { @@ -30,11 +30,11 @@ "compare": "==" }, "cts__design__instance__count__setup_buffer": { - "value": 1500, + "value": 1471, "compare": "<=" }, "cts__design__instance__count__hold_buffer": { - "value": 1500, + "value": 1471, "compare": "<=" }, "cts__timing__setup__ws": { @@ -58,11 +58,11 @@ "compare": "<=" }, "globalroute__timing__setup__ws": { - "value": -0.127, + "value": -0.111, "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -1.27, + "value": -0.441, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -94,7 +94,7 @@ "compare": ">=" }, "finish__timing__setup__tns": { - "value": -0.44, + "value": -1.08, "compare": ">=" }, "finish__timing__hold__ws": { diff --git a/flow/designs/nangate45/tinyRocket/rules-base.json b/flow/designs/nangate45/tinyRocket/rules-base.json index 320076b334..588d3f289c 100644 --- a/flow/designs/nangate45/tinyRocket/rules-base.json +++ b/flow/designs/nangate45/tinyRocket/rules-base.json @@ -38,11 +38,11 @@ "compare": "<=" }, "cts__timing__setup__ws": { - "value": -0.201, + "value": -0.195, "compare": ">=" }, "cts__timing__setup__tns": { - "value": -31.4, + "value": -36.0, "compare": ">=" }, "cts__timing__hold__ws": { @@ -62,7 +62,7 @@ "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -49.7, + "value": -53.7, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -94,7 +94,7 @@ "compare": ">=" }, "finish__timing__setup__tns": { - "value": -47.7, + "value": -48.0, "compare": ">=" }, "finish__timing__hold__ws": { diff --git a/flow/designs/sky130hd/chameleon/rules-base.json b/flow/designs/sky130hd/chameleon/rules-base.json index 53922e30a5..813cba7a0b 100644 --- a/flow/designs/sky130hd/chameleon/rules-base.json +++ b/flow/designs/sky130hd/chameleon/rules-base.json @@ -1,11 +1,11 @@ { "synth__canonical_netlist__hash": { - "value": "a00ab29ad0ffbaeefa32f9095dc0ba456716fff7", + "value": "95da73a25e9cd04ecac4d295fdb60c2fee120741", "compare": "==", "level": "warning" }, "synth__netlist__hash": { - "value": "2336e903becb507610dd910ba765f7fc269d1f95", + "value": "20346e2bb71b3bceb5ddfd86c17ebd78f52a7810", "compare": "==", "level": "warning" }, @@ -38,11 +38,11 @@ "compare": "<=" }, "cts__timing__setup__ws": { - "value": -3.25, + "value": -3.21, "compare": ">=" }, "cts__timing__setup__tns": { - "value": -136.0, + "value": -134.0, "compare": ">=" }, "cts__timing__hold__ws": { @@ -54,7 +54,7 @@ "compare": ">=" }, "globalroute__antenna_diodes_count": { - "value": 179, + "value": 138, "compare": "<=" }, "globalroute__timing__setup__ws": { @@ -62,7 +62,7 @@ "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -48.8, + "value": -92.5, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -74,7 +74,7 @@ "compare": ">=" }, "detailedroute__route__wirelength": { - "value": 853725, + "value": 851647, "compare": "<=" }, "detailedroute__route__drc_errors": { @@ -86,15 +86,15 @@ "compare": "<=" }, "detailedroute__antenna_diodes_count": { - "value": 106, + "value": 119, "compare": "<=" }, "finish__timing__setup__ws": { - "value": -2.66, + "value": -2.52, "compare": ">=" }, "finish__timing__setup__tns": { - "value": -47.4, + "value": -85.6, "compare": ">=" }, "finish__timing__hold__ws": { diff --git a/flow/designs/sky130hd/gcd/rules-base.json b/flow/designs/sky130hd/gcd/rules-base.json index 200afbd5e2..6974bada45 100644 --- a/flow/designs/sky130hd/gcd/rules-base.json +++ b/flow/designs/sky130hd/gcd/rules-base.json @@ -30,7 +30,7 @@ "compare": "==" }, "cts__design__instance__count__setup_buffer": { - "value": 48, + "value": 54, "compare": "<=" }, "cts__design__instance__count__hold_buffer": { @@ -38,11 +38,11 @@ "compare": "<=" }, "cts__timing__setup__ws": { - "value": -1.57, + "value": -1.49, "compare": ">=" }, "cts__timing__setup__tns": { - "value": -68.5, + "value": -63.9, "compare": ">=" }, "cts__timing__hold__ws": { @@ -58,11 +58,11 @@ "compare": "<=" }, "globalroute__timing__setup__ws": { - "value": -1.75, + "value": -1.61, "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -75.0, + "value": -69.7, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -74,7 +74,7 @@ "compare": ">=" }, "detailedroute__route__wirelength": { - "value": 14559, + "value": 13554, "compare": "<=" }, "detailedroute__route__drc_errors": { @@ -90,11 +90,11 @@ "compare": "<=" }, "finish__timing__setup__ws": { - "value": -1.68, + "value": -1.52, "compare": ">=" }, "finish__timing__setup__tns": { - "value": -71.2, + "value": -65.3, "compare": ">=" }, "finish__timing__hold__ws": { diff --git a/flow/designs/sky130hd/microwatt/rules-base.json b/flow/designs/sky130hd/microwatt/rules-base.json index df9e439614..0df85271c8 100644 --- a/flow/designs/sky130hd/microwatt/rules-base.json +++ b/flow/designs/sky130hd/microwatt/rules-base.json @@ -42,7 +42,7 @@ "compare": ">=" }, "cts__timing__setup__tns": { - "value": -230.0, + "value": -243.0, "compare": ">=" }, "cts__timing__hold__ws": { @@ -54,7 +54,7 @@ "compare": ">=" }, "globalroute__antenna_diodes_count": { - "value": 3427, + "value": 3431, "compare": "<=" }, "globalroute__timing__setup__ws": { @@ -62,7 +62,7 @@ "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -225.0, + "value": -262.0, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -74,7 +74,7 @@ "compare": ">=" }, "detailedroute__route__wirelength": { - "value": 7780575, + "value": 7753254, "compare": "<=" }, "detailedroute__route__drc_errors": { @@ -82,11 +82,11 @@ "compare": "<=" }, "detailedroute__antenna__violating__nets": { - "value": 72, + "value": 69, "compare": "<=" }, "detailedroute__antenna_diodes_count": { - "value": 1393, + "value": 1425, "compare": "<=" }, "finish__timing__setup__ws": { @@ -94,7 +94,7 @@ "compare": ">=" }, "finish__timing__setup__tns": { - "value": -181.0, + "value": -203.0, "compare": ">=" }, "finish__timing__hold__ws": {