From fd2cd6c607af28c526ec7a7f5511ad7f44178b16 Mon Sep 17 00:00:00 2001 From: Minju Kim Date: Thu, 20 Aug 2026 14:00:44 +0900 Subject: [PATCH 1/4] Bump OpenROAD for default max fanout backstop Signed-off-by: Minju Kim --- tools/OpenROAD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/OpenROAD b/tools/OpenROAD index f552262465..5f99184301 160000 --- a/tools/OpenROAD +++ b/tools/OpenROAD @@ -1 +1 @@ -Subproject commit f552262465b0bfef8f097e258f94bc501d01e19d +Subproject commit 5f99184301552b8680f7b95f59c7cd3271d61989 From 6082973b36bb7a5a26da82d6371cb312ed96d6bc Mon Sep 17 00:00:00 2001 From: Minju Kim Date: Thu, 20 Aug 2026 18:11:52 +0900 Subject: [PATCH 2/4] Bump OpenROAD for default max fanout backstop Points tools/OpenROAD at 257db71c3e, the rsz default max fanout backstop rebased onto the OpenROAD commit that ORFS master already pins, so the submodule carries master's engine plus this one change. Signed-off-by: Minju Kim --- tools/OpenROAD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/OpenROAD b/tools/OpenROAD index 5da4a78ec6..7e02e14519 160000 --- a/tools/OpenROAD +++ b/tools/OpenROAD @@ -1 +1 @@ -Subproject commit 5da4a78ec680d3b258dc8344aa3c787c5afa8370 +Subproject commit 7e02e14519dd1b3990583fe11690838d76f3d56f From 9428a13e34c4b658cede1b02fbbd6bdf7054db7a Mon Sep 17 00:00:00 2001 From: Minju Kim Date: Wed, 26 Aug 2026 10:38:01 +0900 Subject: [PATCH 3/4] Bump OpenROAD for default max fanout backstop Points tools/OpenROAD at f86f32d8b5, the rsz default max fanout backstop cherry-picked onto 6cb3f2b704, the OpenROAD commit ORFS master already pins, so the submodule carries master's engine plus this one change. Signed-off-by: Minju Kim --- tools/OpenROAD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/OpenROAD b/tools/OpenROAD index 6cb3f2b704..f86f32d8b5 160000 --- a/tools/OpenROAD +++ b/tools/OpenROAD @@ -1 +1 @@ -Subproject commit 6cb3f2b704604a8961573218e1c8adaae9fe9937 +Subproject commit f86f32d8b5e2af73f243e496d211e3a15be90207 From eceed4c87b58adefcd8127e62dfc892f15d0c955 Mon Sep 17 00:00:00 2001 From: Minju Kim Date: Wed, 26 Aug 2026 13:37:50 +0900 Subject: [PATCH 4/4] Update rules for the OpenROAD default max fanout backstop Six designs fail their metadata checks with the backstop enabled. It buffers high fanout nets that used to stay on a single driver, so setup TNS, routed wirelength and antenna counts move against the current limits. Regenerated with genRuleFile.py --failing from the CI metadata.json of PR-4462-head build 2; no passing rule is tightened. | Design | Metric | Old | New | Type | | ------ | ------ | --- | --- | ---- | | asap7/riscv32i | globalroute__timing__setup__tns | -1890.0 | -3390.0 | Failing | | gf180/aes-hybrid | cts__timing__setup__tns | -132.0 | -137.0 | Failing | | gf180/aes-hybrid | globalroute__timing__setup__tns | -144.0 | -146.0 | Failing | | gf180/jpeg | cts__timing__setup__tns | -1.5 | -23.3 | Failing | | nangate45/bp_fe_top | detailedroute__route__wirelength | 1673870 | 1951663 | Failing | | nangate45/bp_fe_top | finish__timing__setup__tns | -5.17 | -5.53 | Failing | | nangate45/ibex | finish__timing__setup__tns | -0.44 | -0.957 | Failing | | sky130hd/chameleon | cts__timing__setup__tns | -136.0 | -198.0 | Failing | | sky130hd/chameleon | globalroute__timing__setup__tns | -48.8 | -186.0 | Failing | | sky130hd/chameleon | detailedroute__antenna__violating__nets | 0 | 1 | Failing | | sky130hd/chameleon | detailedroute__antenna_diodes_count | 106 | 118 | Failing | | sky130hd/chameleon | finish__timing__setup__tns | -47.4 | -156.0 | Failing | chameleon's two synth netlist hash rules also drift in this run, but they are warning level and pre-date this branch: the submodule pins master's engine plus the one rsz change, so synthesis is untouched. Left them alone. Signed-off-by: Minju Kim --- flow/designs/asap7/riscv32i/rules-base.json | 2 +- flow/designs/gf180/aes-hybrid/rules-base.json | 6 +++--- flow/designs/gf180/jpeg/rules-base.json | 2 +- flow/designs/nangate45/bp_fe_top/rules-base.json | 4 ++-- flow/designs/nangate45/ibex/rules-base.json | 2 +- flow/designs/sky130hd/chameleon/rules-base.json | 10 +++++----- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/flow/designs/asap7/riscv32i/rules-base.json b/flow/designs/asap7/riscv32i/rules-base.json index 5770da715e..a71b0c548d 100644 --- a/flow/designs/asap7/riscv32i/rules-base.json +++ b/flow/designs/asap7/riscv32i/rules-base.json @@ -62,7 +62,7 @@ "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -1890.0, + "value": -3390.0, "compare": ">=" }, "globalroute__timing__hold__ws": { diff --git a/flow/designs/gf180/aes-hybrid/rules-base.json b/flow/designs/gf180/aes-hybrid/rules-base.json index a965f9a3c6..d8ad7f68b8 100644 --- a/flow/designs/gf180/aes-hybrid/rules-base.json +++ b/flow/designs/gf180/aes-hybrid/rules-base.json @@ -42,7 +42,7 @@ "compare": ">=" }, "cts__timing__setup__tns": { - "value": -132.0, + "value": -137.0, "compare": ">=" }, "cts__timing__hold__ws": { @@ -62,7 +62,7 @@ "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -144.0, + "value": -146.0, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -109,4 +109,4 @@ "value": 720794, "compare": "<=" } -} +} \ No newline at end of file diff --git a/flow/designs/gf180/jpeg/rules-base.json b/flow/designs/gf180/jpeg/rules-base.json index df9efc47c7..2f2a5d52a0 100644 --- a/flow/designs/gf180/jpeg/rules-base.json +++ b/flow/designs/gf180/jpeg/rules-base.json @@ -42,7 +42,7 @@ "compare": ">=" }, "cts__timing__setup__tns": { - "value": -1.5, + "value": -23.3, "compare": ">=" }, "cts__timing__hold__ws": { diff --git a/flow/designs/nangate45/bp_fe_top/rules-base.json b/flow/designs/nangate45/bp_fe_top/rules-base.json index 775e0a31e4..4a80515872 100644 --- a/flow/designs/nangate45/bp_fe_top/rules-base.json +++ b/flow/designs/nangate45/bp_fe_top/rules-base.json @@ -74,7 +74,7 @@ "compare": ">=" }, "detailedroute__route__wirelength": { - "value": 1673870, + "value": 1951663, "compare": "<=" }, "detailedroute__route__drc_errors": { @@ -94,7 +94,7 @@ "compare": ">=" }, "finish__timing__setup__tns": { - "value": -5.17, + "value": -5.53, "compare": ">=" }, "finish__timing__hold__ws": { diff --git a/flow/designs/nangate45/ibex/rules-base.json b/flow/designs/nangate45/ibex/rules-base.json index a82d8af2c3..b2e58dc829 100644 --- a/flow/designs/nangate45/ibex/rules-base.json +++ b/flow/designs/nangate45/ibex/rules-base.json @@ -94,7 +94,7 @@ "compare": ">=" }, "finish__timing__setup__tns": { - "value": -0.44, + "value": -0.957, "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..b3ba38b5a4 100644 --- a/flow/designs/sky130hd/chameleon/rules-base.json +++ b/flow/designs/sky130hd/chameleon/rules-base.json @@ -42,7 +42,7 @@ "compare": ">=" }, "cts__timing__setup__tns": { - "value": -136.0, + "value": -198.0, "compare": ">=" }, "cts__timing__hold__ws": { @@ -62,7 +62,7 @@ "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -48.8, + "value": -186.0, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -82,11 +82,11 @@ "compare": "<=" }, "detailedroute__antenna__violating__nets": { - "value": 0, + "value": 1, "compare": "<=" }, "detailedroute__antenna_diodes_count": { - "value": 106, + "value": 118, "compare": "<=" }, "finish__timing__setup__ws": { @@ -94,7 +94,7 @@ "compare": ">=" }, "finish__timing__setup__tns": { - "value": -47.4, + "value": -156.0, "compare": ">=" }, "finish__timing__hold__ws": {