From 983e40d4214c5c08f86cdbd95399a12ed202ea3e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20Povi=C5=A1er?= <povik@cutebit.org>
Date: Sun, 12 Jan 2025 13:58:18 +0100
Subject: [PATCH] Update metrics for nightly designs
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

| Metric                                        | Old      | New      | Type     |
| ------                                        | ---      | ---      | ----     |
| synth__design__instance__area__stdcell        | 875702.08 | 778745.85 | Tighten  |
| placeopt__design__instance__area              |   928020 |   865478 | Tighten  |
| placeopt__design__instance__count__stdcell    |   346412 |   300600 | Tighten  |
| cts__design__instance__count__setup_buffer    |    30123 |    26139 | Tighten  |
| cts__design__instance__count__hold_buffer     |    30123 |    26139 | Tighten  |
| finish__timing__setup__ws                     |    -0.88 |    -2.75 | Failing  |
| finish__design__instance__area                |   931337 |   879116 | Tighten  |
| finish__timing__drv__setup_violation_count    |    15061 |    13070 | Tighten  |
| finish__timing__wns_percent_delay             |   -19.62 |   -42.49 | Failing  |

| Metric                                        | Old      | New      | Type     |
| ------                                        | ---      | ---      | ----     |
| detailedroute__route__wirelength              |  1623335 |  1928248 | Failing  |
| finish__timing__drv__hold_violation_count     |     1034 |      566 | Tighten  |

Signed-off-by: Martin PoviĊĦer <povik@cutebit.org>
---
 .../asap7/swerv_wrapper/metadata-base-ok.json | 439 ++++++++-------
 .../asap7/swerv_wrapper/rules-base.json       |   4 +-
 .../black_parrot/metadata-base-ok.json        | 514 ++++++++++--------
 .../nangate45/black_parrot/rules-base.json    |  26 +-
 4 files changed, 562 insertions(+), 421 deletions(-)

diff --git a/flow/designs/asap7/swerv_wrapper/metadata-base-ok.json b/flow/designs/asap7/swerv_wrapper/metadata-base-ok.json
index 31f06bad9d..88ddf5c6f7 100644
--- a/flow/designs/asap7/swerv_wrapper/metadata-base-ok.json
+++ b/flow/designs/asap7/swerv_wrapper/metadata-base-ok.json
@@ -3,297 +3,370 @@
   "constraints__clocks__details": [
     "core_clock: 2500.0000"
   ],
-  "cts__clock__skew__hold": 243.478,
-  "cts__clock__skew__setup": 254.96,
-  "cts__cpu__total": 202.98,
+  "cts__clock__skew__hold": 263.797,
+  "cts__clock__skew__setup": 274.265,
+  "cts__cpu__total": 246.29,
   "cts__design__core__area": 318395,
   "cts__design__die__area": 330000,
-  "cts__design__instance__area": 50122.1,
+  "cts__design__instance__area": 50171.6,
+  "cts__design__instance__area__cover": 0,
   "cts__design__instance__area__macros": 33343.6,
-  "cts__design__instance__area__stdcell": 16778.5,
-  "cts__design__instance__count": 159778,
+  "cts__design__instance__area__padcells": 0,
+  "cts__design__instance__area__stdcell": 16828,
+  "cts__design__instance__count": 161292,
+  "cts__design__instance__count__cover": 0,
   "cts__design__instance__count__hold_buffer": 0,
   "cts__design__instance__count__macros": 28,
+  "cts__design__instance__count__padcells": 0,
   "cts__design__instance__count__setup_buffer": 0,
-  "cts__design__instance__count__stdcell": 159750,
+  "cts__design__instance__count__stdcell": 161264,
   "cts__design__instance__displacement__max": 0,
   "cts__design__instance__displacement__mean": 0,
   "cts__design__instance__displacement__total": 0,
-  "cts__design__instance__utilization": 0.157421,
-  "cts__design__instance__utilization__stdcell": 0.0588612,
+  "cts__design__instance__utilization": 0.157576,
+  "cts__design__instance__utilization__stdcell": 0.0590349,
   "cts__design__io": 1416,
+  "cts__design__rows": 10212,
+  "cts__design__rows:asap7sc7p5t": 10212,
+  "cts__design__sites": 18853632,
+  "cts__design__sites:asap7sc7p5t": 18853632,
   "cts__design__violations": 0,
   "cts__flow__errors__count": 0,
   "cts__flow__warnings__count": 18,
-  "cts__mem__peak": 2195536.0,
-  "cts__power__internal__total": 0.0519959,
-  "cts__power__leakage__total": 0.00361985,
-  "cts__power__switching__total": 0.00839734,
-  "cts__power__total": 0.0640131,
-  "cts__route__wirelength__estimated": 1382400.0,
-  "cts__runtime__total": "3:24.85",
+  "cts__mem__peak": 4195764.0,
+  "cts__power__internal__total": 0.0493383,
+  "cts__power__leakage__total": 0.00361989,
+  "cts__power__switching__total": 0.00728141,
+  "cts__power__total": 0.0602396,
+  "cts__route__wirelength__estimated": 1475290.0,
+  "cts__runtime__total": "4:09.25",
   "cts__timing__drv__hold_violation_count": 0,
   "cts__timing__drv__max_cap": 0,
-  "cts__timing__drv__max_cap_limit": 0.629151,
+  "cts__timing__drv__max_cap_limit": 0.419038,
   "cts__timing__drv__max_fanout": 0,
   "cts__timing__drv__max_fanout_limit": 0,
   "cts__timing__drv__max_slew": 0,
-  "cts__timing__drv__max_slew_limit": 0.0667307,
+  "cts__timing__drv__max_slew_limit": 0.477033,
   "cts__timing__drv__setup_violation_count": 0,
   "cts__timing__setup__tns": 0,
-  "cts__timing__setup__ws": 1157.69,
-  "design__io__hpwl": 309895352,
+  "cts__timing__setup__ws": 1320.98,
+  "design__io__hpwl": 317618411,
   "design__violations": 0,
-  "detailedplace__cpu__total": 183.72,
+  "detailedplace__cpu__total": 216.68,
   "detailedplace__design__core__area": 318395,
   "detailedplace__design__die__area": 330000,
-  "detailedplace__design__instance__area": 49669.9,
+  "detailedplace__design__instance__area": 49728.4,
+  "detailedplace__design__instance__area__cover": 0,
   "detailedplace__design__instance__area__macros": 33343.6,
-  "detailedplace__design__instance__area__stdcell": 16326.3,
-  "detailedplace__design__instance__count": 158386,
+  "detailedplace__design__instance__area__padcells": 0,
+  "detailedplace__design__instance__area__stdcell": 16384.7,
+  "detailedplace__design__instance__count": 159919,
+  "detailedplace__design__instance__count__cover": 0,
   "detailedplace__design__instance__count__macros": 28,
-  "detailedplace__design__instance__count__stdcell": 158358,
-  "detailedplace__design__instance__displacement__max": 12.577,
-  "detailedplace__design__instance__displacement__mean": 0.145,
-  "detailedplace__design__instance__displacement__total": 23050,
-  "detailedplace__design__instance__utilization": 0.156001,
-  "detailedplace__design__instance__utilization__stdcell": 0.0572747,
+  "detailedplace__design__instance__count__padcells": 0,
+  "detailedplace__design__instance__count__stdcell": 159891,
+  "detailedplace__design__instance__displacement__max": 12.939,
+  "detailedplace__design__instance__displacement__mean": 0.137,
+  "detailedplace__design__instance__displacement__total": 22052.4,
+  "detailedplace__design__instance__utilization": 0.156184,
+  "detailedplace__design__instance__utilization__stdcell": 0.0574798,
   "detailedplace__design__io": 1416,
+  "detailedplace__design__rows": 10212,
+  "detailedplace__design__rows:asap7sc7p5t": 10212,
+  "detailedplace__design__sites": 18853632,
+  "detailedplace__design__sites:asap7sc7p5t": 18853632,
   "detailedplace__design__violations": 0,
   "detailedplace__flow__errors__count": 0,
   "detailedplace__flow__warnings__count": 18,
-  "detailedplace__mem__peak": 1826220.0,
-  "detailedplace__power__internal__total": 0.0472997,
-  "detailedplace__power__leakage__total": 0.00361942,
-  "detailedplace__power__switching__total": 0.00596141,
-  "detailedplace__power__total": 0.0568806,
-  "detailedplace__route__wirelength__estimated": 1388360.0,
-  "detailedplace__runtime__total": "3:05.20",
+  "detailedplace__mem__peak": 3837004.0,
+  "detailedplace__power__internal__total": 0.0447077,
+  "detailedplace__power__leakage__total": 0.00361947,
+  "detailedplace__power__switching__total": 0.00486181,
+  "detailedplace__power__total": 0.053189,
+  "detailedplace__route__wirelength__estimated": 1478560.0,
+  "detailedplace__runtime__total": "3:40.52",
   "detailedplace__timing__drv__hold_violation_count": 0,
   "detailedplace__timing__drv__max_cap": 0,
-  "detailedplace__timing__drv__max_cap_limit": 0.629151,
+  "detailedplace__timing__drv__max_cap_limit": 0.419038,
   "detailedplace__timing__drv__max_fanout": 0,
   "detailedplace__timing__drv__max_fanout_limit": 0,
   "detailedplace__timing__drv__max_slew": 0,
