Skip to content

Commit b4282e5

Browse files
authored
Merge pull request #1827 from The-OpenROAD-Project-staging/metrics-rules-table
genRuleFile.py print the metric updates as a Markdown table
2 parents bcbfe2f + b463fd7 commit b4282e5

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

flow/util/genRuleFile.py

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,7 @@
182182
if len(period_list) != 1:
183183
print(f'[WARNING] Multiple clocks not supported. Will use first clock: {period_list[0]}.')
184184

185+
change_str = ''
185186
for field, option in rules_dict.items():
186187
if field not in metrics.keys():
187188
print(f"[ERROR] Metric {field} not found in "
@@ -260,24 +261,29 @@
260261
and rule_value != old_rule['value'] \
261262
and compare(rule_value, old_rule['value']):
262263
UPDATE = True
263-
print(f"[INFO] Tightening rule {field} "
264-
f"from {old_rule['value']} to {rule_value}.")
264+
change_str += f"| {field} | {old_rule['value']} | "\
265+
f"{rule_value} | Tighten |\n"
265266

266267
if args.failing and not compare(metrics[field], old_rule['value']):
267268
UPDATE = True
268-
print(f"[INFO] Updating failing rule {field} "
269-
f"from {old_rule['value']} to {rule_value}.")
269+
change_str += f"| {field} | {old_rule['value']} | " \
270+
f"{rule_value} | Failing |\n"
270271

271272
if args.update and old_rule['value'] != rule_value:
272273
UPDATE = True
273-
print(f"[INFO] Updating rule {field} "
274-
f"from {old_rule['value']} to {rule_value}.")
274+
change_str += f"| {field} | {old_rule['value']} | "\
275+
f"{rule_value} | Updating |\n"
275276

276277
if not UPDATE:
277278
rule_value = old_rule['value']
278279

279280
rules[field] = dict(value=rule_value, compare=option['compare'])
280281

282+
if len(change_str) > 0:
283+
print("| Metric | Old | New | Type |")
284+
print("| ------ | --- | --- | ---- |")
285+
print(change_str)
286+
281287
with open(rules_file, 'w') as f:
282288
print('[INFO] writing', abspath(rules_file))
283289
json.dump(rules, f, indent=4)

0 commit comments

Comments
 (0)