From 415bf93c0e7747fa6c898897f63e4ef30e216526 Mon Sep 17 00:00:00 2001 From: Minju Kim Date: Fri, 21 Aug 2026 17:39:28 +0900 Subject: [PATCH 1/2] flow: bump OpenROAD to the gpl HPWL metric commit Picks up gpl reporting HPWL after global placement, which writes globalplace__route__wirelength__estimated into the global place stage metrics. Nothing in the flow scripts has to change: genMetrics.py merges every key it finds in 3_*.json, and checkMetadata.py only looks at the fields named in the rule files. Signed-off-by: Minju Kim --- tools/OpenROAD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/OpenROAD b/tools/OpenROAD index 3ea4d70110..47c1225559 160000 --- a/tools/OpenROAD +++ b/tools/OpenROAD @@ -1 +1 @@ -Subproject commit 3ea4d7011075f36f9ba275526ba7b09d8560ec27 +Subproject commit 47c12255596419e9a8707e3fce9fa220b17fae2d From e95647a141cb0bd0132f1210291d6e088ef2fae2 Mon Sep 17 00:00:00 2001 From: Minju Kim Date: Fri, 21 Aug 2026 17:39:28 +0900 Subject: [PATCH 2/2] flow: guard the global placement HPWL in generated rule files Adds globalplace__route__wirelength__estimated to the metrics genRuleFile.py emits rules for, with the same padding the routed wirelength rule uses, so a global placement wirelength regression is caught the same way. Existing rules-base.json files keep working; the rule appears the next time they are regenerated. Signed-off-by: Minju Kim --- flow/util/genRuleFile.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/flow/util/genRuleFile.py b/flow/util/genRuleFile.py index 358d59231e..2b68a2d905 100755 --- a/flow/util/genRuleFile.py +++ b/flow/util/genRuleFile.py @@ -102,6 +102,12 @@ def gen_rule_file( "compare": "==", }, # place + "globalplace__route__wirelength__estimated": { + "mode": "padding", + "padding": 15, + "round_value": True, + "compare": "<=", + }, "placeopt__design__instance__area": { "mode": "padding", "padding": 15,