-  "detailedplace__timing__drv__max_slew_limit": 0.0667307,
+  "detailedplace__timing__drv__max_slew_limit": 0.477033,
   "detailedplace__timing__drv__setup_violation_count": 0,
   "detailedplace__timing__setup__tns": 0,
-  "detailedplace__timing__setup__ws": 1159.72,
+  "detailedplace__timing__setup__ws": 1323.13,
   "detailedroute__antenna__violating__nets": 0,
   "detailedroute__antenna__violating__pins": 0,
   "detailedroute__antenna_diodes_count": 0,
   "detailedroute__flow__errors__count": 0,
   "detailedroute__flow__warnings__count": 19,
   "detailedroute__route__drc_errors": 0,
-  "detailedroute__route__drc_errors__iter:1": 46452,
-  "detailedroute__route__drc_errors__iter:2": 9133,
-  "detailedroute__route__drc_errors__iter:3": 7411,
-  "detailedroute__route__drc_errors__iter:4": 373,
-  "detailedroute__route__drc_errors__iter:5": 21,
+  "detailedroute__route__drc_errors__iter:0": 43929,
+  "detailedroute__route__drc_errors__iter:1": 8114,
+  "detailedroute__route__drc_errors__iter:2": 5948,
+  "detailedroute__route__drc_errors__iter:3": 260,
+  "detailedroute__route__drc_errors__iter:4": 18,
+  "detailedroute__route__drc_errors__iter:5": 7,
   "detailedroute__route__drc_errors__iter:6": 0,
-  "detailedroute__route__net": 125152,
+  "detailedroute__route__net": 126412,
   "detailedroute__route__net__special": 2,
-  "detailedroute__route__vias": 1420474,
+  "detailedroute__route__vias": 1431385,
   "detailedroute__route__vias__multicut": 0,
-  "detailedroute__route__vias__singlecut": 1420474,
-  "detailedroute__route__wirelength": 1572033,
-  "detailedroute__route__wirelength__iter:1": 1572156,
-  "detailedroute__route__wirelength__iter:2": 1571130,
-  "detailedroute__route__wirelength__iter:3": 1571488,
-  "detailedroute__route__wirelength__iter:4": 1572015,
-  "detailedroute__route__wirelength__iter:5": 1572035,
-  "detailedroute__route__wirelength__iter:6": 1572033,
-  "finish__clock__skew__hold": 425.317,
-  "finish__clock__skew__setup": 388.853,
-  "finish__cpu__total": 1830.12,
+  "detailedroute__route__vias__singlecut": 1431385,
+  "detailedroute__route__wirelength": 1676737,
+  "detailedroute__route__wirelength__iter:0": 1677976,
+  "detailedroute__route__wirelength__iter:1": 1676163,
+  "detailedroute__route__wirelength__iter:2": 1676384,
+  "detailedroute__route__wirelength__iter:3": 1676723,
+  "detailedroute__route__wirelength__iter:4": 1676736,
+  "detailedroute__route__wirelength__iter:5": 1676737,
+  "detailedroute__route__wirelength__iter:6": 1676737,
+  "finish__clock__skew__hold": 304.642,
+  "finish__clock__skew__setup": 279.939,
+  "finish__cpu__total": 2066.09,
   "finish__design__core__area": 318395,
   "finish__design__die__area": 330000,
-  "finish__design__instance__area": 50123.5,
+  "finish__design__instance__area": 50175,
+  "finish__design__instance__area__class:buffer": 1087.81,
+  "finish__design__instance__area__class:clock_buffer": 381.69,
+  "finish__design__instance__area__class:clock_inverter": 61.5713,
+  "finish__design__instance__area__class:inverter": 522.78,
+  "finish__design__instance__area__class:macro": 33343.6,
+  "finish__design__instance__area__class:multi_input_combinational_cell": 8159.99,
+  "finish__design__instance__area__class:sequential_cell": 4471.57,
+  "finish__design__instance__area__class:tie_cell": 537.215,
+  "finish__design__instance__area__class:timing_repair_buffer": 500.386,
+  "finish__design__instance__area__cover": 0,
   "finish__design__instance__area__macros": 33343.6,
-  "finish__design__instance__area__stdcell": 16779.9,
-  "finish__design__instance__count": 159852,
+  "finish__design__instance__area__padcells": 0,
+  "finish__design__instance__area__stdcell": 16831.4,
+  "finish__design__instance__count": 161342,
+  "finish__design__instance__count__class:buffer": 11329,
+  "finish__design__instance__count__class:clock_buffer": 968,
+  "finish__design__instance__count__class:clock_inverter": 405,
+  "finish__design__instance__count__class:inverter": 11219,
+  "finish__design__instance__count__class:macro": 28,
+  "finish__design__instance__count__class:multi_input_combinational_cell": 71189,
+  "finish__design__instance__count__class:sequential_cell": 11796,
+  "finish__design__instance__count__class:tie_cell": 12282,
+  "finish__design__instance__count__class:timing_repair_buffer": 4115,
+  "finish__design__instance__count__cover": 0,
   "finish__design__instance__count__macros": 28,
-  "finish__design__instance__count__stdcell": 159824,
-  "finish__design__instance__utilization": 0.157425,
-  "finish__design__instance__utilization__stdcell": 0.0588661,
+  "finish__design__instance__count__padcells": 0,
+  "finish__design__instance__count__stdcell": 161314,
+  "finish__design__instance__utilization": 0.157587,
+  "finish__design__instance__utilization__stdcell": 0.0590469,
   "finish__design__io": 1416,
-  "finish__design_powergrid__drop__average__net:VDD__corner:default": 0.759181,
-  "finish__design_powergrid__drop__average__net:VSS__corner:default": 0.0109177,
-  "finish__design_powergrid__drop__worst__net:VDD__corner:default": 0.0576926,
-  "finish__design_powergrid__drop__worst__net:VSS__corner:default": 0.0574897,
-  "finish__design_powergrid__voltage__worst__net:VDD__corner:default": 0.712307,
-  "finish__design_powergrid__voltage__worst__net:VSS__corner:default": 0.0574897,
+  "finish__design__rows": 10212,
+  "finish__design__rows:asap7sc7p5t": 10212,
+  "finish__design__sites": 18853632,
+  "finish__design__sites:asap7sc7p5t": 18853632,
+  "finish__design_powergrid__drop__average__net:VDD__corner:default": 0.754778,
+  "finish__design_powergrid__drop__average__net:VSS__corner:default": 0.0152751,
+  "finish__design_powergrid__drop__worst__net:VDD__corner:default": 0.0720021,
+  "finish__design_powergrid__drop__worst__net:VSS__corner:default": 0.0721601,
+  "finish__design_powergrid__voltage__worst__net:VDD__corner:default": 0.697998,
+  "finish__design_powergrid__voltage__worst__net:VSS__corner:default": 0.0721601,
   "finish__flow__errors__count": 0,
-  "finish__flow__warnings__count": 18,
-  "finish__mem__peak": 13813716.0,
-  "finish__power__internal__total": 0.0523183,
-  "finish__power__leakage__total": 0.00361984,
-  "finish__power__switching__total": 0.0163237,
-  "finish__power__total": 0.0722618,
-  "finish__runtime__total": "31:13.71",
-  "finish__timing__drv__hold_violation_count": 747,
-  "finish__timing__drv__max_cap": 6,
-  "finish__timing__drv__max_cap_limit": -0.0996865,
+  "finish__flow__warnings__count": 19,
+  "finish__mem__peak": 13925088.0,
+  "finish__power__internal__total": 0.0497084,
+  "finish__power__leakage__total": 0.00361989,
+  "finish__power__switching__total": 0.015162,
+  "finish__power__total": 0.0684903,
+  "finish__runtime__total": "34:41.10",
+  "finish__timing__drv__hold_violation_count": 373,
+  "finish__timing__drv__max_cap": 0,
+  "finish__timing__drv__max_cap_limit": 0.182227,
   "finish__timing__drv__max_fanout": 0,
   "finish__timing__drv__max_fanout_limit": 0,
-  "finish__timing__drv__max_slew": 160,
-  "finish__timing__drv__max_slew_limit": -0.404926,
+  "finish__timing__drv__max_slew": 245,
+  "finish__timing__drv__max_slew_limit": -1.34167,
   "finish__timing__drv__setup_violation_count": 0,
   "finish__timing__setup__tns": 0,
-  "finish__timing__setup__ws": 383.129,
-  "finish__timing__wns_percent_delay": 14.337594,
-  "finish_merge__cpu__total": 29.25,
-  "finish_merge__mem__peak": 3054136.0,
-  "finish_merge__runtime__total": "0:31.15",
-  "floorplan__cpu__total": 148.28,
+  "finish__timing__setup__ws": 712.03,
+  "finish__timing__wns_percent_delay": 31.168679,
+  "finish_merge__cpu__total": 34.31,
+  "finish_merge__mem__peak": 2970168.0,
+  "finish_merge__runtime__total": "0:36.80",
+  "floorplan__cpu__total": 181.01,
   "floorplan__design__core__area": 318395,
   "floorplan__design__die__area": 330000,
-  "floorplan__design__instance__area": 47084,
+  "floorplan__design__instance__area": 47115.1,
+  "floorplan__design__instance__area__cover": 0,
   "floorplan__design__instance__area__macros": 33343.6,
-  "floorplan__design__instance__area__stdcell": 13740.3,
-  "floorplan__design__instance__count": 105196,
+  "floorplan__design__instance__area__padcells": 0,
+  "floorplan__design__instance__area__stdcell": 13771.4,
+  "floorplan__design__instance__count": 105623,
+  "floorplan__design__instance__count__cover": 0,
   "floorplan__design__instance__count__hold_buffer": 0,
   "floorplan__design__instance__count__macros": 28,
+  "floorplan__design__instance__count__padcells": 0,
   "floorplan__design__instance__count__setup_buffer": 0,
-  "floorplan__design__instance__count__stdcell": 105168,
-  "floorplan__design__instance__utilization": 0.147879,
-  "floorplan__design__instance__utilization__stdcell": 0.0482029,
+  "floorplan__design__instance__count__stdcell": 105595,
+  "floorplan__design__instance__utilization": 0.147977,
+  "floorplan__design__instance__utilization__stdcell": 0.048312,
   "floorplan__design__io": 1416,
+  "floorplan__design__rows": 2184,
+  "floorplan__design__rows:asap7sc7p5t": 2184,
+  "floorplan__design__sites": 21837816,
+  "floorplan__design__sites:asap7sc7p5t": 21837816,
   "floorplan__flow__errors__count": 0,
   "floorplan__flow__warnings__count": 21,
-  "floorplan__mem__peak": 899996.0,
-  "floorplan__power__internal__total": 0.0464306,
-  "floorplan__power__leakage__total": 0.00361765,
-  "floorplan__power__switching__total": 0.00540428,
-  "floorplan__power__total": 0.0554525,
-  "floorplan__runtime__total": "2:29.37",
+  "floorplan__mem__peak": 897948.0,
+  "floorplan__power__internal__total": 0.043522,
+  "floorplan__power__leakage__total": 0.00361774,
+  "floorplan__power__switching__total": 0.00432929,
+  "floorplan__power__total": 0.051469,
+  "floorplan__runtime__total": "3:01.81",
   "floorplan__timing__setup__tns": -6744030.0,
   "floorplan__timing__setup__ws": -682.699,
-  "floorplan_io__cpu__total": 10.4,
-  "floorplan_io__mem__peak": 584840.0,
-  "floorplan_io__runtime__total": "0:10.81",
-  "floorplan_macro__cpu__total": 213.7,
-  "floorplan_macro__mem__peak": 1315272.0,
-  "floorplan_macro__runtime__total": "0:39.63",
-  "floorplan_pdn__cpu__total": 21.05,
-  "floorplan_pdn__mem__peak": 758920.0,
-  "floorplan_pdn__runtime__total": "0:21.73",
-  "floorplan_tap__cpu__total": 10.51,
-  "floorplan_tap__mem__peak": 541976.0,
-  "floorplan_tap__runtime__total": "0:10.91",
-  "floorplan_tdms__cpu__total": 0.05,
-  "floorplan_tdms__mem__peak": 109716.0,
-  "floorplan_tdms__runtime__total": "0:00.17",
+  "floorplan_io__cpu__total": 13.33,
+  "floorplan_io__mem__peak": 584060.0,
+  "floorplan_io__runtime__total": "0:13.81",
+  "floorplan_macro__cpu__total": 485.15,
+  "floorplan_macro__mem__peak": 1364576.0,
+  "floorplan_macro__runtime__total": "0:54.15",
+  "floorplan_pdn__cpu__total": 25.77,
+  "floorplan_pdn__mem__peak": 763864.0,
+  "floorplan_pdn__runtime__total": "0:26.44",
+  "floorplan_tap__cpu__total": 13.35,
+  "floorplan_tap__mem__peak": 541696.0,
+  "floorplan_tap__runtime__total": "0:13.83",
   "flow__errors__count": 0,
   "flow__warnings__count": 18,
-  "globalplace__cpu__total": 901.27,
+  "globalplace__cpu__total": 1484.14,
   "globalplace__design__core__area": 318395,
   "globalplace__design__die__area": 330000,
-  "globalplace__design__instance__area": 48192.5,
+  "globalplace__design__instance__area": 49215.2,
+  "globalplace__design__instance__area__cover": 0,
   "globalplace__design__instance__area__macros": 33343.6,
-  "globalplace__design__instance__area__stdcell": 14848.9,
-  "globalplace__design__instance__count": 143212,
+  "globalplace__design__instance__area__padcells": 0,
+  "globalplace__design__instance__area__stdcell": 15871.6,
+  "globalplace__design__instance__count": 145934,
+  "globalplace__design__instance__count__cover": 0,
   "globalplace__design__instance__count__macros": 28,
-  "globalplace__design__instance__count__stdcell": 143184,
-  "globalplace__design__instance__utilization": 0.151361,
-  "globalplace__design__instance__utilization__stdcell": 0.0520918,
+  "globalplace__design__instance__count__padcells": 0,
+  "globalplace__design__instance__count__stdcell": 145906,
+  "globalplace__design__instance__utilization": 0.154573,
+  "globalplace__design__instance__utilization__stdcell": 0.0556797,
   "globalplace__design__io": 1416,
+  "globalplace__design__rows": 10212,
+  "globalplace__design__rows:asap7sc7p5t": 10212,
+  "globalplace__design__sites": 18853632,
+  "globalplace__design__sites:asap7sc7p5t": 18853632,
   "globalplace__flow__errors__count": 0,
   "globalplace__flow__warnings__count": 18,
-  "globalplace__mem__peak": 2684928.0,
-  "globalplace__power__internal__total": 0.0464306,
-  "globalplace__power__leakage__total": 0.00361765,
-  "globalplace__power__switching__total": 0.00540428,
-  "globalplace__power__total": 0.0554525,
-  "globalplace__runtime__total": "9:38.53",
-  "globalplace__timing__setup__tns": -6790540.0,
-  "globalplace__timing__setup__ws": -682.699,
-  "globalplace_io__cpu__total": 10.91,
-  "globalplace_io__mem__peak": 668204.0,
-  "globalplace_io__runtime__total": "0:11.46",
-  "globalplace_skip_io__cpu__total": 395.53,
-  "globalplace_skip_io__mem__peak": 1291016.0,
-  "globalplace_skip_io__runtime__total": "2:20.85",
+  "globalplace__mem__peak": 2837540.0,
+  "globalplace__power__internal__total": 0.0448002,
+  "globalplace__power__leakage__total": 0.00361968,
+  "globalplace__power__switching__total": 0.00485221,
+  "globalplace__power__total": 0.0532721,
+  "globalplace__runtime__total": "10:01.01",
+  "globalplace__timing__setup__tns": 0,
+  "globalplace__timing__setup__ws": 1328.26,
+  "globalplace_io__cpu__total": 13.88,
+  "globalplace_io__mem__peak": 672308.0,
+  "globalplace_io__runtime__total": "0:14.51",
+  "globalplace_skip_io__cpu__total": 858.32,
+  "globalplace_skip_io__mem__peak": 1212704.0,
+  "globalplace_skip_io__runtime__total": "2:22.16",
   "globalroute__antenna__violating__nets": 0,
   "globalroute__antenna__violating__pins": 0,
   "globalroute__antenna_diodes_count": 0,
-  "globalroute__clock__skew__hold": 243.478,
-  "globalroute__clock__skew__setup": 254.96,
-  "globalroute__cpu__total": 480.03,
+  "globalroute__clock__skew__hold": 263.797,
+  "globalroute__clock__skew__setup": 274.265,
+  "globalroute__cpu__total": 582.42,
   "globalroute__design__core__area": 318395,
   "globalroute__design__die__area": 330000,
-  "globalroute__design__instance__area": 50123.5,
+  "globalroute__design__instance__area": 50175,
+  "globalroute__design__instance__area__cover": 0,
   "globalroute__design__instance__area__macros": 33343.6,
-  "globalroute__design__instance__area__stdcell": 16779.9,
-  "globalroute__design__instance__count": 159852,
+  "globalroute__design__instance__area__padcells": 0,
+  "globalroute__design__instance__area__stdcell": 16831.4,
+  "globalroute__design__instance__count": 161342,
+  "globalroute__design__instance__count__cover": 0,
   "globalroute__design__instance__count__hold_buffer": 0,
   "globalroute__design__instance__count__macros": 28,
+  "globalroute__design__instance__count__padcells": 0,
   "globalroute__design__instance__count__setup_buffer": 0,
-  "globalroute__design__instance__count__stdcell": 159824,
+  "globalroute__design__instance__count__stdcell": 161314,
   "globalroute__design__instance__displacement__max": 0,
   "globalroute__design__instance__displacement__mean": 0,
   "globalroute__design__instance__displacement__total": 0,
-  "globalroute__design__instance__utilization": 0.157425,
-  "globalroute__design__instance__utilization__stdcell": 0.0588661,
+  "globalroute__design__instance__utilization": 0.157587,
+  "globalroute__design__instance__utilization__stdcell": 0.0590469,
   "globalroute__design__io": 1416,
+  "globalroute__design__rows": 10212,
+  "globalroute__design__rows:asap7sc7p5t": 10212,
+  "globalroute__design__sites": 18853632,
+  "globalroute__design__sites:asap7sc7p5t": 18853632,
   "globalroute__design__violations": 0,
   "globalroute__flow__errors__count": 0,
   "globalroute__flow__warnings__count": 19,
-  "globalroute__mem__peak": 3851508.0,
-  "globalroute__power__internal__total": 0.0520128,
-  "globalroute__power__leakage__total": 0.00361984,
-  "globalroute__power__switching__total": 0.00840339,
-  "globalroute__power__total": 0.0640361,
-  "globalroute__route__wirelength__estimated": 1382410.0,
-  "globalroute__runtime__total": "4:50.82",
-  "globalroute__timing__clock__slack": 1157.689,
+  "globalroute__mem__peak": 5983756.0,
+  "globalroute__power__internal__total": 0.0493409,
+  "globalroute__power__leakage__total": 0.00361989,
+  "globalroute__power__switching__total": 0.00728239,
+  "globalroute__power__total": 0.0602432,
+  "globalroute__route__wirelength__estimated": 1475440.0,
+  "globalroute__runtime__total": "5:46.81",
+  "globalroute__timing__clock__slack": 1320.981,
   "globalroute__timing__drv__hold_violation_count": 0,
   "globalroute__timing__drv__max_cap": 0,
-  "globalroute__timing__drv__max_cap_limit": 0.629151,
+  "globalroute__timing__drv__max_cap_limit": 0.419038,
   "globalroute__timing__drv__max_fanout": 0,
   "globalroute__timing__drv__max_fanout_limit": 0,
   "globalroute__timing__drv__max_slew": 0,
-  "globalroute__timing__drv__max_slew_limit": 0.0667307,
+  "globalroute__timing__drv__max_slew_limit": 0.477033,
   "globalroute__timing__drv__setup_violation_count": 0,
   "globalroute__timing__setup__tns": 0,
-  "globalroute__timing__setup__ws": 1157.69,
-  "placeopt__cpu__total": 158.8,
+  "globalroute__timing__setup__ws": 1320.98,
+  "placeopt__cpu__total": 185.24,
   "placeopt__design__core__area": 318395,
   "placeopt__design__die__area": 330000,
-  "placeopt__design__instance__area": 49669.9,
+  "placeopt__design__instance__area": 49728.4,
+  "placeopt__design__instance__area__cover": 0,
   "placeopt__design__instance__area__macros": 33343.6,
-  "placeopt__design__instance__area__stdcell": 16326.3,
-  "placeopt__design__instance__count": 158386,
+  "placeopt__design__instance__area__padcells": 0,
+  "placeopt__design__instance__area__stdcell": 16384.7,
+  "placeopt__design__instance__count": 159919,
+  "placeopt__design__instance__count__cover": 0,
   "placeopt__design__instance__count__macros": 28,
-  "placeopt__design__instance__count__stdcell": 158358,
-  "placeopt__design__instance__utilization": 0.156001,
-  "placeopt__design__instance__utilization__stdcell": 0.0572747,
+  "placeopt__design__instance__count__padcells": 0,
+  "placeopt__design__instance__count__stdcell": 159891,
+  "placeopt__design__instance__utilization": 0.156184,
+  "placeopt__design__instance__utilization__stdcell": 0.0574798,
   "placeopt__design__io": 1416,
+  "placeopt__design__rows": 10212,
+  "placeopt__design__rows:asap7sc7p5t": 10212,
+  "placeopt__design__sites": 18853632,
+  "placeopt__design__sites:asap7sc7p5t": 18853632,
   "placeopt__flow__errors__count": 0,
   "placeopt__flow__warnings__count": 18,
-  "placeopt__mem__peak": 1206836.0,
-  "placeopt__power__internal__total": 0.0472997,
-  "placeopt__power__leakage__total": 0.00361942,
-  "placeopt__power__switching__total": 0.00596141,
-  "placeopt__power__total": 0.0568806,
-  "placeopt__runtime__total": "2:40.04",
+  "placeopt__mem__peak": 1186244.0,
+  "placeopt__power__internal__total": 0.0447077,
+  "placeopt__power__leakage__total": 0.00361947,
+  "placeopt__power__switching__total": 0.00486181,
+  "placeopt__power__total": 0.053189,
+  "placeopt__runtime__total": "3:06.25",
   "placeopt__timing__drv__floating__nets": 0,
   "placeopt__timing__drv__floating__pins": 0,
   "placeopt__timing__drv__hold_violation_count": 0,
   "placeopt__timing__drv__max_cap": 0,
-  "placeopt__timing__drv__max_cap_limit": 0.629151,
+  "placeopt__timing__drv__max_cap_limit": 0.419038,
   "placeopt__timing__drv__max_fanout": 0,
   "placeopt__timing__drv__max_fanout_limit": 0,
   "placeopt__timing__drv__max_slew": 0,
-  "placeopt__timing__drv__max_slew_limit": 0.0667307,
+  "placeopt__timing__drv__max_slew_limit": 0.477033,
   "placeopt__timing__drv__setup_violation_count": 0,
   "placeopt__timing__setup__tns": 0,
-  "placeopt__timing__setup__ws": 1159.72,
+  "placeopt__timing__setup__ws": 1323.13,
   "run__flow__design": "swerv_wrapper",
-  "run__flow__generate_date": "2024-10-01 04:08",
+  "run__flow__generate_date": "2025-01-12 09:42",
   "run__flow__metrics_version": "Metrics_2.1.2",
   "run__flow__openroad_commit": "N/A",
-  "run__flow__openroad_version": "v2.0-16138-g2803c4963",
+  "run__flow__openroad_version": "v2.0-18100-g2fb3cdf40",
   "run__flow__platform": "asap7",
   "run__flow__platform__capacitance_units": "1fF",
   "run__flow__platform__current_units": "1mA",
@@ -302,14 +375,14 @@
   "run__flow__platform__resistance_units": "1kohm",
   "run__flow__platform__time_units": "1ps",
   "run__flow__platform__voltage_units": "1v",
-  "run__flow__platform_commit": "594b4339edcd1145b3498ca45cc032969dd7bc09",
-  "run__flow__scripts_commit": "594b4339edcd1145b3498ca45cc032969dd7bc09",
-  "run__flow__uuid": "32e81bb1-5d56-40c1-b5c5-face5df482c9",
+  "run__flow__platform_commit": "N/A",
+  "run__flow__scripts_commit": "not a git repo",
+  "run__flow__uuid": "b084571d-7d3a-48b0-8204-879efe2da6b1",
   "run__flow__variant": "base",
-  "synth__cpu__total": 534.52,
-  "synth__design__instance__area__stdcell": 46643.84674,
-  "synth__design__instance__count__stdcell": 105188.0,
-  "synth__mem__peak": 1179180.0,
-  "synth__runtime__total": "9:07.89",
-  "total_time": "1:10:57.120000"
+  "synth__cpu__total": 591.94,
+  "synth__design__instance__area__stdcell": 46674.94588,
+  "synth__design__instance__count__stdcell": 105615.0,
+  "synth__mem__peak": 1156792.0,
+  "synth__runtime__total": "10:06.09",
+  "total_time": "1:19:34.540000"
 }
\ No newline at end of file
diff --git a/flow/designs/asap7/swerv_wrapper/rules-base.json b/flow/designs/asap7/swerv_wrapper/rules-base.json
index 2c19a13eca..07eb711fe5 100644
--- a/flow/designs/asap7/swerv_wrapper/rules-base.json
+++ b/flow/designs/asap7/swerv_wrapper/rules-base.json
@@ -32,7 +32,7 @@
         "compare": "<="
     },
     "detailedroute__route__wirelength": {
-        "value": 1623335,
+        "value": 1928248,
         "compare": "<="
     },
     "detailedroute__route__drc_errors": {
@@ -60,7 +60,7 @@
         "compare": "<="
     },
     "finish__timing__drv__hold_violation_count": {
-        "value": 1034,
+        "value": 566,
         "compare": "<="
     },
     "finish__timing__wns_percent_delay": {
diff --git a/flow/designs/nangate45/black_parrot/metadata-base-ok.json b/flow/designs/nangate45/black_parrot/metadata-base-ok.json
index 2ae3d9724f..22f6c3117f 100644
--- a/flow/designs/nangate45/black_parrot/metadata-base-ok.json
+++ b/flow/designs/nangate45/black_parrot/metadata-base-ok.json
@@ -3,318 +3,378 @@
   "constraints__clocks__details": [
     "CLK: 6.0000"
   ],
-  "cts__clock__skew__hold": 0.10935,
-  "cts__clock__skew__setup": 0.10935,
-  "cts__cpu__total": 279.41,
+  "cts__clock__skew__hold": 0.101546,
+  "cts__clock__skew__setup": 0.101546,
+  "cts__cpu__total": 313.05,
   "cts__design__core__area": 1699760.0,
   "cts__design__die__area": 1755000.0,
-  "cts__design__instance__area": 843650,
+  "cts__design__instance__area": 764230,
+  "cts__design__instance__area__cover": 0,
   "cts__design__instance__area__macros": 328372,
-  "cts__design__instance__area__stdcell": 515278,
-  "cts__design__instance__count": 336634,
+  "cts__design__instance__area__padcells": 0,
+  "cts__design__instance__area__stdcell": 435857,
+  "cts__design__instance__count": 271300,
+  "cts__design__instance__count__cover": 0,
   "cts__design__instance__count__hold_buffer": 0,
   "cts__design__instance__count__macros": 24,
-  "cts__design__instance__count__setup_buffer": 15,
-  "cts__design__instance__count__stdcell": 336610,
-  "cts__design__instance__displacement__max": 3.37,
-  "cts__design__instance__displacement__mean": 0,
-  "cts__design__instance__displacement__total": 57.934,
-  "cts__design__instance__utilization": 0.496334,
-  "cts__design__instance__utilization__stdcell": 0.375734,
+  "cts__design__instance__count__padcells": 0,
+  "cts__design__instance__count__setup_buffer": 7,
+  "cts__design__instance__count__stdcell": 271276,
+  "cts__design__instance__displacement__max": 3.3525,
+  "cts__design__instance__displacement__mean": 0.0015,
+  "cts__design__instance__displacement__total": 508.353,
+  "cts__design__instance__utilization": 0.44961,
+  "cts__design__instance__utilization__stdcell": 0.317822,
   "cts__design__io": 1198,
+  "cts__design__rows": 2793,
+  "cts__design__rows:FreePDK45_38x28_10R_NP_162NW_34O": 2793,
+  "cts__design__sites": 5052574,
+  "cts__design__sites:FreePDK45_38x28_10R_NP_162NW_34O": 5052574,
   "cts__design__violations": 0,
   "cts__flow__errors__count": 0,
   "cts__flow__warnings__count": 1,
-  "cts__mem__peak": 2178904.0,
-  "cts__power__internal__total": 0.117039,
-  "cts__power__leakage__total": 0.0274235,
-  "cts__power__switching__total": 0.0329894,
-  "cts__power__total": 0.177452,
-  "cts__route__wirelength__estimated": 8034710.0,
-  "cts__runtime__total": "4:41.43",
+  "cts__mem__peak": 2322788.0,
+  "cts__power__internal__total": 0.15363,
+  "cts__power__leakage__total": 0.0259566,
+  "cts__power__switching__total": 0.0710601,
+  "cts__power__total": 0.250647,
+  "cts__route__wirelength__estimated": 7520770.0,
+  "cts__runtime__total": "5:14.97",
   "cts__timing__drv__hold_violation_count": 0,
-  "cts__timing__drv__max_cap": 7,
-  "cts__timing__drv__max_cap_limit": -0.0151247,
+  "cts__timing__drv__max_cap": 0,
+  "cts__timing__drv__max_cap_limit": 0.00812622,
   "cts__timing__drv__max_fanout": 0,
   "cts__timing__drv__max_fanout_limit": 0,
   "cts__timing__drv__max_slew": 0,
-  "cts__timing__drv__max_slew_limit": 0.377176,
+  "cts__timing__drv__max_slew_limit": 0.379859,
   "cts__timing__drv__setup_violation_count": 1,
-  "cts__timing__setup__tns": -0.514343,
-  "cts__timing__setup__ws": -0.514343,
-  "design__io__hpwl": 828555319,
+  "cts__timing__setup__tns": -2.53751,
+  "cts__timing__setup__ws": -2.53751,
+  "design__io__hpwl": 2881193401,
   "design__violations": 0,
-  "detailedplace__cpu__total": 292.07,
+  "detailedplace__cpu__total": 276.51,
   "detailedplace__design__core__area": 1699760.0,
   "detailedplace__design__die__area": 1755000.0,
-  "detailedplace__design__instance__area": 831125,
+  "detailedplace__design__instance__area": 752590,
+  "detailedplace__design__instance__area__cover": 0,
   "detailedplace__design__instance__area__macros": 328372,
-  "detailedplace__design__instance__area__stdcell": 502753,
-  "detailedplace__design__instance__count": 325302,
+  "detailedplace__design__instance__area__padcells": 0,
+  "detailedplace__design__instance__area__stdcell": 424217,
+  "detailedplace__design__instance__count": 261415,
+  "detailedplace__design__instance__count__cover": 0,
   "detailedplace__design__instance__count__macros": 24,
-  "detailedplace__design__instance__count__stdcell": 325278,
-  "detailedplace__design__instance__displacement__max": 60.581,
-  "detailedplace__design__instance__displacement__mean": 0.884,
-  "detailedplace__design__instance__displacement__total": 287725,
-  "detailedplace__design__instance__utilization": 0.488965,
-  "detailedplace__design__instance__utilization__stdcell": 0.3666,
+  "detailedplace__design__instance__count__padcells": 0,
+  "detailedplace__design__instance__count__stdcell": 261391,
+  "detailedplace__design__instance__displacement__max": 53.795,
+  "detailedplace__design__instance__displacement__mean": 0.7855,
+  "detailedplace__design__instance__displacement__total": 205346,
+  "detailedplace__design__instance__utilization": 0.442762,
+  "detailedplace__design__instance__utilization__stdcell": 0.309334,
   "detailedplace__design__io": 1198,
+  "detailedplace__design__rows": 2793,
+  "detailedplace__design__rows:FreePDK45_38x28_10R_NP_162NW_34O": 2793,
+  "detailedplace__design__sites": 5052574,
+  "detailedplace__design__sites:FreePDK45_38x28_10R_NP_162NW_34O": 5052574,
   "detailedplace__design__violations": 0,
   "detailedplace__flow__errors__count": 0,
   "detailedplace__flow__warnings__count": 0,
-  "detailedplace__mem__peak": 1819588.0,
-  "detailedplace__power__internal__total": 0.103019,
-  "detailedplace__power__leakage__total": 0.027149,
-  "detailedplace__power__switching__total": 0.0168442,
-  "detailedplace__power__total": 0.147012,
-  "detailedplace__route__wirelength__estimated": 7966090.0,
-  "detailedplace__runtime__total": "4:53.72",
+  "detailedplace__mem__peak": 2041932.0,
+  "detailedplace__power__internal__total": 0.141284,
+  "detailedplace__power__leakage__total": 0.0256783,
+  "detailedplace__power__switching__total": 0.0568778,
+  "detailedplace__power__total": 0.22384,
+  "detailedplace__route__wirelength__estimated": 7438470.0,
+  "detailedplace__runtime__total": "4:38.47",
   "detailedplace__timing__drv__hold_violation_count": 0,
-  "detailedplace__timing__drv__max_cap": 7,
-  "detailedplace__timing__drv__max_cap_limit": -0.0151247,
+  "detailedplace__timing__drv__max_cap": 0,
+  "detailedplace__timing__drv__max_cap_limit": 0.00812622,
   "detailedplace__timing__drv__max_fanout": 0,
   "detailedplace__timing__drv__max_fanout_limit": 0,
   "detailedplace__timing__drv__max_slew": 0,
-  "detailedplace__timing__drv__max_slew_limit": 0.377176,
+  "detailedplace__timing__drv__max_slew_limit": 0.379859,
   "detailedplace__timing__drv__setup_violation_count": 1,
-  "detailedplace__timing__setup__tns": -0.637234,
-  "detailedplace__timing__setup__ws": -0.637234,
+  "detailedplace__timing__setup__tns": -3.0275,
+  "detailedplace__timing__setup__ws": -3.0275,
   "detailedroute__antenna__violating__nets": 0,
   "detailedroute__antenna__violating__pins": 0,
-  "detailedroute__cpu__total": 15569.48,
+  "detailedroute__antenna_diodes_count": 0,
   "detailedroute__flow__errors__count": 0,
-  "detailedroute__flow__warnings__count": 0,
-  "detailedroute__mem__peak": 10969464.0,
+  "detailedroute__flow__warnings__count": 1,
   "detailedroute__route__drc_errors": 0,
-  "detailedroute__route__drc_errors__iter:1": 73683,
-  "detailedroute__route__drc_errors__iter:10": 69,
-  "detailedroute__route__drc_errors__iter:11": 32,
-  "detailedroute__route__drc_errors__iter:12": 22,
-  "detailedroute__route__drc_errors__iter:13": 3,
-  "detailedroute__route__drc_errors__iter:14": 1,
-  "detailedroute__route__drc_errors__iter:15": 1,
-  "detailedroute__route__drc_errors__iter:16": 0,
-  "detailedroute__route__drc_errors__iter:2": 13364,
-  "detailedroute__route__drc_errors__iter:3": 8293,
-  "detailedroute__route__drc_errors__iter:4": 567,
-  "detailedroute__route__drc_errors__iter:5": 183,
-  "detailedroute__route__drc_errors__iter:6": 147,
-  "detailedroute__route__drc_errors__iter:7": 116,
-  "detailedroute__route__drc_errors__iter:8": 120,
-  "detailedroute__route__drc_errors__iter:9": 77,
-  "detailedroute__route__net": 364010,
+  "detailedroute__route__drc_errors__iter:0": 52081,
+  "detailedroute__route__drc_errors__iter:1": 8472,
+  "detailedroute__route__drc_errors__iter:10": 9,
+  "detailedroute__route__drc_errors__iter:11": 0,
+  "detailedroute__route__drc_errors__iter:2": 4822,
+  "detailedroute__route__drc_errors__iter:3": 297,
+  "detailedroute__route__drc_errors__iter:4": 95,
+  "detailedroute__route__drc_errors__iter:5": 70,
+  "detailedroute__route__drc_errors__iter:6": 62,
+  "detailedroute__route__drc_errors__iter:7": 49,
+  "detailedroute__route__drc_errors__iter:8": 49,
+  "detailedroute__route__drc_errors__iter:9": 49,
+  "detailedroute__route__net": 292913,
   "detailedroute__route__net__special": 2,
-  "detailedroute__route__vias": 2183681,
+  "detailedroute__route__vias": 1714753,
   "detailedroute__route__vias__multicut": 0,
-  "detailedroute__route__vias__singlecut": 2183681,
-  "detailedroute__route__wirelength": 9024533,
-  "detailedroute__route__wirelength__iter:1": 9054232,
-  "detailedroute__route__wirelength__iter:10": 9024454,
-  "detailedroute__route__wirelength__iter:11": 9024483,
-  "detailedroute__route__wirelength__iter:12": 9024496,
-  "detailedroute__route__wirelength__iter:13": 9024542,
-  "detailedroute__route__wirelength__iter:14": 9024524,
-  "detailedroute__route__wirelength__iter:15": 9024527,
-  "detailedroute__route__wirelength__iter:16": 9024533,
-  "detailedroute__route__wirelength__iter:2": 9026874,
-  "detailedroute__route__wirelength__iter:3": 9022908,
-  "detailedroute__route__wirelength__iter:4": 9024059,
-  "detailedroute__route__wirelength__iter:5": 9024212,
-  "detailedroute__route__wirelength__iter:6": 9024251,
-  "detailedroute__route__wirelength__iter:7": 9024332,
-  "detailedroute__route__wirelength__iter:8": 9024371,
-  "detailedroute__route__wirelength__iter:9": 9024444,
-  "detailedroute__runtime__total": "15:01.00",
-  "fillcell__cpu__total": 6.74,
-  "fillcell__mem__peak": 1126612.0,
-  "fillcell__runtime__total": "0:07.93",
-  "finish__clock__skew__hold": 0.132797,
-  "finish__clock__skew__setup": 0.132797,
-  "finish__cpu__total": 839.15,
+  "detailedroute__route__vias__singlecut": 1714753,
+  "detailedroute__route__wirelength": 8355969,
+  "detailedroute__route__wirelength__iter:0": 8386309,
+  "detailedroute__route__wirelength__iter:1": 8358170,
+  "detailedroute__route__wirelength__iter:10": 8355961,
+  "detailedroute__route__wirelength__iter:11": 8355969,
+  "detailedroute__route__wirelength__iter:2": 8355120,
+  "detailedroute__route__wirelength__iter:3": 8355777,
+  "detailedroute__route__wirelength__iter:4": 8355847,
+  "detailedroute__route__wirelength__iter:5": 8355846,
+  "detailedroute__route__wirelength__iter:6": 8355880,
+  "detailedroute__route__wirelength__iter:7": 8355884,
+  "detailedroute__route__wirelength__iter:8": 8355884,
+  "detailedroute__route__wirelength__iter:9": 8355884,
+  "finish__clock__skew__hold": 0.145272,
+  "finish__clock__skew__setup": 0.145272,
+  "finish__cpu__total": 804.88,
   "finish__design__core__area": 1699760.0,
   "finish__design__die__area": 1755000.0,
-  "finish__design__instance__area": 843795,
+  "finish__design__instance__area": 764449,
+  "finish__design__instance__area__class:buffer": 41571,
+  "finish__design__instance__area__class:clock_buffer": 10000.8,
+  "finish__design__instance__area__class:clock_inverter": 940.576,
+  "finish__design__instance__area__class:inverter": 18559.9,
+  "finish__design__instance__area__class:macro": 328372,
+  "finish__design__instance__area__class:multi_input_combinational_cell": 209170,
+  "finish__design__instance__area__class:sequential_cell": 146572,
+  "finish__design__instance__area__class:timing_repair_buffer": 6754.27,
+  "finish__design__instance__area__cover": 0,
   "finish__design__instance__area__macros": 328372,
-  "finish__design__instance__area__stdcell": 515423,
-  "finish__design__instance__count": 336656,
+  "finish__design__instance__area__padcells": 0,
+  "finish__design__instance__area__stdcell": 436076,
+  "finish__design__instance__count": 271314,
+  "finish__design__instance__count__class:buffer": 24944,
+  "finish__design__instance__count__class:clock_buffer": 8495,
+  "finish__design__instance__count__class:clock_inverter": 1383,
+  "finish__design__instance__count__class:inverter": 30667,
+  "finish__design__instance__count__class:macro": 24,
+  "finish__design__instance__count__class:multi_input_combinational_cell": 161578,
+  "finish__design__instance__count__class:sequential_cell": 32217,
+  "finish__design__instance__count__class:timing_repair_buffer": 2577,
+  "finish__design__instance__count__cover": 0,
   "finish__design__instance__count__macros": 24,
-  "finish__design__instance__count__stdcell": 336632,
-  "finish__design__instance__utilization": 0.496419,
-  "finish__design__instance__utilization__stdcell": 0.37584,
+  "finish__design__instance__count__padcells": 0,
+  "finish__design__instance__count__stdcell": 271290,
+  "finish__design__instance__utilization": 0.449738,
+  "finish__design__instance__utilization__stdcell": 0.317981,
   "finish__design__io": 1198,
-  "finish__design_powergrid__drop__average__net:VDD__corner:default": 1.0965,
-  "finish__design_powergrid__drop__average__net:VSS__corner:default": 0.00394438,
-  "finish__design_powergrid__drop__worst__net:VDD__corner:default": 0.0117545,
-  "finish__design_powergrid__drop__worst__net:VSS__corner:default": 0.0265471,
-  "finish__design_powergrid__voltage__worst__net:VDD__corner:default": 1.08825,
-  "finish__design_powergrid__voltage__worst__net:VSS__corner:default": 0.0265471,
+  "finish__design__rows": 2793,
+  "finish__design__rows:FreePDK45_38x28_10R_NP_162NW_34O": 2793,
+  "finish__design__sites": 5052574,
+  "finish__design__sites:FreePDK45_38x28_10R_NP_162NW_34O": 5052574,
+  "finish__design_powergrid__drop__average__net:VDD__corner:default": 1.09445,
+  "finish__design_powergrid__drop__average__net:VSS__corner:default": 0.00602231,
+  "finish__design_powergrid__drop__worst__net:VDD__corner:default": 0.0213133,
+  "finish__design_powergrid__drop__worst__net:VSS__corner:default": 0.0246976,
+  "finish__design_powergrid__voltage__worst__net:VDD__corner:default": 1.07869,
+  "finish__design_powergrid__voltage__worst__net:VSS__corner:default": 0.0246976,
   "finish__flow__errors__count": 0,
-  "finish__flow__warnings__count": 0,
-  "finish__mem__peak": 6037776.0,
-  "finish__power__internal__total": 0.117123,
-  "finish__power__leakage__total": 0.0274306,
-  "finish__power__switching__total": 0.0357523,
-  "finish__power__total": 0.180306,
-  "finish__runtime__total": "14:08.50",
+  "finish__flow__warnings__count": 1,
+  "finish__mem__peak": 5196080.0,
+  "finish__power__internal__total": 0.153799,
+  "finish__power__leakage__total": 0.025969,
+  "finish__power__switching__total": 0.0809932,
+  "finish__power__total": 0.260761,
+  "finish__runtime__total": "13:33.00",
   "finish__timing__drv__hold_violation_count": 0,
-  "finish__timing__drv__max_cap": 57,
-  "finish__timing__drv__max_cap_limit": -0.426262,
+  "finish__timing__drv__max_cap": 46,
+  "finish__timing__drv__max_cap_limit": -0.885151,
   "finish__timing__drv__max_fanout": 0,
   "finish__timing__drv__max_fanout_limit": 0,
-  "finish__timing__drv__max_slew": 0,
-  "finish__timing__drv__max_slew_limit": 0.0880034,
+  "finish__timing__drv__max_slew": 1,
+  "finish__timing__drv__max_slew_limit": -0.0823219,
   "finish__timing__drv__setup_violation_count": 1,
-  "finish__timing__setup__tns": -0.586197,
-  "finish__timing__setup__ws": -0.586197,
-  "finish__timing__wns_percent_delay": -8.016739,
-  "finish_merge__cpu__total": 34.83,
-  "finish_merge__mem__peak": 3185660.0,
-  "finish_merge__runtime__total": "0:37.87",
-  "floorplan__cpu__total": 80.86,
+  "finish__timing__setup__tns": -2.45912,
+  "finish__timing__setup__ws": -2.45912,
+  "finish__timing__wns_percent_delay": -27.076337,
+  "finish_merge__cpu__total": 30.9,
+  "finish_merge__mem__peak": 2565120.0,
+  "finish_merge__runtime__total": "0:33.19",
+  "floorplan__cpu__total": 79.27,
   "floorplan__design__core__area": 1699760.0,
   "floorplan__design__die__area": 1755000.0,
-  "floorplan__design__instance__area": 763869,
+  "floorplan__design__instance__area": 677174,
+  "floorplan__design__instance__area__cover": 0,
   "floorplan__design__instance__area__macros": 328372,
-  "floorplan__design__instance__area__stdcell": 435497,
-  "floorplan__design__instance__count": 306819,
+  "floorplan__design__instance__area__padcells": 0,
+  "floorplan__design__instance__area__stdcell": 348802,
+  "floorplan__design__instance__count": 240125,
+  "floorplan__design__instance__count__cover": 0,
   "floorplan__design__instance__count__hold_buffer": 0,
   "floorplan__design__instance__count__macros": 24,
+  "floorplan__design__instance__count__padcells": 0,
   "floorplan__design__instance__count__setup_buffer": 0,
-  "floorplan__design__instance__count__stdcell": 306795,
-  "floorplan__design__instance__utilization": 0.449397,
-  "floorplan__design__instance__utilization__stdcell": 0.317559,
+  "floorplan__design__instance__count__stdcell": 240101,
+  "floorplan__design__instance__utilization": 0.398393,
+  "floorplan__design__instance__utilization__stdcell": 0.254342,
   "floorplan__design__io": 1198,
+  "floorplan__design__rows": 913,
+  "floorplan__design__rows:FreePDK45_38x28_10R_NP_162NW_34O": 913,
+  "floorplan__design__sites": 6390087,
+  "floorplan__design__sites:FreePDK45_38x28_10R_NP_162NW_34O": 6390087,
   "floorplan__flow__errors__count": 0,
-  "floorplan__flow__warnings__count": 17,
-  "floorplan__mem__peak": 1364012.0,
-  "floorplan__power__internal__total": 0.0989247,
-  "floorplan__power__leakage__total": 0.0244019,
-  "floorplan__power__switching__total": 0.00723678,
-  "floorplan__power__total": 0.130563,
-  "floorplan__runtime__total": "1:22.10",
-  "floorplan__timing__setup__tns": 0,
-  "floorplan__timing__setup__ws": 0.324622,
-  "floorplan_io__cpu__total": 2.33,
-  "floorplan_io__mem__peak": 653020.0,
-  "floorplan_io__runtime__total": "0:03.09",
-  "floorplan_macro__cpu__total": 1060.72,
-  "floorplan_macro__mem__peak": 1375796.0,
-  "floorplan_macro__runtime__total": "1:21.71",
-  "floorplan_pdn__cpu__total": 14.55,
-  "floorplan_pdn__mem__peak": 829484.0,
-  "floorplan_pdn__runtime__total": "0:15.40",
-  "floorplan_tap__cpu__total": 16.54,
-  "floorplan_tap__mem__peak": 475976.0,
-  "floorplan_tap__runtime__total": "0:17.10",
+  "floorplan__flow__warnings__count": 326,
+  "floorplan__mem__peak": 1094708.0,
+  "floorplan__power__internal__total": 0.121234,
+  "floorplan__power__leakage__total": 0.0228573,
+  "floorplan__power__switching__total": 0.0168198,
+  "floorplan__power__total": 0.160911,
+  "floorplan__runtime__total": "1:20.20",
+  "floorplan__timing__setup__tns": -1.85319,
+  "floorplan__timing__setup__ws": -1.85319,
+  "floorplan_io__cpu__total": 2.46,
+  "floorplan_io__mem__peak": 547428.0,
+  "floorplan_io__runtime__total": "0:03.00",
+  "floorplan_macro__cpu__total": 889.09,
+  "floorplan_macro__mem__peak": 1242572.0,
+  "floorplan_macro__runtime__total": "1:52.04",
+  "floorplan_pdn__cpu__total": 12.52,
+  "floorplan_pdn__mem__peak": 700964.0,
+  "floorplan_pdn__runtime__total": "0:13.13",
+  "floorplan_tap__cpu__total": 2.22,
+  "floorplan_tap__mem__peak": 416748.0,
+  "floorplan_tap__runtime__total": "0:02.68",
   "flow__errors__count": 0,
   "flow__warnings__count": 0,
-  "globalplace__cpu__total": 6144.47,
+  "globalplace__cpu__total": 5517.1,
   "globalplace__design__core__area": 1699760.0,
   "globalplace__design__die__area": 1755000.0,
-  "globalplace__design__instance__area": 766370,
+  "globalplace__design__instance__area": 745850,
+  "globalplace__design__instance__area__cover": 0,
   "globalplace__design__instance__area__macros": 328372,
-  "globalplace__design__instance__area__stdcell": 437998,
-  "globalplace__design__instance__count": 316221,
+  "globalplace__design__instance__area__padcells": 0,
+  "globalplace__design__instance__area__stdcell": 417477,
+  "globalplace__design__instance__count": 250776,
+  "globalplace__design__instance__count__cover": 0,
   "globalplace__design__instance__count__macros": 24,
-  "globalplace__design__instance__count__stdcell": 316197,
-  "globalplace__design__instance__utilization": 0.450869,
-  "globalplace__design__instance__utilization__stdcell": 0.319382,
+  "globalplace__design__instance__count__padcells": 0,
+  "globalplace__design__instance__count__stdcell": 250752,
+  "globalplace__design__instance__utilization": 0.438796,
+  "globalplace__design__instance__utilization__stdcell": 0.304419,
   "globalplace__design__io": 1198,
+  "globalplace__design__rows": 2793,
+  "globalplace__design__rows:FreePDK45_38x28_10R_NP_162NW_34O": 2793,
+  "globalplace__design__sites": 5052574,
+  "globalplace__design__sites:FreePDK45_38x28_10R_NP_162NW_34O": 5052574,
   "globalplace__flow__errors__count": 0,
   "globalplace__flow__warnings__count": 0,
-  "globalplace__mem__peak": 2999924.0,
-  "globalplace__power__internal__total": 0.0991677,
-  "globalplace__power__leakage__total": 0.0244019,
-  "globalplace__power__switching__total": 0.0144402,
-  "globalplace__power__total": 0.13801,
-  "globalplace__runtime__total": "21:20.23",
-  "globalplace__timing__setup__tns": -47.3691,
-  "globalplace__timing__setup__ws": -0.690681,
-  "globalplace_io__cpu__total": 2.78,
-  "globalplace_io__mem__peak": 689092.0,
-  "globalplace_io__runtime__total": "0:03.50",
-  "globalplace_skip_io__cpu__total": 1005.43,
-  "globalplace_skip_io__mem__peak": 1285724.0,
-  "globalplace_skip_io__runtime__total": "1:57.61",
+  "globalplace__mem__peak": 2767580.0,
+  "globalplace__power__internal__total": 0.140947,
+  "globalplace__power__leakage__total": 0.0256065,
+  "globalplace__power__switching__total": 0.0568356,
+  "globalplace__power__total": 0.223389,
+  "globalplace__runtime__total": "20:16.77",
+  "globalplace__timing__setup__tns": -3.30797,
+  "globalplace__timing__setup__ws": -3.30797,
+  "globalplace_io__cpu__total": 2.85,
+  "globalplace_io__mem__peak": 580104.0,
+  "globalplace_io__runtime__total": "0:03.39",
+  "globalplace_skip_io__cpu__total": 1048.36,
+  "globalplace_skip_io__mem__peak": 1188432.0,
+  "globalplace_skip_io__runtime__total": "1:55.29",
   "globalroute__antenna__violating__nets": 0,
   "globalroute__antenna__violating__pins": 0,
-  "globalroute__clock__skew__hold": 0.113665,
-  "globalroute__clock__skew__setup": 0.113665,
-  "globalroute__cpu__total": 1000.55,
+  "globalroute__antenna_diodes_count": 0,
+  "globalroute__clock__skew__hold": 0.10327,
+  "globalroute__clock__skew__setup": 0.10327,
+  "globalroute__cpu__total": 900.23,
   "globalroute__design__core__area": 1699760.0,
   "globalroute__design__die__area": 1755000.0,
-  "globalroute__design__instance__area": 843795,
+  "globalroute__design__instance__area": 764449,
+  "globalroute__design__instance__area__cover": 0,
   "globalroute__design__instance__area__macros": 328372,
-  "globalroute__design__instance__area__stdcell": 515423,
-  "globalroute__design__instance__count": 336656,
+  "globalroute__design__instance__area__padcells": 0,
+  "globalroute__design__instance__area__stdcell": 436076,
+  "globalroute__design__instance__count": 271314,
+  "globalroute__design__instance__count__cover": 0,
   "globalroute__design__instance__count__hold_buffer": 0,
   "globalroute__design__instance__count__macros": 24,
-  "globalroute__design__instance__count__setup_buffer": 9,
-  "globalroute__design__instance__count__stdcell": 336632,
-  "globalroute__design__instance__displacement__max": 2.66,
-  "globalroute__design__instance__displacement__mean": 0,
-  "globalroute__design__instance__displacement__total": 47.18,
-  "globalroute__design__instance__utilization": 0.496419,
-  "globalroute__design__instance__utilization__stdcell": 0.37584,
+  "globalroute__design__instance__count__padcells": 0,
+  "globalroute__design__instance__count__setup_buffer": 6,
+  "globalroute__design__instance__count__stdcell": 271290,
+  "globalroute__design__instance__displacement__max": 3.42,
+  "globalroute__design__instance__displacement__mean": 0.0005,
+  "globalroute__design__instance__displacement__total": 171.09,
+  "globalroute__design__instance__utilization": 0.449738,
+  "globalroute__design__instance__utilization__stdcell": 0.317981,
   "globalroute__design__io": 1198,
+  "globalroute__design__rows": 2793,
+  "globalroute__design__rows:FreePDK45_38x28_10R_NP_162NW_34O": 2793,
+  "globalroute__design__sites": 5052574,
+  "globalroute__design__sites:FreePDK45_38x28_10R_NP_162NW_34O": 5052574,
   "globalroute__design__violations": 0,
   "globalroute__flow__errors__count": 0,
   "globalroute__flow__warnings__count": 2,
-  "globalroute__mem__peak": 4468512.0,
-  "globalroute__power__internal__total": 0.116999,
-  "globalroute__power__leakage__total": 0.0274306,
-  "globalroute__power__switching__total": 0.0339162,
-  "globalroute__power__total": 0.178345,
-  "globalroute__route__wirelength__estimated": 8034900.0,
-  "globalroute__runtime__total": "8:06.78",
-  "globalroute__timing__clock__slack": -0.595,
+  "globalroute__mem__peak": 4360588.0,
+  "globalroute__power__internal__total": 0.153564,
+  "globalroute__power__leakage__total": 0.025969,
+  "globalroute__power__switching__total": 0.0750558,
+  "globalroute__power__total": 0.254589,
+  "globalroute__route__wirelength__estimated": 7521320.0,
+  "globalroute__runtime__total": "8:05.81",
+  "globalroute__timing__clock__slack": -2.529,
   "globalroute__timing__drv__hold_violation_count": 0,
-  "globalroute__timing__drv__max_cap": 16,
-  "globalroute__timing__drv__max_cap_limit": -0.242793,
+  "globalroute__timing__drv__max_cap": 24,
+  "globalroute__timing__drv__max_cap_limit": -0.261114,
   "globalroute__timing__drv__max_fanout": 0,
   "globalroute__timing__drv__max_fanout_limit": 0,
   "globalroute__timing__drv__max_slew": 0,
-  "globalroute__timing__drv__max_slew_limit": 0.24884,
+  "globalroute__timing__drv__max_slew_limit": 0.261453,
   "globalroute__timing__drv__setup_violation_count": 1,
-  "globalroute__timing__setup__tns": -0.594692,
-  "globalroute__timing__setup__ws": -0.594692,
-  "placeopt__cpu__total": 206.72,
+  "globalroute__timing__setup__tns": -2.52928,
+  "globalroute__timing__setup__ws": -2.52928,
+  "placeopt__cpu__total": 188.64,
   "placeopt__design__core__area": 1699760.0,
   "placeopt__design__die__area": 1755000.0,
-  "placeopt__design__instance__area": 831125,
+  "placeopt__design__instance__area": 752590,
+  "placeopt__design__instance__area__cover": 0,
   "placeopt__design__instance__area__macros": 328372,
-  "placeopt__design__instance__area__stdcell": 502753,
-  "placeopt__design__instance__count": 325302,
+  "placeopt__design__instance__area__padcells": 0,
+  "placeopt__design__instance__area__stdcell": 424217,
+  "placeopt__design__instance__count": 261415,
+  "placeopt__design__instance__count__cover": 0,
   "placeopt__design__instance__count__macros": 24,
-  "placeopt__design__instance__count__stdcell": 325278,
-  "placeopt__design__instance__utilization": 0.488965,
-  "placeopt__design__instance__utilization__stdcell": 0.3666,
+  "placeopt__design__instance__count__padcells": 0,
+  "placeopt__design__instance__count__stdcell": 261391,
+  "placeopt__design__instance__utilization": 0.442762,
+  "placeopt__design__instance__utilization__stdcell": 0.309334,
   "placeopt__design__io": 1198,
+  "placeopt__design__rows": 2793,
+  "placeopt__design__rows:FreePDK45_38x28_10R_NP_162NW_34O": 2793,
+  "placeopt__design__sites": 5052574,
+  "placeopt__design__sites:FreePDK45_38x28_10R_NP_162NW_34O": 5052574,
   "placeopt__flow__errors__count": 0,
   "placeopt__flow__warnings__count": 0,
-  "placeopt__mem__peak": 1730540.0,
-  "placeopt__power__internal__total": 0.103017,
-  "placeopt__power__leakage__total": 0.027149,
-  "placeopt__power__switching__total": 0.0168572,
-  "placeopt__power__total": 0.147023,
-  "placeopt__runtime__total": "3:28.31",
+  "placeopt__mem__peak": 1343024.0,
+  "placeopt__power__internal__total": 0.141295,
+  "placeopt__power__leakage__total": 0.0256783,
+  "placeopt__power__switching__total": 0.0570157,
+  "placeopt__power__total": 0.223989,
+  "placeopt__runtime__total": "3:09.92",
   "placeopt__timing__drv__floating__nets": 0,
   "placeopt__timing__drv__floating__pins": 0,
   "placeopt__timing__drv__hold_violation_count": 0,
-  "placeopt__timing__drv__max_cap": 7,
-  "placeopt__timing__drv__max_cap_limit": -0.0160262,
+  "placeopt__timing__drv__max_cap": 0,
+  "placeopt__timing__drv__max_cap_limit": 0.0075377,
   "placeopt__timing__drv__max_fanout": 0,
   "placeopt__timing__drv__max_fanout_limit": 0,
   "placeopt__timing__drv__max_slew": 0,
-  "placeopt__timing__drv__max_slew_limit": 0.379057,
+  "placeopt__timing__drv__max_slew_limit": 0.379338,
   "placeopt__timing__drv__setup_violation_count": 1,
-  "placeopt__timing__setup__tns": -0.733073,
-  "placeopt__timing__setup__ws": -0.733073,
+  "placeopt__timing__setup__tns": -3.30745,
+  "placeopt__timing__setup__ws": -3.30745,
   "run__flow__design": "bp",
-  "run__flow__generate_date": "2024-08-24 22:19",
+  "run__flow__generate_date": "2025-01-12 09:00",
   "run__flow__metrics_version": "Metrics_2.1.2",
   "run__flow__openroad_commit": "N/A",
-  "run__flow__openroad_version": "v2.0-15311-g42ba30d73",
+  "run__flow__openroad_version": "v2.0-18100-g2fb3cdf40",
   "run__flow__platform": "nangate45",
   "run__flow__platform__capacitance_units": "1fF",
   "run__flow__platform__current_units": "1mA",
@@ -323,14 +383,14 @@
   "run__flow__platform__resistance_units": "1kohm",
   "run__flow__platform__time_units": "1ns",
   "run__flow__platform__voltage_units": "1v",
-  "run__flow__platform_commit": "20576ce92a18c95900f45bbf8aff4385defe5527",
-  "run__flow__scripts_commit": "20576ce92a18c95900f45bbf8aff4385defe5527",
-  "run__flow__uuid": "bdcea526-879b-4fbf-a6be-69719910d012",
+  "run__flow__platform_commit": "N/A",
+  "run__flow__scripts_commit": "not a git repo",
+  "run__flow__uuid": "43da432c-4aa6-4d7d-a44b-84456b139bd1",
   "run__flow__variant": "base",
-  "synth__cpu__total": 359.91,
-  "synth__design__instance__area__stdcell": 763869.274,
-  "synth__design__instance__count__stdcell": 306819.0,
-  "synth__mem__peak": 812780.0,
-  "synth__runtime__total": "6:03.99",
-  "total_time": "1:23:50.270000"
+  "synth__cpu__total": 497.31,
+  "synth__design__instance__area__stdcell": 677170.298,
+  "synth__design__instance__count__stdcell": 240125.0,
+  "synth__mem__peak": 769896.0,
+  "synth__runtime__total": "8:21.33",
+  "total_time": "1:09:23.190000"
 }
\ No newline at end of file
diff --git a/flow/designs/nangate45/black_parrot/rules-base.json b/flow/designs/nangate45/black_parrot/rules-base.json
index da8cb9c170..2293cd3ca2 100644
--- a/flow/designs/nangate45/black_parrot/rules-base.json
+++ b/flow/designs/nangate45/black_parrot/rules-base.json
@@ -1,6 +1,6 @@
 {
     "synth__design__instance__area__stdcell": {
-        "value": 875702.08,
+        "value": 778745.85,
         "compare": "<="
     },
     "constraints__clocks__count": {
@@ -8,11 +8,11 @@
         "compare": "=="
     },
     "placeopt__design__instance__area": {
-        "value": 928020,
+        "value": 865478,
         "compare": "<="
     },
     "placeopt__design__instance__count__stdcell": {
-        "value": 346412,
+        "value": 300600,
         "compare": "<="
     },
     "detailedplace__design__violations": {
@@ -20,11 +20,15 @@
         "compare": "=="
     },
     "cts__design__instance__count__setup_buffer": {
-        "value": 30123,
+        "value": 26139,
         "compare": "<="
     },
     "cts__design__instance__count__hold_buffer": {
-        "value": 30123,
+        "value": 26139,
+        "compare": "<="
+    },
+    "globalroute__antenna_diodes_count": {
+        "value": 0,
         "compare": "<="
     },
     "detailedroute__route__wirelength": {
@@ -39,16 +43,20 @@
         "value": 0,
         "compare": "<="
     },
+    "detailedroute__antenna_diodes_count": {
+        "value": 5,
+        "compare": "<="
+    },
     "finish__timing__setup__ws": {
-        "value": -0.88,
+        "value": -2.75,
         "compare": ">="
     },
     "finish__design__instance__area": {
-        "value": 931337,
+        "value": 879116,
         "compare": "<="
     },
     "finish__timing__drv__setup_violation_count": {
-        "value": 15061,
+        "value": 13070,
         "compare": "<="
     },
     "finish__timing__drv__hold_violation_count": {
@@ -56,7 +64,7 @@
         "compare": "<="
     },
     "finish__timing__wns_percent_delay": {
-        "value": -19.62,
+        "value": -42.49,
         "compare": ">="
     }
 }
\ No newline at end of file