diff --git a/test/BUILD b/test/BUILD index d673038434..f9917185a0 100644 --- a/test/BUILD +++ b/test/BUILD @@ -181,6 +181,11 @@ BIG_TESTS = [ "tinyRocket_nangate45", ] +# BIG_TESTS produce no golden log, so their QoR is what there is to check, and +# every one of them is metric checked. A new design has to save a +# .metrics_limits file; without one the check fails with "missing metrics +# limits file" rather than quietly running the flow and asserting nothing. +# # upf_aes does its own diff internally (regions-only under BAZEL_TEST) since # the full DEF output is not bit-stable across Bazel/CMake; the Tcl script # fails the test on mismatch, so the log diff against .ok is suppressed. @@ -189,6 +194,7 @@ BIG_TESTS = [ name = test_name, size = "enormous" if test_name in BIG_TESTS else "medium", check_log = False if test_name in PASSFAIL_TESTS + BIG_TESTS + ["upf_aes"] else True, + check_metrics = True if test_name in BIG_TESTS else False, check_passfail = True if test_name in PASSFAIL_TESTS else False, data = ["//src/odb/test:design_odb_data"] if test_name == "two_designs" else [], tags = ["manual"] if test_name in BIG_TESTS else [], diff --git a/test/aes_asap7.metrics b/test/aes_asap7.metrics index 281b85435a..333ed259a4 100644 --- a/test/aes_asap7.metrics +++ b/test/aes_asap7.metrics @@ -2,81 +2,79 @@ "IFP::ord_version": "", "IFP::instance_count": "15622", "floorplan__design__io": 388, - "design__io__hpwl": 8489470, - "utilization__before__dpl": 39.8289, - "negotiation__converge__phase_1__iteration": 2, - "design__instance__displacement__total": 5126.26, - "design__instance__displacement__mean": 0.332, - "design__instance__displacement__max": 1.891, - "route__wirelength__estimated": 58858, - "dpl__hpwl__delta": 3.9684e+06, - "dpl__hpwl__delta__percent": 7, + "design__io__hpwl": 8473808, + "utilization__before__dpl": 39.8541, + "negotiation__converge__phase_1__iteration": 3, + "design__instance__displacement__total": 5222.61, + "design__instance__displacement__mean": 0.338, + "design__instance__displacement__max": 2, + "route__wirelength__estimated": 58826.4, + "dpl__hpwl__delta": 4.16459e+06, + "dpl__hpwl__delta__percent": 8, "RSZ::repair_design_buffer_count": "203", - "RSZ::max_slew_slack": "0.1751290075480938", + "RSZ::max_slew_slack": "0.08501879870891571", "RSZ::max_fanout_slack": "100.0", - "RSZ::max_capacitance_slack": "2.0040563132243827", - "utilization__before__dpl": 40.3472, + "RSZ::max_capacitance_slack": "2.59242061986179", + "utilization__before__dpl": 40.3815, "negotiation__converge__phase_1__iteration": 1, - "design__instance__displacement__total": 125.203, + "design__instance__displacement__total": 122.057, "design__instance__displacement__mean": 0.007, - "design__instance__displacement__max": 1.69, - "route__wirelength__estimated": 60077.1, - "dpl__hpwl__delta": 19225, + "design__instance__displacement__max": 1.781, + "route__wirelength__estimated": 60066.8, + "dpl__hpwl__delta": 20769, "dpl__hpwl__delta__percent": 0, - "design__instance__count__setup_buffer": 1370, - "design__instance__count__hold_buffer": 744, - "RSZ::worst_slack_min": "0.010130785140185172", - "RSZ::worst_slack_max": "-46.747217395113196", - "RSZ::tns_max": "-2751.065608543166", - "RSZ::hold_buffer_count": "744", - "utilization__before__dpl": 45.7873, - "negotiation__converge__phase_1__iteration": 9, - "design__instance__displacement__total": 1956.37, - "design__instance__displacement__mean": 0.11, - "design__instance__displacement__max": 4.916, - "route__wirelength__estimated": 70016, - "dpl__hpwl__delta": 1.42943e+06, - "dpl__hpwl__delta__percent": 2, - "DPL::utilization": "45.8", - "DPL::design_area": "1911", - "route__net": 17489, + "design__instance__count__setup_buffer": 783, + "design__instance__count__hold_buffer": 786, + "RSZ::worst_slack_min": "0.02176037136960322", + "RSZ::worst_slack_max": "-56.23529442377473", + "RSZ::tns_max": "-6532.8085424723195", + "RSZ::hold_buffer_count": "786", + "utilization__before__dpl": 44.18, + "negotiation__converge__phase_1__iteration": 15, + "design__instance__displacement__total": 1399.25, + "design__instance__displacement__mean": 0.081, + "design__instance__displacement__max": 4.263, + "route__wirelength__estimated": 66809.3, + "dpl__hpwl__delta": 974432, + "dpl__hpwl__delta__percent": 1, + "DPL::utilization": "44.2", + "DPL::design_area": "1844", + "route__net": 16949, "route__net__special": 2, "global_route__fastroute__run_s": 0, - "global_route__fastroute__initial_rsmt_s": 0.0654264, - "global_route__fastroute__route_l_s": 0.0438071, - "global_route__fastroute__congestion_rsmt_s": 0.120811, - "global_route__fastroute__new_route_l_s": 0.0302467, - "global_route__fastroute__spiral_s": 0.0359687, - "global_route__fastroute__route_z_s": 0.00598489, - "global_route__fastroute__monotonic_s": 0.0641671, - "global_route__fastroute__overflow_iterations_s": 0.0112996, - "global_route__fastroute__finalization_s": 3.10463, + "global_route__fastroute__initial_rsmt_s": 0.0295559, + "global_route__fastroute__route_l_s": 0.0202405, + "global_route__fastroute__congestion_rsmt_s": 0.052672, + "global_route__fastroute__new_route_l_s": 0.0145425, + "global_route__fastroute__spiral_s": 0.0168193, + "global_route__fastroute__route_z_s": 0.00197848, + "global_route__fastroute__monotonic_s": 0.0286146, + "global_route__fastroute__overflow_iterations_s": 8.01e-07, + "global_route__fastroute__finalization_s": 1.21812, "global_route__fastroute__snapshot_batch_route_s": 0, "global_route__fastroute__snapshot_batch_apply_s": 0, "global_route__fastroute__snapshot_batch_sync_s": 0, "global_route__fastroute__snapshot_batch_count": 0, "global_route__fastroute__snapshot_batch_nets": 0, "global_route__fastroute__snapshot_batch_wave_count": 0, - "global_route__vias": 147518, - "global_route__wirelength": 112055, + "global_route__vias": 143550, + "global_route__wirelength": 108283, "grt__antenna_diodes_count": 0, "grt__antenna__violating__nets": 0, "grt__antenna__violating__pins": 0, "GRT::ANT::errors": "0", - "route__drc_errors__iter:0": 2734, - "route__wirelength__iter:0": 83969, - "route__drc_errors__iter:1": 303, - "route__wirelength__iter:1": 83234, - "route__drc_errors__iter:2": 124, - "route__wirelength__iter:2": 83170, - "route__drc_errors__iter:3": 2, - "route__wirelength__iter:3": 83176, - "route__drc_errors__iter:4": 0, - "route__wirelength__iter:4": 83176, + "route__drc_errors__iter:0": 2547, + "route__wirelength__iter:0": 81110, + "route__drc_errors__iter:1": 203, + "route__wirelength__iter:1": 80382, + "route__drc_errors__iter:2": 93, + "route__wirelength__iter:2": 80282, + "route__drc_errors__iter:3": 0, + "route__wirelength__iter:3": 80290, "route__drc_errors": 0, - "route__wirelength": 83176, - "route__vias": 166812, - "route__vias__singlecut": 166812, + "route__wirelength": 80290, + "route__vias": 160294, + "route__vias__singlecut": 160294, "route__vias__multicut": 0, "DRT::drv": "0", "drt__repair_antennas__pre_repair__antenna__violating__nets": 0, @@ -87,17 +85,17 @@ "design__violations": 0, "timing__drv__floating__nets": 0, "timing__drv__floating__pins": 0, - "DRT::worst_slack_min": "10.399556257733073", - "DRT::worst_slack_max": "-100.97589471616237", - "DRT::tns_max": "-6435.760838877582", - "DRT::clock_skew": "10.524740843153674", - "DRT::max_slew_slack": "-31.067266464233402", + "DRT::worst_slack_min": "11.337805739592852", + "DRT::worst_slack_max": "-211.23952671539215", + "DRT::tns_max": "-11899.066668459214", + "DRT::clock_skew": "12.989283312003462", + "DRT::max_slew_slack": "-50.487470626831055", "DRT::max_fanout_slack": "100.0", - "DRT::max_capacitance_slack": "9.73082005391571", + "DRT::max_capacitance_slack": "19.17615663636433", "DRT::clock_period": "400.000000", - "flow__warnings__count": 18, + "flow__warnings__count": 22, "flow__errors__count": 0, - "flow__warnings__count:DRT-0120": 2, + "flow__warnings__count:DRT-0120": 6, "flow__warnings__count:GPL-0302": 2, "flow__warnings__count:GRT-0246": 1, "flow__warnings__count:RCX-0514": 1, diff --git a/test/aes_asap7.metrics_limits b/test/aes_asap7.metrics_limits index 355f456231..b66ee33f18 100644 --- a/test/aes_asap7.metrics_limits +++ b/test/aes_asap7.metrics_limits @@ -1,22 +1,22 @@ { "IFP::instance_count" : "18746.399999999998" - ,"DPL::design_area" : "2293.2" - ,"DPL::utilization" : "54.959999999999994" + ,"DPL::design_area" : "2212.7999999999997" + ,"DPL::utilization" : "53.04" ,"RSZ::repair_design_buffer_count" : "243" ,"RSZ::max_slew_slack" : "0" ,"RSZ::max_capacitance_slack" : "0" ,"RSZ::max_fanout_slack" : "0" - ,"RSZ::worst_slack_min" : "-39.989869214859816" - ,"RSZ::worst_slack_max" : "-86.7472173951132" - ,"RSZ::tns_max" : "-65239.06560854317" - ,"RSZ::hold_buffer_count" : "892" + ,"RSZ::worst_slack_min" : "-39.9782396286304" + ,"RSZ::worst_slack_max" : "-96.23529442377473" + ,"RSZ::tns_max" : "-69020.80854247232" + ,"RSZ::hold_buffer_count" : "943" ,"GRT::ANT::errors" : "0" ,"DRT::drv" : "0" - ,"DRT::worst_slack_min" : "-29.600443742266926" - ,"DRT::worst_slack_max" : "-140.97589471616237" - ,"DRT::tns_max" : "-68923.76083887758" - ,"DRT::clock_skew" : "12.629689011784409" - ,"DRT::max_slew_slack" : "-37.28071975708008" + ,"DRT::worst_slack_min" : "-28.662194260407148" + ,"DRT::worst_slack_max" : "-251.23952671539215" + ,"DRT::tns_max" : "-74387.06666845921" + ,"DRT::clock_skew" : "15.587139974404153" + ,"DRT::max_slew_slack" : "-60.584964752197266" ,"DRT::max_capacitance_slack" : "0" ,"DRT::max_fanout_slack" : "0" ,"DRT::clock_period" : "400.0" diff --git a/test/aes_nangate45.metrics b/test/aes_nangate45.metrics index b7cf2b02d5..9ab54299d1 100644 --- a/test/aes_nangate45.metrics +++ b/test/aes_nangate45.metrics @@ -2,78 +2,81 @@ "IFP::ord_version": "", "IFP::instance_count": "16759", "floorplan__design__io": 388, - "design__io__hpwl": 327557349, - "utilizatin__before__dpl": 2.46266, - "design__instance__displacement__total": 10118.2, - "design__instance__displacement__mean": 0.52, - "design__instance__displacement__max": 2.9045, - "route__wirelength__estimated": 492211, - "dpl__hpwl__delta": 9.7451e+06, - "dpl__hpwl__delta__percent": 1, - "RSZ::repair_design_buffer_count": "751", - "RSZ::max_slew_slack": "27.4115248458771", + "design__io__hpwl": 327974539, + "utilization__before__dpl": 2.44659, + "negotiation__converge__phase_1__iteration": 0, + "design__instance__displacement__total": 19329.3, + "design__instance__displacement__mean": 0.997, + "design__instance__displacement__max": 6.9875, + "route__wirelength__estimated": 495645, + "dpl__hpwl__delta": 1.58673e+07, + "dpl__hpwl__delta__percent": 2, + "RSZ::repair_design_buffer_count": "677", + "RSZ::max_slew_slack": "28.090654092953947", "RSZ::max_fanout_slack": "100.0", - "RSZ::max_capacitance_slack": "19.69739581786955", - "utilizatin__before__dpl": 2.48249, - "design__instance__displacement__total": 126.004, - "design__instance__displacement__mean": 0.006, - "design__instance__displacement__max": 2.3545, - "route__wirelength__estimated": 497843, - "dpl__hpwl__delta": 38609, + "RSZ::max_capacitance_slack": "-9.295598376778681", + "utilization__before__dpl": 2.46814, + "negotiation__converge__phase_1__iteration": 0, + "design__instance__displacement__total": 185.613, + "design__instance__displacement__mean": 0.0095, + "design__instance__displacement__max": 7.1, + "route__wirelength__estimated": 500782, + "dpl__hpwl__delta": 26055, "dpl__hpwl__delta__percent": 0, - "design__instance__count__setup_buffer": 1132, - "design__instance__count__hold_buffer": 282, - "RSZ::worst_slack_min": "6.800116218149504e-6", - "RSZ::worst_slack_max": "-0.29496295130150896", - "RSZ::tns_max": "-26.347245131366588", - "RSZ::hold_buffer_count": "282", - "utilizatin__before__dpl": 2.98962, - "design__instance__displacement__total": 2686.66, - "design__instance__displacement__mean": 0.128, - "design__instance__displacement__max": 4.9035, - "route__wirelength__estimated": 536947, - "dpl__hpwl__delta": 2.79372e+06, + "design__instance__count__setup_buffer": 1208, + "design__instance__count__hold_buffer": 78, + "RSZ::worst_slack_min": "2.017830404324363e-5", + "RSZ::worst_slack_max": "-0.20410851364558505", + "RSZ::tns_max": "-21.789003218425616", + "RSZ::hold_buffer_count": "78", + "utilization__before__dpl": 2.95279, + "negotiation__converge__phase_1__iteration": 0, + "design__instance__displacement__total": 3235, + "design__instance__displacement__mean": 0.1555, + "design__instance__displacement__max": 9.135, + "route__wirelength__estimated": 544463, + "dpl__hpwl__delta": 3.77897e+06, "dpl__hpwl__delta__percent": 0, "DPL::utilization": "3.0", - "DPL::design_area": "26823", - "route__net": 17847, + "DPL::design_area": "26493", + "route__net": 17657, "route__net__special": 2, "global_route__fastroute__run_s": 0, - "global_route__fastroute__initial_rsmt_s": 0.0315493, - "global_route__fastroute__route_l_s": 0.0313789, - "global_route__fastroute__congestion_rsmt_s": 0.0629661, - "global_route__fastroute__new_route_l_s": 0.0200517, - "global_route__fastroute__spiral_s": 0.0220446, - "global_route__fastroute__route_z_s": 0.00444428, - "global_route__fastroute__monotonic_s": 0.0723626, - "global_route__fastroute__overflow_iterations_s": 1.84525, - "global_route__fastroute__finalization_s": 3.18645, + "global_route__fastroute__initial_rsmt_s": 0.0354216, + "global_route__fastroute__route_l_s": 0.0348912, + "global_route__fastroute__congestion_rsmt_s": 0.069808, + "global_route__fastroute__new_route_l_s": 0.0226968, + "global_route__fastroute__spiral_s": 0.0261616, + "global_route__fastroute__route_z_s": 0.00620804, + "global_route__fastroute__monotonic_s": 0.0492483, + "global_route__fastroute__overflow_iterations_s": 11.5172, + "global_route__fastroute__finalization_s": 3.2809, "global_route__fastroute__snapshot_batch_route_s": 0, "global_route__fastroute__snapshot_batch_apply_s": 0, "global_route__fastroute__snapshot_batch_sync_s": 0, "global_route__fastroute__snapshot_batch_count": 0, "global_route__fastroute__snapshot_batch_nets": 0, "global_route__fastroute__snapshot_batch_wave_count": 0, - "global_route__vias": 160852, - "global_route__wirelength": 819528, + "global_route__vias": 160915, + "global_route__wirelength": 831410, "grt__antenna_diodes_count": 0, "grt__antenna__violating__nets": 0, "grt__antenna__violating__pins": 0, "GRT::ANT::errors": "0", - "route__drc_errors__iter:0": 3948, - "route__wirelength__iter:0": 646481, - "route__drc_errors__iter:1": 783, - "route__wirelength__iter:1": 644484, - "route__drc_errors__iter:2": 501, - "route__wirelength__iter:2": 644119, - "route__drc_errors__iter:3": 4, - "route__wirelength__iter:3": 644120, + "route__drc_errors__iter:0": 3964, + "route__wirelength__iter:0": 654819, + "route__drc_errors__iter:1": 828, + "route__wirelength__iter:1": 652738, + "route__drc_errors__iter:2": 677, + "route__wirelength__iter:2": 652337, + "route__drc_errors__iter:3": 14, + "route__wirelength__iter:3": 652360, "route__drc_errors__iter:4": 0, - "route__wirelength__iter:4": 644120, + "route__wirelength__iter:4": 652361, "route__drc_errors": 0, - "route__wirelength": 644120, - "route__vias": 146359, - "route__vias__singlecut": 146359, + "route__wirelength": 652361, + "route__vias": 145856, + "route__vias__singlecut": 145856, "route__vias__multicut": 0, "DRT::drv": "0", "drt__repair_antennas__pre_repair__antenna__violating__nets": 0, @@ -84,20 +87,23 @@ "design__violations": 0, "timing__drv__floating__nets": 0, "timing__drv__floating__pins": 0, - "DRT::worst_slack_min": "0.001021210922507652", - "DRT::worst_slack_max": "-0.39736137727166904", - "DRT::tns_max": "-36.690772347763165", - "DRT::clock_skew": "0.04056152750705297", - "DRT::max_slew_slack": "21.563517894528584", + "DRT::worst_slack_min": "-0.015447005223266412", + "DRT::worst_slack_max": "-0.30606162914797375", + "DRT::tns_max": "-31.790372123453697", + "DRT::clock_skew": "0.026785435738679694", + "DRT::max_slew_slack": "33.33845462641906", "DRT::max_fanout_slack": "100.0", - "DRT::max_capacitance_slack": "-25.39746532742923", + "DRT::max_capacitance_slack": "-16.97116969818945", "DRT::clock_period": "0.810900", - "flow__warnings__count": 9, + "flow__warnings__count": 14, "flow__errors__count": 0, "flow__warnings__count:GRT-0246": 1, + "flow__warnings__count:GRT-0273": 2, "flow__warnings__count:IFP-0028": 1, "flow__warnings__count:ORD-0046": 5, + "flow__warnings__count:PDN-1051": 2, + "flow__warnings__count:RCX-0514": 1, "flow__warnings__count:RSZ-0062": 1, "flow__warnings__count:STA-0441": 1, - "flow__warnings__type_count": 5 + "flow__warnings__type_count": 8 } \ No newline at end of file diff --git a/test/aes_nangate45.metrics_limits b/test/aes_nangate45.metrics_limits index cfa10ba1b7..74fdbcb921 100644 --- a/test/aes_nangate45.metrics_limits +++ b/test/aes_nangate45.metrics_limits @@ -1,23 +1,23 @@ { "IFP::instance_count" : "20110.8" - ,"DPL::design_area" : "31743.6" - ,"DPL::utilization" : "3.48" - ,"RSZ::repair_design_buffer_count" : "832" + ,"DPL::design_area" : "31791.6" + ,"DPL::utilization" : "3.5999999999999996" + ,"RSZ::repair_design_buffer_count" : "812" ,"RSZ::max_slew_slack" : "0" - ,"RSZ::max_capacitance_slack" : "-26.708663863816863" + ,"RSZ::max_capacitance_slack" : "-11.154718052134417" ,"RSZ::max_fanout_slack" : "0" - ,"RSZ::worst_slack_min" : "-0.08059109351419903" - ,"RSZ::worst_slack_max" : "-0.25650413262880056" - ,"RSZ::tns_max" : "-155.07934597253475" - ,"RSZ::hold_buffer_count" : "37" + ,"RSZ::worst_slack_min" : "-0.08106982169595675" + ,"RSZ::worst_slack_max" : "-0.285198513645585" + ,"RSZ::tns_max" : "-157.68773421842562" + ,"RSZ::hold_buffer_count" : "93" ,"GRT::ANT::errors" : "0" ,"DRT::drv" : "0" - ,"DRT::worst_slack_min" : "-0.08991087483578412" - ,"DRT::worst_slack_max" : "-0.31033596203547853" - ,"DRT::tns_max" : "-168.150245372004" - ,"DRT::clock_skew" : "0.03878804054401374" + ,"DRT::worst_slack_min" : "-0.09653700522326641" + ,"DRT::worst_slack_max" : "-0.38715162914797374" + ,"DRT::tns_max" : "-167.6891031234537" + ,"DRT::clock_skew" : "0.03214252288641563" ,"DRT::max_slew_slack" : "0" - ,"DRT::max_capacitance_slack" : "-33.43458210527084" + ,"DRT::max_capacitance_slack" : "-20.365403637827338" ,"DRT::max_fanout_slack" : "0" ,"DRT::clock_period" : "0.8109" ,"DRT::ANT::errors" : "0" diff --git a/test/aes_sky130hd.metrics b/test/aes_sky130hd.metrics index 49a06bd8eb..8144b5b5c8 100644 --- a/test/aes_sky130hd.metrics +++ b/test/aes_sky130hd.metrics @@ -2,359 +2,256 @@ "IFP::ord_version": "", "IFP::instance_count": "17210", "floorplan__design__io": 388, - "design__io__hpwl": 325540173, - "utilization__before__dpl": 5.54803, - "negotiation__converge__phase_1__iteration": 0, - "design__instance__displacement__total": 45781, - "design__instance__displacement__mean": 0.822, - "design__instance__displacement__max": 19.125, - "route__wirelength__estimated": 1.10196e+06, - "dpl__hpwl__delta": 2.09004e+07, + "design__io__hpwl": 324621484, + "utilization__before__dpl": 5.53017, + "negotiation__converge__phase_1__iteration": 1, + "design__instance__displacement__total": 46166.6, + "design__instance__displacement__mean": 0.83, + "design__instance__displacement__max": 17.987, + "route__wirelength__estimated": 1.10973e+06, + "dpl__hpwl__delta": 2.04973e+07, "dpl__hpwl__delta__percent": 2, - "RSZ::repair_design_buffer_count": "580", - "RSZ::max_slew_slack": "14.302065865583009", + "RSZ::repair_design_buffer_count": "561", + "RSZ::max_slew_slack": "13.445188231019985", "RSZ::max_fanout_slack": "100.0", - "RSZ::max_capacitance_slack": "19.807544212069395", - "utilization__before__dpl": 5.62124, - "negotiation__converge__phase_1__iteration": 0, - "design__instance__displacement__total": 1413.08, - "design__instance__displacement__mean": 0.025, - "design__instance__displacement__max": 16.152, - "route__wirelength__estimated": 1.11824e+06, - "dpl__hpwl__delta": 282505, + "RSZ::max_capacitance_slack": "21.72777195219208", + "utilization__before__dpl": 5.60474, + "negotiation__converge__phase_1__iteration": 1, + "design__instance__displacement__total": 1465.66, + "design__instance__displacement__mean": 0.026, + "design__instance__displacement__max": 17.999, + "route__wirelength__estimated": 1.12628e+06, + "dpl__hpwl__delta": 182726, "dpl__hpwl__delta__percent": 0, - "design__instance__count__setup_buffer": 1969, - "design__instance__count__hold_buffer": 330, - "RSZ::worst_slack_min": "-0.6634143422389136", - "RSZ::worst_slack_max": "-0.9947221106139655", - "RSZ::tns_max": "-75.26473879393583", - "RSZ::hold_buffer_count": "330", - "utilization__before__dpl": 6.87649, - "negotiation__converge__phase_1__iteration": 2, - "design__instance__displacement__total": 16061.5, + "design__instance__count__setup_buffer": 1874, + "design__instance__count__hold_buffer": 333, + "RSZ::worst_slack_min": "0.0025001112998613664", + "RSZ::worst_slack_max": "-0.7426526270819597", + "RSZ::tns_max": "-54.530120629065706", + "RSZ::hold_buffer_count": "333", + "utilization__before__dpl": 6.80689, + "negotiation__converge__phase_1__iteration": 3, + "design__instance__displacement__total": 16026.4, "design__instance__displacement__mean": 0.275, - "design__instance__displacement__max": 27.628, - "route__wirelength__estimated": 1.3391e+06, - "dpl__hpwl__delta": 9.02704e+06, + "design__instance__displacement__max": 31.905, + "route__wirelength__estimated": 1.3415e+06, + "dpl__hpwl__delta": 9.80204e+06, "dpl__hpwl__delta__percent": 1, - "DPL::utilization": "6.9", - "DPL::design_area": "207549", - "route__net": 18057, + "DPL::utilization": "6.8", + "DPL::design_area": "205448", + "route__net": 17946, "route__net__special": 2, "global_route__fastroute__run_s": 0, - "global_route__fastroute__initial_rsmt_s": 0.0341524, - "global_route__fastroute__route_l_s": 0.0372261, - "global_route__fastroute__congestion_rsmt_s": 0.0700881, - "global_route__fastroute__new_route_l_s": 0.0209826, - "global_route__fastroute__spiral_s": 0.0238423, - "global_route__fastroute__route_z_s": 0.00707373, - "global_route__fastroute__monotonic_s": 0.199762, - "global_route__fastroute__overflow_iterations_s": 1.64813, - "global_route__fastroute__finalization_s": 2.415, + "global_route__fastroute__initial_rsmt_s": 0.0434931, + "global_route__fastroute__route_l_s": 0.0453834, + "global_route__fastroute__congestion_rsmt_s": 0.0928048, + "global_route__fastroute__new_route_l_s": 0.0262066, + "global_route__fastroute__spiral_s": 0.0249941, + "global_route__fastroute__route_z_s": 0.00652436, + "global_route__fastroute__monotonic_s": 0.180296, + "global_route__fastroute__overflow_iterations_s": 3.6944, + "global_route__fastroute__finalization_s": 4.26714, "global_route__fastroute__snapshot_batch_route_s": 0, "global_route__fastroute__snapshot_batch_apply_s": 0, "global_route__fastroute__snapshot_batch_sync_s": 0, "global_route__fastroute__snapshot_batch_count": 0, "global_route__fastroute__snapshot_batch_nets": 0, "global_route__fastroute__snapshot_batch_wave_count": 0, - "global_route__vias": 183334, - "global_route__wirelength": 2101119, - "grt__utilization__before__dpl": 6.8905, - "grt__negotiation__converge__phase_1__iteration": 1, + "global_route__vias": 180588, + "global_route__wirelength": 2099442, + "grt__utilization__before__dpl": 6.8228, + "grt__negotiation__converge__phase_1__iteration": 4, "grt__global_route__fastroute__run_s": 0, - "grt__global_route__fastroute__initial_rsmt_s": 0.00125753, - "grt__global_route__fastroute__route_l_s": 0.00166022, - "grt__global_route__fastroute__congestion_rsmt_s": 0.0022166, - "grt__global_route__fastroute__new_route_l_s": 0.000775133, - "grt__global_route__fastroute__spiral_s": 0.000880541, - "grt__global_route__fastroute__route_z_s": 0.000274021, - "grt__global_route__fastroute__monotonic_s": 0.00985936, - "grt__global_route__fastroute__overflow_iterations_s": 0.0136297, - "grt__global_route__fastroute__finalization_s": 0.158329, + "grt__global_route__fastroute__initial_rsmt_s": 0.00158181, + "grt__global_route__fastroute__route_l_s": 0.00298593, + "grt__global_route__fastroute__congestion_rsmt_s": 0.00340776, + "grt__global_route__fastroute__new_route_l_s": 0.00120972, + "grt__global_route__fastroute__spiral_s": 0.00142828, + "grt__global_route__fastroute__route_z_s": 0.000470425, + "grt__global_route__fastroute__monotonic_s": 0.0175568, + "grt__global_route__fastroute__overflow_iterations_s": 0.0124062, + "grt__global_route__fastroute__finalization_s": 0.282694, "grt__global_route__fastroute__snapshot_batch_route_s": 0, "grt__global_route__fastroute__snapshot_batch_apply_s": 0, "grt__global_route__fastroute__snapshot_batch_sync_s": 0, "grt__global_route__fastroute__snapshot_batch_count": 0, "grt__global_route__fastroute__snapshot_batch_nets": 0, "grt__global_route__fastroute__snapshot_batch_wave_count": 0, - "grt__global_route__vias": 4767, - "grt__utilization__before__dpl": 6.89307, - "grt__negotiation__converge__phase_1__iteration": 0, + "grt__global_route__vias": 5351, + "grt__utilization__before__dpl": 6.82554, + "grt__negotiation__converge__phase_1__iteration": 4, "grt__global_route__fastroute__run_s": 0, - "grt__global_route__fastroute__initial_rsmt_s": 0.000497526, - "grt__global_route__fastroute__route_l_s": 0.000430656, - "grt__global_route__fastroute__congestion_rsmt_s": 0.000794351, - "grt__global_route__fastroute__new_route_l_s": 0.000212489, - "grt__global_route__fastroute__spiral_s": 0.000254181, - "grt__global_route__fastroute__route_z_s": 3.9499e-05, - "grt__global_route__fastroute__monotonic_s": 0.00413398, - "grt__global_route__fastroute__overflow_iterations_s": 3.71e-07, - "grt__global_route__fastroute__finalization_s": 0.0341178, + "grt__global_route__fastroute__initial_rsmt_s": 0.000380992, + "grt__global_route__fastroute__route_l_s": 0.000463876, + "grt__global_route__fastroute__congestion_rsmt_s": 0.000632168, + "grt__global_route__fastroute__new_route_l_s": 0.000222354, + "grt__global_route__fastroute__spiral_s": 0.000245819, + "grt__global_route__fastroute__route_z_s": 4.2844e-05, + "grt__global_route__fastroute__monotonic_s": 0.00678522, + "grt__global_route__fastroute__overflow_iterations_s": 1.293e-06, + "grt__global_route__fastroute__finalization_s": 0.035004, "grt__global_route__fastroute__snapshot_batch_route_s": 0, "grt__global_route__fastroute__snapshot_batch_apply_s": 0, "grt__global_route__fastroute__snapshot_batch_sync_s": 0, "grt__global_route__fastroute__snapshot_batch_count": 0, "grt__global_route__fastroute__snapshot_batch_nets": 0, "grt__global_route__fastroute__snapshot_batch_wave_count": 0, - "grt__global_route__vias": 1788, - "grt__utilization__before__dpl": 6.89315, - "grt__negotiation__converge__phase_1__iteration": 0, + "grt__global_route__vias": 1138, + "grt__utilization__before__dpl": 6.82894, + "grt__negotiation__converge__phase_1__iteration": 3, "grt__global_route__fastroute__run_s": 0, - "grt__global_route__fastroute__initial_rsmt_s": 3.0185e-05, - "grt__global_route__fastroute__route_l_s": 6.951e-06, - "grt__global_route__fastroute__congestion_rsmt_s": 1.7426e-05, - "grt__global_route__fastroute__new_route_l_s": 4.007e-06, - "grt__global_route__fastroute__spiral_s": 5.799e-06, - "grt__global_route__fastroute__route_z_s": 5.41e-07, - "grt__global_route__fastroute__monotonic_s": 0.00325965, - "grt__global_route__fastroute__overflow_iterations_s": 4.21e-07, - "grt__global_route__fastroute__finalization_s": 0.0065225, + "grt__global_route__fastroute__initial_rsmt_s": 0.00011383, + "grt__global_route__fastroute__route_l_s": 0.000175062, + "grt__global_route__fastroute__congestion_rsmt_s": 0.000172188, + "grt__global_route__fastroute__new_route_l_s": 6.5959e-05, + "grt__global_route__fastroute__spiral_s": 6.611e-05, + "grt__global_route__fastroute__route_z_s": 2.1492e-05, + "grt__global_route__fastroute__monotonic_s": 0.00459205, + "grt__global_route__fastroute__overflow_iterations_s": 0.00289561, + "grt__global_route__fastroute__finalization_s": 0.00910586, "grt__global_route__fastroute__snapshot_batch_route_s": 0, "grt__global_route__fastroute__snapshot_batch_apply_s": 0, "grt__global_route__fastroute__snapshot_batch_sync_s": 0, "grt__global_route__fastroute__snapshot_batch_count": 0, "grt__global_route__fastroute__snapshot_batch_nets": 0, "grt__global_route__fastroute__snapshot_batch_wave_count": 0, - "grt__global_route__vias": 34, - "grt__utilization__before__dpl": 6.89324, - "grt__negotiation__converge__phase_1__iteration": 0, + "grt__global_route__vias": 396, + "grt__utilization__before__dpl": 6.82977, + "grt__negotiation__converge__phase_1__iteration": 2, "grt__global_route__fastroute__run_s": 0, - "grt__global_route__fastroute__initial_rsmt_s": 1.9429e-05, - "grt__global_route__fastroute__route_l_s": 6.6e-06, - "grt__global_route__fastroute__congestion_rsmt_s": 1.4993e-05, - "grt__global_route__fastroute__new_route_l_s": 4.497e-06, - "grt__global_route__fastroute__spiral_s": 6.229e-06, - "grt__global_route__fastroute__route_z_s": 5.21e-07, - "grt__global_route__fastroute__monotonic_s": 0.00332982, - "grt__global_route__fastroute__overflow_iterations_s": 1.9e-07, - "grt__global_route__fastroute__finalization_s": 0.00650365, + "grt__global_route__fastroute__initial_rsmt_s": 0.000182383, + "grt__global_route__fastroute__route_l_s": 0.000186851, + "grt__global_route__fastroute__congestion_rsmt_s": 0.000265448, + "grt__global_route__fastroute__new_route_l_s": 8.2524e-05, + "grt__global_route__fastroute__spiral_s": 8.9895e-05, + "grt__global_route__fastroute__route_z_s": 1.7326e-05, + "grt__global_route__fastroute__monotonic_s": 0.00636101, + "grt__global_route__fastroute__overflow_iterations_s": 0.00467269, + "grt__global_route__fastroute__finalization_s": 0.0146014, "grt__global_route__fastroute__snapshot_batch_route_s": 0, "grt__global_route__fastroute__snapshot_batch_apply_s": 0, "grt__global_route__fastroute__snapshot_batch_sync_s": 0, "grt__global_route__fastroute__snapshot_batch_count": 0, "grt__global_route__fastroute__snapshot_batch_nets": 0, "grt__global_route__fastroute__snapshot_batch_wave_count": 0, - "grt__global_route__vias": 36, - "grt__antenna_diodes_count": 202, + "grt__global_route__vias": 493, + "grt__antenna_diodes_count": 276, "grt__antenna__violating__nets": 0, "grt__antenna__violating__pins": 0, "GRT::ANT::errors": "0", - "route__drc_errors__iter:0": 8813, - "route__wirelength__iter:0": 1629478, - "route__drc_errors__iter:1": 4043, - "route__wirelength__iter:1": 1624392, - "route__drc_errors__iter:2": 3095, - "route__wirelength__iter:2": 1622798, - "route__drc_errors__iter:3": 99, - "route__wirelength__iter:3": 1623141, + "route__drc_errors__iter:0": 8850, + "route__wirelength__iter:0": 1631321, + "route__drc_errors__iter:1": 4254, + "route__wirelength__iter:1": 1626266, + "route__drc_errors__iter:2": 3566, + "route__wirelength__iter:2": 1624385, + "route__drc_errors__iter:3": 218, + "route__wirelength__iter:3": 1624746, "route__drc_errors__iter:4": 2, - "route__wirelength__iter:4": 1623138, - "route__drc_errors__iter:5": 1, - "route__wirelength__iter:5": 1623138, - "route__drc_errors__iter:6": 1, - "route__wirelength__iter:6": 1623138, - "route__drc_errors__iter:7": 0, - "route__wirelength__iter:7": 1623148, + "route__wirelength__iter:4": 1624770, + "route__drc_errors__iter:5": 2, + "route__wirelength__iter:5": 1624770, + "route__drc_errors__iter:6": 0, + "route__wirelength__iter:6": 1624769, "route__drc_errors": 0, - "route__wirelength": 1623148, - "route__vias": 164012, - "route__vias__singlecut": 164012, + "route__wirelength": 1624769, + "route__vias": 163544, + "route__vias__singlecut": 163544, "route__vias__multicut": 0, "DRT::drv": "0", - "drt__repair_antennas__pre_repair__antenna__violating__nets": 236, - "drt__repair_antennas__pre_repair__antenna__violating__pins": 251, - "drt__repair_antennas__iter_0__utilization__before__dpl": 6.93328, - "drt__repair_antennas__iter_0__negotiation__converge__phase_1__iteration": 1, + "drt__repair_antennas__pre_repair__antenna__violating__nets": 230, + "drt__repair_antennas__pre_repair__antenna__violating__pins": 242, + "drt__repair_antennas__iter_0__utilization__before__dpl": 6.87296, + "drt__repair_antennas__iter_0__negotiation__converge__phase_1__iteration": 2, "drt__repair_antennas__iter_0__global_route__fastroute__run_s": 0, - "drt__repair_antennas__iter_0__global_route__fastroute__initial_rsmt_s": 0.00165832, - "drt__repair_antennas__iter_0__global_route__fastroute__route_l_s": 0.00272407, - "drt__repair_antennas__iter_0__global_route__fastroute__congestion_rsmt_s": 0.0023627, - "drt__repair_antennas__iter_0__global_route__fastroute__new_route_l_s": 0.00109738, - "drt__repair_antennas__iter_0__global_route__fastroute__spiral_s": 0.0011964, - "drt__repair_antennas__iter_0__global_route__fastroute__route_z_s": 0.000354602, - "drt__repair_antennas__iter_0__global_route__fastroute__monotonic_s": 0.0101966, - "drt__repair_antennas__iter_0__global_route__fastroute__overflow_iterations_s": 3.31e-07, - "drt__repair_antennas__iter_0__global_route__fastroute__finalization_s": 0.106806, + "drt__repair_antennas__iter_0__global_route__fastroute__initial_rsmt_s": 0.000948623, + "drt__repair_antennas__iter_0__global_route__fastroute__route_l_s": 0.00302034, + "drt__repair_antennas__iter_0__global_route__fastroute__congestion_rsmt_s": 0.00242785, + "drt__repair_antennas__iter_0__global_route__fastroute__new_route_l_s": 0.00108061, + "drt__repair_antennas__iter_0__global_route__fastroute__spiral_s": 0.00111327, + "drt__repair_antennas__iter_0__global_route__fastroute__route_z_s": 0.00053359, + "drt__repair_antennas__iter_0__global_route__fastroute__monotonic_s": 0.0092908, + "drt__repair_antennas__iter_0__global_route__fastroute__overflow_iterations_s": 7.31e-07, + "drt__repair_antennas__iter_0__global_route__fastroute__finalization_s": 0.122328, "drt__repair_antennas__iter_0__global_route__fastroute__snapshot_batch_route_s": 0, "drt__repair_antennas__iter_0__global_route__fastroute__snapshot_batch_apply_s": 0, "drt__repair_antennas__iter_0__global_route__fastroute__snapshot_batch_sync_s": 0, "drt__repair_antennas__iter_0__global_route__fastroute__snapshot_batch_count": 0, "drt__repair_antennas__iter_0__global_route__fastroute__snapshot_batch_nets": 0, "drt__repair_antennas__iter_0__global_route__fastroute__snapshot_batch_wave_count": 0, - "drt__repair_antennas__iter_0__global_route__vias": 4258, - "drt__repair_antennas__iter_0__antenna_diodes_count": 685, - "drt__repair_antennas__iter_0__route__drc_errors__iter:0": 1522, - "drt__repair_antennas__iter_0__route__wirelength__iter:0": 1624360, - "drt__repair_antennas__iter_0__route__drc_errors__iter:1": 210, - "drt__repair_antennas__iter_0__route__wirelength__iter:1": 1624107, - "drt__repair_antennas__iter_0__route__drc_errors__iter:2": 155, - "drt__repair_antennas__iter_0__route__wirelength__iter:2": 1624044, - "drt__repair_antennas__iter_0__route__drc_errors__iter:3": 3, - "drt__repair_antennas__iter_0__route__wirelength__iter:3": 1624070, + "drt__repair_antennas__iter_0__global_route__vias": 3492, + "drt__repair_antennas__iter_0__antenna_diodes_count": 797, + "drt__repair_antennas__iter_0__route__drc_errors__iter:0": 1790, + "drt__repair_antennas__iter_0__route__wirelength__iter:0": 1626924, + "drt__repair_antennas__iter_0__route__drc_errors__iter:1": 367, + "drt__repair_antennas__iter_0__route__wirelength__iter:1": 1626713, + "drt__repair_antennas__iter_0__route__drc_errors__iter:2": 283, + "drt__repair_antennas__iter_0__route__wirelength__iter:2": 1626619, + "drt__repair_antennas__iter_0__route__drc_errors__iter:3": 11, + "drt__repair_antennas__iter_0__route__wirelength__iter:3": 1626704, "drt__repair_antennas__iter_0__route__drc_errors__iter:4": 0, - "drt__repair_antennas__iter_0__route__wirelength__iter:4": 1624070, + "drt__repair_antennas__iter_0__route__wirelength__iter:4": 1626628, "drt__repair_antennas__iter_0__route__drc_errors": 0, - "drt__repair_antennas__iter_0__route__wirelength": 1624070, - "drt__repair_antennas__iter_0__route__vias": 165073, - "drt__repair_antennas__iter_0__route__vias__singlecut": 165073, + "drt__repair_antennas__iter_0__route__wirelength": 1626628, + "drt__repair_antennas__iter_0__route__vias": 165229, + "drt__repair_antennas__iter_0__route__vias__singlecut": 165229, "drt__repair_antennas__iter_0__route__vias__multicut": 0, - "drt__repair_antennas__iter_0__antenna__violating__nets": 21, - "drt__repair_antennas__iter_0__antenna__violating__pins": 23, - "drt__repair_antennas__iter_1__utilization__before__dpl": 6.94024, - "drt__repair_antennas__iter_1__negotiation__converge__phase_1__iteration": 0, + "drt__repair_antennas__iter_0__antenna__violating__nets": 15, + "drt__repair_antennas__iter_0__antenna__violating__pins": 15, + "drt__repair_antennas__iter_1__utilization__before__dpl": 6.87678, + "drt__repair_antennas__iter_1__negotiation__converge__phase_1__iteration": 1, "drt__repair_antennas__iter_1__global_route__fastroute__run_s": 0, - "drt__repair_antennas__iter_1__global_route__fastroute__initial_rsmt_s": 0.00080016, - "drt__repair_antennas__iter_1__global_route__fastroute__route_l_s": 0.000904757, - "drt__repair_antennas__iter_1__global_route__fastroute__congestion_rsmt_s": 0.000494952, - "drt__repair_antennas__iter_1__global_route__fastroute__new_route_l_s": 0.00016046, - "drt__repair_antennas__iter_1__global_route__fastroute__spiral_s": 0.000178979, - "drt__repair_antennas__iter_1__global_route__fastroute__route_z_s": 3.8117e-05, - "drt__repair_antennas__iter_1__global_route__fastroute__monotonic_s": 0.00211726, - "drt__repair_antennas__iter_1__global_route__fastroute__overflow_iterations_s": 4.4e-07, - "drt__repair_antennas__iter_1__global_route__fastroute__finalization_s": 0.0212489, + "drt__repair_antennas__iter_1__global_route__fastroute__initial_rsmt_s": 0.00029331, + "drt__repair_antennas__iter_1__global_route__fastroute__route_l_s": 0.000203165, + "drt__repair_antennas__iter_1__global_route__fastroute__congestion_rsmt_s": 0.000392058, + "drt__repair_antennas__iter_1__global_route__fastroute__new_route_l_s": 5.6205e-05, + "drt__repair_antennas__iter_1__global_route__fastroute__spiral_s": 6.2173e-05, + "drt__repair_antennas__iter_1__global_route__fastroute__route_z_s": 3.8748e-05, + "drt__repair_antennas__iter_1__global_route__fastroute__monotonic_s": 0.00548201, + "drt__repair_antennas__iter_1__global_route__fastroute__overflow_iterations_s": 7.71e-07, + "drt__repair_antennas__iter_1__global_route__fastroute__finalization_s": 0.0182031, "drt__repair_antennas__iter_1__global_route__fastroute__snapshot_batch_route_s": 0, "drt__repair_antennas__iter_1__global_route__fastroute__snapshot_batch_apply_s": 0, "drt__repair_antennas__iter_1__global_route__fastroute__snapshot_batch_sync_s": 0, "drt__repair_antennas__iter_1__global_route__fastroute__snapshot_batch_count": 0, "drt__repair_antennas__iter_1__global_route__fastroute__snapshot_batch_nets": 0, "drt__repair_antennas__iter_1__global_route__fastroute__snapshot_batch_wave_count": 0, - "drt__repair_antennas__iter_1__global_route__vias": 763, - "drt__repair_antennas__iter_1__antenna_diodes_count": 769, - "drt__repair_antennas__iter_1__route__drc_errors__iter:0": 184, - "drt__repair_antennas__iter_1__route__wirelength__iter:0": 1624433, - "drt__repair_antennas__iter_1__route__drc_errors__iter:1": 29, - "drt__repair_antennas__iter_1__route__wirelength__iter:1": 1624424, - "drt__repair_antennas__iter_1__route__drc_errors__iter:2": 6, - "drt__repair_antennas__iter_1__route__wirelength__iter:2": 1624432, + "drt__repair_antennas__iter_1__global_route__vias": 341, + "drt__repair_antennas__iter_1__antenna_diodes_count": 843, + "drt__repair_antennas__iter_1__route__drc_errors__iter:0": 136, + "drt__repair_antennas__iter_1__route__wirelength__iter:0": 1626863, + "drt__repair_antennas__iter_1__route__drc_errors__iter:1": 15, + "drt__repair_antennas__iter_1__route__wirelength__iter:1": 1626837, + "drt__repair_antennas__iter_1__route__drc_errors__iter:2": 8, + "drt__repair_antennas__iter_1__route__wirelength__iter:2": 1626829, "drt__repair_antennas__iter_1__route__drc_errors__iter:3": 0, - "drt__repair_antennas__iter_1__route__wirelength__iter:3": 1624435, + "drt__repair_antennas__iter_1__route__wirelength__iter:3": 1626791, "drt__repair_antennas__iter_1__route__drc_errors": 0, - "drt__repair_antennas__iter_1__route__wirelength": 1624435, - "drt__repair_antennas__iter_1__route__vias": 165273, - "drt__repair_antennas__iter_1__route__vias__singlecut": 165273, + "drt__repair_antennas__iter_1__route__wirelength": 1626791, + "drt__repair_antennas__iter_1__route__vias": 165333, + "drt__repair_antennas__iter_1__route__vias__singlecut": 165333, "drt__repair_antennas__iter_1__route__vias__multicut": 0, - "drt__repair_antennas__iter_1__antenna__violating__nets": 5, - "drt__repair_antennas__iter_1__antenna__violating__pins": 6, - "drt__repair_antennas__iter_2__utilization__before__dpl": 6.94248, - "drt__repair_antennas__iter_2__negotiation__converge__phase_1__iteration": 0, - "drt__repair_antennas__iter_2__global_route__fastroute__run_s": 0, - "drt__repair_antennas__iter_2__global_route__fastroute__initial_rsmt_s": 0.000436044, - "drt__repair_antennas__iter_2__global_route__fastroute__route_l_s": 0.000354142, - "drt__repair_antennas__iter_2__global_route__fastroute__congestion_rsmt_s": 0.000295022, - "drt__repair_antennas__iter_2__global_route__fastroute__new_route_l_s": 6.5898e-05, - "drt__repair_antennas__iter_2__global_route__fastroute__spiral_s": 7.4061e-05, - "drt__repair_antennas__iter_2__global_route__fastroute__route_z_s": 1.334e-05, - "drt__repair_antennas__iter_2__global_route__fastroute__monotonic_s": 0.00112327, - "drt__repair_antennas__iter_2__global_route__fastroute__overflow_iterations_s": 4.5e-07, - "drt__repair_antennas__iter_2__global_route__fastroute__finalization_s": 0.0127334, - "drt__repair_antennas__iter_2__global_route__fastroute__snapshot_batch_route_s": 0, - "drt__repair_antennas__iter_2__global_route__fastroute__snapshot_batch_apply_s": 0, - "drt__repair_antennas__iter_2__global_route__fastroute__snapshot_batch_sync_s": 0, - "drt__repair_antennas__iter_2__global_route__fastroute__snapshot_batch_count": 0, - "drt__repair_antennas__iter_2__global_route__fastroute__snapshot_batch_nets": 0, - "drt__repair_antennas__iter_2__global_route__fastroute__snapshot_batch_wave_count": 0, - "drt__repair_antennas__iter_2__global_route__vias": 360, - "drt__repair_antennas__iter_2__antenna_diodes_count": 796, - "drt__repair_antennas__iter_2__route__drc_errors__iter:0": 112, - "drt__repair_antennas__iter_2__route__wirelength__iter:0": 1624524, - "drt__repair_antennas__iter_2__route__drc_errors__iter:1": 8, - "drt__repair_antennas__iter_2__route__wirelength__iter:1": 1624498, - "drt__repair_antennas__iter_2__route__drc_errors__iter:2": 0, - "drt__repair_antennas__iter_2__route__wirelength__iter:2": 1624502, - "drt__repair_antennas__iter_2__route__drc_errors": 0, - "drt__repair_antennas__iter_2__route__wirelength": 1624502, - "drt__repair_antennas__iter_2__route__vias": 165302, - "drt__repair_antennas__iter_2__route__vias__singlecut": 165302, - "drt__repair_antennas__iter_2__route__vias__multicut": 0, - "drt__repair_antennas__iter_2__antenna__violating__nets": 3, - "drt__repair_antennas__iter_2__antenna__violating__pins": 3, - "drt__repair_antennas__iter_3__utilization__before__dpl": 6.94273, - "drt__repair_antennas__iter_3__negotiation__converge__phase_1__iteration": 0, - "drt__repair_antennas__iter_3__global_route__fastroute__run_s": 0, - "drt__repair_antennas__iter_3__global_route__fastroute__initial_rsmt_s": 0.000258969, - "drt__repair_antennas__iter_3__global_route__fastroute__route_l_s": 0.000282403, - "drt__repair_antennas__iter_3__global_route__fastroute__congestion_rsmt_s": 0.000312549, - "drt__repair_antennas__iter_3__global_route__fastroute__new_route_l_s": 5.0445e-05, - "drt__repair_antennas__iter_3__global_route__fastroute__spiral_s": 5.8297e-05, - "drt__repair_antennas__iter_3__global_route__fastroute__route_z_s": 1.0205e-05, - "drt__repair_antennas__iter_3__global_route__fastroute__monotonic_s": 0.00104105, - "drt__repair_antennas__iter_3__global_route__fastroute__overflow_iterations_s": 4.5e-07, - "drt__repair_antennas__iter_3__global_route__fastroute__finalization_s": 0.00161535, - "drt__repair_antennas__iter_3__global_route__fastroute__snapshot_batch_route_s": 0, - "drt__repair_antennas__iter_3__global_route__fastroute__snapshot_batch_apply_s": 0, - "drt__repair_antennas__iter_3__global_route__fastroute__snapshot_batch_sync_s": 0, - "drt__repair_antennas__iter_3__global_route__fastroute__snapshot_batch_count": 0, - "drt__repair_antennas__iter_3__global_route__fastroute__snapshot_batch_nets": 0, - "drt__repair_antennas__iter_3__global_route__fastroute__snapshot_batch_wave_count": 0, - "drt__repair_antennas__iter_3__global_route__vias": 341, - "drt__repair_antennas__iter_3__antenna_diodes_count": 799, - "drt__repair_antennas__iter_3__route__drc_errors__iter:0": 80, - "drt__repair_antennas__iter_3__route__wirelength__iter:0": 1624553, - "drt__repair_antennas__iter_3__route__drc_errors__iter:1": 5, - "drt__repair_antennas__iter_3__route__wirelength__iter:1": 1624541, - "drt__repair_antennas__iter_3__route__drc_errors__iter:2": 1, - "drt__repair_antennas__iter_3__route__wirelength__iter:2": 1624541, - "drt__repair_antennas__iter_3__route__drc_errors__iter:3": 0, - "drt__repair_antennas__iter_3__route__wirelength__iter:3": 1624533, - "drt__repair_antennas__iter_3__route__drc_errors": 0, - "drt__repair_antennas__iter_3__route__wirelength": 1624533, - "drt__repair_antennas__iter_3__route__vias": 165312, - "drt__repair_antennas__iter_3__route__vias__singlecut": 165312, - "drt__repair_antennas__iter_3__route__vias__multicut": 0, - "drt__repair_antennas__iter_3__antenna__violating__nets": 1, - "drt__repair_antennas__iter_3__antenna__violating__pins": 2, - "drt__repair_antennas__iter_4__utilization__before__dpl": 6.9429, - "drt__repair_antennas__iter_4__negotiation__converge__phase_1__iteration": 0, - "drt__repair_antennas__iter_4__global_route__fastroute__run_s": 0, - "drt__repair_antennas__iter_4__global_route__fastroute__initial_rsmt_s": 0.000230746, - "drt__repair_antennas__iter_4__global_route__fastroute__route_l_s": 0.000270576, - "drt__repair_antennas__iter_4__global_route__fastroute__congestion_rsmt_s": 0.00024617, - "drt__repair_antennas__iter_4__global_route__fastroute__new_route_l_s": 3.7386e-05, - "drt__repair_antennas__iter_4__global_route__fastroute__spiral_s": 4.4948e-05, - "drt__repair_antennas__iter_4__global_route__fastroute__route_z_s": 1.0205e-05, - "drt__repair_antennas__iter_4__global_route__fastroute__monotonic_s": 0.00100907, - "drt__repair_antennas__iter_4__global_route__fastroute__overflow_iterations_s": 3.21e-07, - "drt__repair_antennas__iter_4__global_route__fastroute__finalization_s": 0.000602684, - "drt__repair_antennas__iter_4__global_route__fastroute__snapshot_batch_route_s": 0, - "drt__repair_antennas__iter_4__global_route__fastroute__snapshot_batch_apply_s": 0, - "drt__repair_antennas__iter_4__global_route__fastroute__snapshot_batch_sync_s": 0, - "drt__repair_antennas__iter_4__global_route__fastroute__snapshot_batch_count": 0, - "drt__repair_antennas__iter_4__global_route__fastroute__snapshot_batch_nets": 0, - "drt__repair_antennas__iter_4__global_route__fastroute__snapshot_batch_wave_count": 0, - "drt__repair_antennas__iter_4__global_route__vias": 271, - "drt__repair_antennas__iter_4__antenna_diodes_count": 801, - "drt__repair_antennas__iter_4__route__drc_errors__iter:0": 73, - "drt__repair_antennas__iter_4__route__wirelength__iter:0": 1624557, - "drt__repair_antennas__iter_4__route__drc_errors__iter:1": 3, - "drt__repair_antennas__iter_4__route__wirelength__iter:1": 1624543, - "drt__repair_antennas__iter_4__route__drc_errors__iter:2": 0, - "drt__repair_antennas__iter_4__route__wirelength__iter:2": 1624545, - "drt__repair_antennas__iter_4__route__drc_errors": 0, - "drt__repair_antennas__iter_4__route__wirelength": 1624545, - "drt__repair_antennas__iter_4__route__vias": 165321, - "drt__repair_antennas__iter_4__route__vias__singlecut": 165321, - "drt__repair_antennas__iter_4__route__vias__multicut": 0, - "drt__repair_antennas__iter_4__antenna__violating__nets": 1, - "drt__repair_antennas__iter_4__antenna__violating__pins": 1, - "drt__antenna__violating__nets": 1, - "drt__antenna__violating__pins": 1, - "DRT::ANT::errors": "1", + "drt__repair_antennas__iter_1__antenna__violating__nets": 0, + "drt__repair_antennas__iter_1__antenna__violating__pins": 0, + "drt__antenna__violating__nets": 0, + "drt__antenna__violating__pins": 0, + "DRT::ANT::errors": "0", "design__violations": 0, "timing__drv__floating__nets": 0, "timing__drv__floating__pins": 0, - "DRT::worst_slack_min": "-0.7075836783443998", - "DRT::worst_slack_max": "-1.3568990759502482", - "DRT::tns_max": "-153.2495347332728", - "DRT::clock_skew": "0.33837578141662017", - "DRT::max_slew_slack": "-26.584915834302336", + "DRT::worst_slack_min": "-0.03578115682799947", + "DRT::worst_slack_max": "-1.0700796107646784", + "DRT::tns_max": "-128.86102150069073", + "DRT::clock_skew": "0.2804380140818472", + "DRT::max_slew_slack": "-37.58823694525414", "DRT::max_fanout_slack": "100.0", - "DRT::max_capacitance_slack": "-28.781614887290036", + "DRT::max_capacitance_slack": "-22.531266987680965", "DRT::clock_period": "3.740000", - "flow__warnings__count": 44, + "flow__warnings__count": 36, "flow__errors__count": 0, - "flow__warnings__count:DRT-0120": 14, + "flow__warnings__count:DRT-0120": 8, "flow__warnings__count:DRT-0349": 10, - "flow__warnings__count:GRT-0243": 2, + "flow__warnings__count:GRT-0243": 1, "flow__warnings__count:GRT-0273": 1, "flow__warnings__count:GRT-0297": 1, "flow__warnings__count:IFP-0028": 1, @@ -362,7 +259,6 @@ "flow__warnings__count:PDN-1051": 2, "flow__warnings__count:RCX-0514": 1, "flow__warnings__count:RSZ-0062": 1, - "flow__warnings__count:RSZ-0066": 1, "flow__warnings__count:STA-0441": 1, - "flow__warnings__type_count": 12 + "flow__warnings__type_count": 11 } \ No newline at end of file diff --git a/test/aes_sky130hd.metrics_limits b/test/aes_sky130hd.metrics_limits index 4003872858..7f6a4d0f92 100644 --- a/test/aes_sky130hd.metrics_limits +++ b/test/aes_sky130hd.metrics_limits @@ -1,24 +1,24 @@ { "IFP::instance_count" : "20652.0" - ,"DPL::design_area" : "249058.8" - ,"DPL::utilization" : "8.28" - ,"RSZ::repair_design_buffer_count" : "696" + ,"DPL::design_area" : "246537.59999999998" + ,"DPL::utilization" : "8.16" + ,"RSZ::repair_design_buffer_count" : "673" ,"RSZ::max_slew_slack" : "0" ,"RSZ::max_capacitance_slack" : "0" ,"RSZ::max_fanout_slack" : "0" - ,"RSZ::worst_slack_min" : "-1.0374143422389137" - ,"RSZ::worst_slack_max" : "-1.3687221106139655" - ,"RSZ::tns_max" : "-718.918738793936" - ,"RSZ::hold_buffer_count" : "396" + ,"RSZ::worst_slack_min" : "-0.37149988870013867" + ,"RSZ::worst_slack_max" : "-1.1166526270819597" + ,"RSZ::tns_max" : "-698.1841206290658" + ,"RSZ::hold_buffer_count" : "399" ,"GRT::ANT::errors" : "0" ,"DRT::drv" : "0" - ,"DRT::worst_slack_min" : "-1.0815836783444" - ,"DRT::worst_slack_max" : "-1.7308990759502483" - ,"DRT::tns_max" : "-796.9035347332729" - ,"DRT::clock_skew" : "0.4060509376999442" - ,"DRT::max_slew_slack" : "-31.901899001162803" - ,"DRT::max_capacitance_slack" : "-34.537937864748045" + ,"DRT::worst_slack_min" : "-0.40978115682799954" + ,"DRT::worst_slack_max" : "-1.4440796107646785" + ,"DRT::tns_max" : "-772.5150215006909" + ,"DRT::clock_skew" : "0.33652561689821664" + ,"DRT::max_slew_slack" : "-45.10588433430497" + ,"DRT::max_capacitance_slack" : "-27.037520385217157" ,"DRT::max_fanout_slack" : "0" ,"DRT::clock_period" : "3.74" - ,"DRT::ANT::errors" : "1" + ,"DRT::ANT::errors" : "0" } diff --git a/test/aes_sky130hs.metrics b/test/aes_sky130hs.metrics index 7a660ee2ad..5ad005024b 100644 --- a/test/aes_sky130hs.metrics +++ b/test/aes_sky130hs.metrics @@ -2,286 +2,244 @@ "IFP::ord_version": "", "IFP::instance_count": "16324", "floorplan__design__io": 388, - "design__io__hpwl": 326239300, - "utilization__before__dpl": 7.05565, - "negotiation__converge__phase_1__iteration": 1, - "design__instance__displacement__total": 56405, - "design__instance__displacement__mean": 1.19, - "design__instance__displacement__max": 21.935, - "route__wirelength__estimated": 1.2432e+06, - "dpl__hpwl__delta": 2.80311e+07, + "design__io__hpwl": 326386592, + "utilization__before__dpl": 7.07562, + "negotiation__converge__phase_1__iteration": 2, + "design__instance__displacement__total": 56067.9, + "design__instance__displacement__mean": 1.182, + "design__instance__displacement__max": 30.76, + "route__wirelength__estimated": 1.24005e+06, + "dpl__hpwl__delta": 2.86677e+07, "dpl__hpwl__delta__percent": 2, - "RSZ::repair_design_buffer_count": "722", - "RSZ::max_slew_slack": "19.59700733423233", + "RSZ::repair_design_buffer_count": "730", + "RSZ::max_slew_slack": "19.47050392627716", "RSZ::max_fanout_slack": "100.0", - "RSZ::max_capacitance_slack": "21.8597554970204", - "utilization__before__dpl": 7.16867, + "RSZ::max_capacitance_slack": "21.397172511861033", + "utilization__before__dpl": 7.19399, "negotiation__converge__phase_1__iteration": 1, - "design__instance__displacement__total": 1866.58, - "design__instance__displacement__mean": 0.039, - "design__instance__displacement__max": 16.725, - "route__wirelength__estimated": 1.26009e+06, - "dpl__hpwl__delta": 401063, + "design__instance__displacement__total": 1954.37, + "design__instance__displacement__mean": 0.04, + "design__instance__displacement__max": 21.107, + "route__wirelength__estimated": 1.25913e+06, + "dpl__hpwl__delta": 466635, "dpl__hpwl__delta__percent": 0, - "design__instance__count__setup_buffer": 1208, - "design__instance__count__hold_buffer": 433, - "RSZ::worst_slack_min": "0.0009686696163812968", - "RSZ::worst_slack_max": "-0.6036640247428751", - "RSZ::tns_max": "-73.39657267481267", - "RSZ::hold_buffer_count": "433", - "utilization__before__dpl": 8.16433, + "design__instance__count__setup_buffer": 1583, + "design__instance__count__hold_buffer": 560, + "RSZ::worst_slack_min": "0.0010805801004285572", + "RSZ::worst_slack_max": "-0.7740537319093317", + "RSZ::tns_max": "-61.57579864728202", + "RSZ::hold_buffer_count": "560", + "utilization__before__dpl": 8.53512, "negotiation__converge__phase_1__iteration": 4, - "design__instance__displacement__total": 13402.9, - "design__instance__displacement__mean": 0.271, - "design__instance__displacement__max": 41.88, - "route__wirelength__estimated": 1.3774e+06, - "dpl__hpwl__delta": 8.44563e+06, + "design__instance__displacement__total": 17891, + "design__instance__displacement__mean": 0.358, + "design__instance__displacement__max": 43.715, + "route__wirelength__estimated": 1.4054e+06, + "dpl__hpwl__delta": 1.0988e+07, "dpl__hpwl__delta__percent": 1, - "DPL::utilization": "8.2", - "DPL::design_area": "246395", - "route__net": 17057, + "DPL::utilization": "8.5", + "DPL::design_area": "257585", + "route__net": 17585, "route__net__special": 2, "global_route__fastroute__run_s": 0, - "global_route__fastroute__initial_rsmt_s": 0.047333, - "global_route__fastroute__route_l_s": 0.0397344, - "global_route__fastroute__congestion_rsmt_s": 0.0822928, - "global_route__fastroute__new_route_l_s": 0.0251101, - "global_route__fastroute__spiral_s": 0.0301113, - "global_route__fastroute__route_z_s": 0.00911313, - "global_route__fastroute__monotonic_s": 0.2542, - "global_route__fastroute__overflow_iterations_s": 3.48867, - "global_route__fastroute__finalization_s": 4.33796, + "global_route__fastroute__initial_rsmt_s": 0.0396948, + "global_route__fastroute__route_l_s": 0.0383386, + "global_route__fastroute__congestion_rsmt_s": 0.0815107, + "global_route__fastroute__new_route_l_s": 0.0268165, + "global_route__fastroute__spiral_s": 0.0295299, + "global_route__fastroute__route_z_s": 0.00784242, + "global_route__fastroute__monotonic_s": 0.184468, + "global_route__fastroute__overflow_iterations_s": 3.21673, + "global_route__fastroute__finalization_s": 4.77319, "global_route__fastroute__snapshot_batch_route_s": 0, "global_route__fastroute__snapshot_batch_apply_s": 0, "global_route__fastroute__snapshot_batch_sync_s": 0, "global_route__fastroute__snapshot_batch_count": 0, "global_route__fastroute__snapshot_batch_nets": 0, "global_route__fastroute__snapshot_batch_wave_count": 0, - "global_route__vias": 180866, - "global_route__wirelength": 2198988, - "grt__utilization__before__dpl": 8.17598, - "grt__negotiation__converge__phase_1__iteration": 2, + "global_route__vias": 183616, + "global_route__wirelength": 2234152, + "grt__utilization__before__dpl": 8.54275, + "grt__negotiation__converge__phase_1__iteration": 3, "grt__global_route__fastroute__run_s": 0, - "grt__global_route__fastroute__initial_rsmt_s": 0.000955082, - "grt__global_route__fastroute__route_l_s": 0.00116625, - "grt__global_route__fastroute__congestion_rsmt_s": 0.00150893, - "grt__global_route__fastroute__new_route_l_s": 0.00051304, - "grt__global_route__fastroute__spiral_s": 0.000578758, - "grt__global_route__fastroute__route_z_s": 0.000284376, - "grt__global_route__fastroute__monotonic_s": 0.0112503, - "grt__global_route__fastroute__overflow_iterations_s": 0.0981887, - "grt__global_route__fastroute__finalization_s": 0.119034, + "grt__global_route__fastroute__initial_rsmt_s": 0.00106733, + "grt__global_route__fastroute__route_l_s": 0.00210007, + "grt__global_route__fastroute__congestion_rsmt_s": 0.00193347, + "grt__global_route__fastroute__new_route_l_s": 0.000637346, + "grt__global_route__fastroute__spiral_s": 0.000698868, + "grt__global_route__fastroute__route_z_s": 0.000137827, + "grt__global_route__fastroute__monotonic_s": 0.0101576, + "grt__global_route__fastroute__overflow_iterations_s": 0.0311194, + "grt__global_route__fastroute__finalization_s": 0.0747986, "grt__global_route__fastroute__snapshot_batch_route_s": 0, "grt__global_route__fastroute__snapshot_batch_apply_s": 0, "grt__global_route__fastroute__snapshot_batch_sync_s": 0, "grt__global_route__fastroute__snapshot_batch_count": 0, "grt__global_route__fastroute__snapshot_batch_nets": 0, "grt__global_route__fastroute__snapshot_batch_wave_count": 0, - "grt__global_route__vias": 2682, - "grt__utilization__before__dpl": 8.17693, + "grt__global_route__vias": 3148, + "grt__utilization__before__dpl": 8.54349, "grt__negotiation__converge__phase_1__iteration": 1, "grt__global_route__fastroute__run_s": 0, - "grt__global_route__fastroute__initial_rsmt_s": 4.718e-05, - "grt__global_route__fastroute__route_l_s": 0.000179399, - "grt__global_route__fastroute__congestion_rsmt_s": 9.2418e-05, - "grt__global_route__fastroute__new_route_l_s": 5.8578e-05, - "grt__global_route__fastroute__spiral_s": 6.4737e-05, - "grt__global_route__fastroute__route_z_s": 0.000126019, - "grt__global_route__fastroute__monotonic_s": 0.00795011, - "grt__global_route__fastroute__overflow_iterations_s": 6.11e-07, - "grt__global_route__fastroute__finalization_s": 0.00944565, + "grt__global_route__fastroute__initial_rsmt_s": 4.1532e-05, + "grt__global_route__fastroute__route_l_s": 0.000136464, + "grt__global_route__fastroute__congestion_rsmt_s": 5.2339e-05, + "grt__global_route__fastroute__new_route_l_s": 3.5473e-05, + "grt__global_route__fastroute__spiral_s": 3.3691e-05, + "grt__global_route__fastroute__route_z_s": 1.5654e-05, + "grt__global_route__fastroute__monotonic_s": 0.00370002, + "grt__global_route__fastroute__overflow_iterations_s": 0.00355041, + "grt__global_route__fastroute__finalization_s": 0.00802689, "grt__global_route__fastroute__snapshot_batch_route_s": 0, "grt__global_route__fastroute__snapshot_batch_apply_s": 0, "grt__global_route__fastroute__snapshot_batch_sync_s": 0, "grt__global_route__fastroute__snapshot_batch_count": 0, "grt__global_route__fastroute__snapshot_batch_nets": 0, "grt__global_route__fastroute__snapshot_batch_wave_count": 0, - "grt__global_route__vias": 152, - "grt__utilization__before__dpl": 8.1782, - "grt__negotiation__converge__phase_1__iteration": 3, - "grt__global_route__fastroute__run_s": 0, - "grt__global_route__fastroute__initial_rsmt_s": 6.9645e-05, - "grt__global_route__fastroute__route_l_s": 9.1047e-05, - "grt__global_route__fastroute__congestion_rsmt_s": 9.4712e-05, - "grt__global_route__fastroute__new_route_l_s": 3.9149e-05, - "grt__global_route__fastroute__spiral_s": 4.1843e-05, - "grt__global_route__fastroute__route_z_s": 2.1042e-05, - "grt__global_route__fastroute__monotonic_s": 0.00509871, - "grt__global_route__fastroute__overflow_iterations_s": 6.91e-07, - "grt__global_route__fastroute__finalization_s": 0.0124159, - "grt__global_route__fastroute__snapshot_batch_route_s": 0, - "grt__global_route__fastroute__snapshot_batch_apply_s": 0, - "grt__global_route__fastroute__snapshot_batch_sync_s": 0, - "grt__global_route__fastroute__snapshot_batch_count": 0, - "grt__global_route__fastroute__snapshot_batch_nets": 0, - "grt__global_route__fastroute__snapshot_batch_wave_count": 0, - "grt__global_route__vias": 174, - "grt__utilization__before__dpl": 8.17831, - "grt__negotiation__converge__phase_1__iteration": 1, + "grt__global_route__vias": 118, + "grt__utilization__before__dpl": 8.5436, + "grt__negotiation__converge__phase_1__iteration": 0, "grt__global_route__fastroute__run_s": 0, - "grt__global_route__fastroute__initial_rsmt_s": 3.0156e-05, - "grt__global_route__fastroute__route_l_s": 3.2479e-05, - "grt__global_route__fastroute__congestion_rsmt_s": 2.2013e-05, - "grt__global_route__fastroute__new_route_l_s": 9.164e-06, - "grt__global_route__fastroute__spiral_s": 1.354e-05, - "grt__global_route__fastroute__route_z_s": 8.913e-06, - "grt__global_route__fastroute__monotonic_s": 0.00495999, - "grt__global_route__fastroute__overflow_iterations_s": 8.61e-07, - "grt__global_route__fastroute__finalization_s": 0.00900373, + "grt__global_route__fastroute__initial_rsmt_s": 2.6299e-05, + "grt__global_route__fastroute__route_l_s": 4.4557e-05, + "grt__global_route__fastroute__congestion_rsmt_s": 1.5383e-05, + "grt__global_route__fastroute__new_route_l_s": 1.7467e-05, + "grt__global_route__fastroute__spiral_s": 1.6295e-05, + "grt__global_route__fastroute__route_z_s": 6.65e-06, + "grt__global_route__fastroute__monotonic_s": 0.00381045, + "grt__global_route__fastroute__overflow_iterations_s": 0.0017844, + "grt__global_route__fastroute__finalization_s": 0.0064392, "grt__global_route__fastroute__snapshot_batch_route_s": 0, "grt__global_route__fastroute__snapshot_batch_apply_s": 0, "grt__global_route__fastroute__snapshot_batch_sync_s": 0, "grt__global_route__fastroute__snapshot_batch_count": 0, "grt__global_route__fastroute__snapshot_batch_nets": 0, "grt__global_route__fastroute__snapshot_batch_wave_count": 0, - "grt__global_route__vias": 36, - "grt__antenna_diodes_count": 132, + "grt__global_route__vias": 31, + "grt__antenna_diodes_count": 80, "grt__antenna__violating__nets": 0, "grt__antenna__violating__pins": 0, "GRT::ANT::errors": "0", - "route__drc_errors__iter:0": 6465, - "route__wirelength__iter:0": 1696155, - "route__drc_errors__iter:1": 2068, - "route__wirelength__iter:1": 1691518, - "route__drc_errors__iter:2": 1547, - "route__wirelength__iter:2": 1689774, - "route__drc_errors__iter:3": 13, - "route__wirelength__iter:3": 1689856, + "route__drc_errors__iter:0": 6918, + "route__wirelength__iter:0": 1722446, + "route__drc_errors__iter:1": 1934, + "route__wirelength__iter:1": 1717454, + "route__drc_errors__iter:2": 1326, + "route__wirelength__iter:2": 1715978, + "route__drc_errors__iter:3": 21, + "route__wirelength__iter:3": 1716140, "route__drc_errors__iter:4": 1, - "route__wirelength__iter:4": 1689864, + "route__wirelength__iter:4": 1716151, "route__drc_errors__iter:5": 0, - "route__wirelength__iter:5": 1689866, + "route__wirelength__iter:5": 1716143, "route__drc_errors": 0, - "route__wirelength": 1689866, - "route__vias": 154861, - "route__vias__singlecut": 154861, + "route__wirelength": 1716143, + "route__vias": 157429, + "route__vias__singlecut": 157429, "route__vias__multicut": 0, "DRT::drv": "0", - "drt__repair_antennas__pre_repair__antenna__violating__nets": 192, + "drt__repair_antennas__pre_repair__antenna__violating__nets": 194, "drt__repair_antennas__pre_repair__antenna__violating__pins": 202, - "drt__repair_antennas__iter_0__utilization__before__dpl": 8.21538, + "drt__repair_antennas__iter_0__utilization__before__dpl": 8.5794, "drt__repair_antennas__iter_0__negotiation__converge__phase_1__iteration": 1, "drt__repair_antennas__iter_0__global_route__fastroute__run_s": 0, - "drt__repair_antennas__iter_0__global_route__fastroute__initial_rsmt_s": 0.00201011, - "drt__repair_antennas__iter_0__global_route__fastroute__route_l_s": 0.00220265, - "drt__repair_antennas__iter_0__global_route__fastroute__congestion_rsmt_s": 0.00170489, - "drt__repair_antennas__iter_0__global_route__fastroute__new_route_l_s": 0.000849344, - "drt__repair_antennas__iter_0__global_route__fastroute__spiral_s": 0.000889974, - "drt__repair_antennas__iter_0__global_route__fastroute__route_z_s": 0.000450296, - "drt__repair_antennas__iter_0__global_route__fastroute__monotonic_s": 0.00848295, - "drt__repair_antennas__iter_0__global_route__fastroute__overflow_iterations_s": 0.00363204, - "drt__repair_antennas__iter_0__global_route__fastroute__finalization_s": 0.107341, + "drt__repair_antennas__iter_0__global_route__fastroute__initial_rsmt_s": 0.000726339, + "drt__repair_antennas__iter_0__global_route__fastroute__route_l_s": 0.00286951, + "drt__repair_antennas__iter_0__global_route__fastroute__congestion_rsmt_s": 0.00211449, + "drt__repair_antennas__iter_0__global_route__fastroute__new_route_l_s": 0.00103578, + "drt__repair_antennas__iter_0__global_route__fastroute__spiral_s": 0.00100547, + "drt__repair_antennas__iter_0__global_route__fastroute__route_z_s": 0.000534622, + "drt__repair_antennas__iter_0__global_route__fastroute__monotonic_s": 0.0102237, + "drt__repair_antennas__iter_0__global_route__fastroute__overflow_iterations_s": 6.21e-07, + "drt__repair_antennas__iter_0__global_route__fastroute__finalization_s": 0.0984951, "drt__repair_antennas__iter_0__global_route__fastroute__snapshot_batch_route_s": 0, "drt__repair_antennas__iter_0__global_route__fastroute__snapshot_batch_apply_s": 0, "drt__repair_antennas__iter_0__global_route__fastroute__snapshot_batch_sync_s": 0, "drt__repair_antennas__iter_0__global_route__fastroute__snapshot_batch_count": 0, "drt__repair_antennas__iter_0__global_route__fastroute__snapshot_batch_nets": 0, "drt__repair_antennas__iter_0__global_route__fastroute__snapshot_batch_wave_count": 0, - "drt__repair_antennas__iter_0__global_route__vias": 2762, - "drt__repair_antennas__iter_0__antenna_diodes_count": 482, - "drt__repair_antennas__iter_0__route__drc_errors__iter:0": 845, - "drt__repair_antennas__iter_0__route__wirelength__iter:0": 1688776, - "drt__repair_antennas__iter_0__route__drc_errors__iter:1": 118, - "drt__repair_antennas__iter_0__route__wirelength__iter:1": 1688622, - "drt__repair_antennas__iter_0__route__drc_errors__iter:2": 75, - "drt__repair_antennas__iter_0__route__wirelength__iter:2": 1688615, - "drt__repair_antennas__iter_0__route__drc_errors__iter:3": 0, - "drt__repair_antennas__iter_0__route__wirelength__iter:3": 1688421, + "drt__repair_antennas__iter_0__global_route__vias": 2559, + "drt__repair_antennas__iter_0__antenna_diodes_count": 418, + "drt__repair_antennas__iter_0__route__drc_errors__iter:0": 1392, + "drt__repair_antennas__iter_0__route__wirelength__iter:0": 1715992, + "drt__repair_antennas__iter_0__route__drc_errors__iter:1": 214, + "drt__repair_antennas__iter_0__route__wirelength__iter:1": 1715868, + "drt__repair_antennas__iter_0__route__drc_errors__iter:2": 154, + "drt__repair_antennas__iter_0__route__wirelength__iter:2": 1715838, + "drt__repair_antennas__iter_0__route__drc_errors__iter:3": 6, + "drt__repair_antennas__iter_0__route__wirelength__iter:3": 1715875, + "drt__repair_antennas__iter_0__route__drc_errors__iter:4": 2, + "drt__repair_antennas__iter_0__route__wirelength__iter:4": 1715832, + "drt__repair_antennas__iter_0__route__drc_errors__iter:5": 2, + "drt__repair_antennas__iter_0__route__wirelength__iter:5": 1715832, + "drt__repair_antennas__iter_0__route__drc_errors__iter:6": 0, + "drt__repair_antennas__iter_0__route__wirelength__iter:6": 1715834, "drt__repair_antennas__iter_0__route__drc_errors": 0, - "drt__repair_antennas__iter_0__route__wirelength": 1688421, - "drt__repair_antennas__iter_0__route__vias": 155539, - "drt__repair_antennas__iter_0__route__vias__singlecut": 155539, + "drt__repair_antennas__iter_0__route__wirelength": 1715834, + "drt__repair_antennas__iter_0__route__vias": 158380, + "drt__repair_antennas__iter_0__route__vias__singlecut": 158380, "drt__repair_antennas__iter_0__route__vias__multicut": 0, - "drt__repair_antennas__iter_0__antenna__violating__nets": 11, - "drt__repair_antennas__iter_0__antenna__violating__pins": 12, - "drt__repair_antennas__iter_1__utilization__before__dpl": 8.21983, - "drt__repair_antennas__iter_1__negotiation__converge__phase_1__iteration": 1, + "drt__repair_antennas__iter_0__antenna__violating__nets": 9, + "drt__repair_antennas__iter_0__antenna__violating__pins": 9, + "drt__repair_antennas__iter_1__utilization__before__dpl": 8.58173, + "drt__repair_antennas__iter_1__negotiation__converge__phase_1__iteration": 0, "drt__repair_antennas__iter_1__global_route__fastroute__run_s": 0, - "drt__repair_antennas__iter_1__global_route__fastroute__initial_rsmt_s": 0.000115353, - "drt__repair_antennas__iter_1__global_route__fastroute__route_l_s": 0.000161983, - "drt__repair_antennas__iter_1__global_route__fastroute__congestion_rsmt_s": 0.000830345, - "drt__repair_antennas__iter_1__global_route__fastroute__new_route_l_s": 5.6314e-05, - "drt__repair_antennas__iter_1__global_route__fastroute__spiral_s": 5.4982e-05, - "drt__repair_antennas__iter_1__global_route__fastroute__route_z_s": 2.5448e-05, - "drt__repair_antennas__iter_1__global_route__fastroute__monotonic_s": 0.00134258, - "drt__repair_antennas__iter_1__global_route__fastroute__overflow_iterations_s": 5.82e-07, - "drt__repair_antennas__iter_1__global_route__fastroute__finalization_s": 0.0150076, + "drt__repair_antennas__iter_1__global_route__fastroute__initial_rsmt_s": 5.317e-05, + "drt__repair_antennas__iter_1__global_route__fastroute__route_l_s": 0.00010676, + "drt__repair_antennas__iter_1__global_route__fastroute__congestion_rsmt_s": 7.5424e-05, + "drt__repair_antennas__iter_1__global_route__fastroute__new_route_l_s": 2.4206e-05, + "drt__repair_antennas__iter_1__global_route__fastroute__spiral_s": 2.636e-05, + "drt__repair_antennas__iter_1__global_route__fastroute__route_z_s": 1.9299e-05, + "drt__repair_antennas__iter_1__global_route__fastroute__monotonic_s": 0.00165354, + "drt__repair_antennas__iter_1__global_route__fastroute__overflow_iterations_s": 5.01e-07, + "drt__repair_antennas__iter_1__global_route__fastroute__finalization_s": 0.00423394, "drt__repair_antennas__iter_1__global_route__fastroute__snapshot_batch_route_s": 0, "drt__repair_antennas__iter_1__global_route__fastroute__snapshot_batch_apply_s": 0, "drt__repair_antennas__iter_1__global_route__fastroute__snapshot_batch_sync_s": 0, "drt__repair_antennas__iter_1__global_route__fastroute__snapshot_batch_count": 0, "drt__repair_antennas__iter_1__global_route__fastroute__snapshot_batch_nets": 0, "drt__repair_antennas__iter_1__global_route__fastroute__snapshot_batch_wave_count": 0, - "drt__repair_antennas__iter_1__global_route__vias": 321, - "drt__repair_antennas__iter_1__antenna_diodes_count": 524, - "drt__repair_antennas__iter_1__route__drc_errors__iter:0": 69, - "drt__repair_antennas__iter_1__route__wirelength__iter:0": 1688598, - "drt__repair_antennas__iter_1__route__drc_errors__iter:1": 4, - "drt__repair_antennas__iter_1__route__wirelength__iter:1": 1688596, + "drt__repair_antennas__iter_1__global_route__vias": 132, + "drt__repair_antennas__iter_1__antenna_diodes_count": 440, + "drt__repair_antennas__iter_1__route__drc_errors__iter:0": 5, + "drt__repair_antennas__iter_1__route__wirelength__iter:0": 1715883, + "drt__repair_antennas__iter_1__route__drc_errors__iter:1": 2, + "drt__repair_antennas__iter_1__route__wirelength__iter:1": 1715887, "drt__repair_antennas__iter_1__route__drc_errors__iter:2": 2, - "drt__repair_antennas__iter_1__route__wirelength__iter:2": 1688596, + "drt__repair_antennas__iter_1__route__wirelength__iter:2": 1715885, "drt__repair_antennas__iter_1__route__drc_errors__iter:3": 0, - "drt__repair_antennas__iter_1__route__wirelength__iter:3": 1688576, + "drt__repair_antennas__iter_1__route__wirelength__iter:3": 1715888, "drt__repair_antennas__iter_1__route__drc_errors": 0, - "drt__repair_antennas__iter_1__route__wirelength": 1688576, - "drt__repair_antennas__iter_1__route__vias": 155620, - "drt__repair_antennas__iter_1__route__vias__singlecut": 155620, + "drt__repair_antennas__iter_1__route__wirelength": 1715888, + "drt__repair_antennas__iter_1__route__vias": 158419, + "drt__repair_antennas__iter_1__route__vias__singlecut": 158419, "drt__repair_antennas__iter_1__route__vias__multicut": 0, - "drt__repair_antennas__iter_1__antenna__violating__nets": 1, - "drt__repair_antennas__iter_1__antenna__violating__pins": 1, - "drt__repair_antennas__iter_2__utilization__before__dpl": 8.21994, - "drt__repair_antennas__iter_2__global_route__fastroute__run_s": 0, - "drt__repair_antennas__iter_2__global_route__fastroute__initial_rsmt_s": 1.9729e-05, - "drt__repair_antennas__iter_2__global_route__fastroute__route_l_s": 1.8528e-05, - "drt__repair_antennas__iter_2__global_route__fastroute__congestion_rsmt_s": 1.6495e-05, - "drt__repair_antennas__iter_2__global_route__fastroute__new_route_l_s": 3.255e-06, - "drt__repair_antennas__iter_2__global_route__fastroute__spiral_s": 4.356e-06, - "drt__repair_antennas__iter_2__global_route__fastroute__route_z_s": 6.36e-06, - "drt__repair_antennas__iter_2__global_route__fastroute__monotonic_s": 0.010108, - "drt__repair_antennas__iter_2__global_route__fastroute__overflow_iterations_s": 5.71e-07, - "drt__repair_antennas__iter_2__global_route__fastroute__finalization_s": 8.5689e-05, - "drt__repair_antennas__iter_2__global_route__fastroute__snapshot_batch_route_s": 0, - "drt__repair_antennas__iter_2__global_route__fastroute__snapshot_batch_apply_s": 0, - "drt__repair_antennas__iter_2__global_route__fastroute__snapshot_batch_sync_s": 0, - "drt__repair_antennas__iter_2__global_route__fastroute__snapshot_batch_count": 0, - "drt__repair_antennas__iter_2__global_route__fastroute__snapshot_batch_nets": 0, - "drt__repair_antennas__iter_2__global_route__fastroute__snapshot_batch_wave_count": 0, - "drt__repair_antennas__iter_2__global_route__vias": 8, - "drt__repair_antennas__iter_2__antenna_diodes_count": 525, - "drt__repair_antennas__iter_2__route__drc_errors__iter:0": 0, - "drt__repair_antennas__iter_2__route__wirelength__iter:0": 1688579, - "drt__repair_antennas__iter_2__route__drc_errors": 0, - "drt__repair_antennas__iter_2__route__wirelength": 1688579, - "drt__repair_antennas__iter_2__route__vias": 155621, - "drt__repair_antennas__iter_2__route__vias__singlecut": 155621, - "drt__repair_antennas__iter_2__route__vias__multicut": 0, - "drt__repair_antennas__iter_2__antenna__violating__nets": 0, - "drt__repair_antennas__iter_2__antenna__violating__pins": 0, + "drt__repair_antennas__iter_1__antenna__violating__nets": 0, + "drt__repair_antennas__iter_1__antenna__violating__pins": 0, "drt__antenna__violating__nets": 0, "drt__antenna__violating__pins": 0, "DRT::ANT::errors": "0", "design__violations": 0, "timing__drv__floating__nets": 0, "timing__drv__floating__pins": 0, - "DRT::worst_slack_min": "-0.051670336138904004", - "DRT::worst_slack_max": "-0.83367226592862", - "DRT::tns_max": "-110.5970102359235", - "DRT::clock_skew": "0.20324487113030365", - "DRT::max_slew_slack": "-7.3465898633003235", + "DRT::worst_slack_min": "-0.05739009430123616", + "DRT::worst_slack_max": "-1.0373289187904031", + "DRT::tns_max": "-96.70005869749298", + "DRT::clock_skew": "0.1227074032670978", + "DRT::max_slew_slack": "0.8866574615240097", "DRT::max_fanout_slack": "100.0", - "DRT::max_capacitance_slack": "-9.307842685624177", + "DRT::max_capacitance_slack": "-0.28268912825500686", "DRT::clock_period": "2.811000", - "flow__warnings__count": 34, + "flow__warnings__count": 30, "flow__errors__count": 0, - "flow__warnings__count:DRT-0120": 5, + "flow__warnings__count:DRT-0120": 4, "flow__warnings__count:DRT-0349": 10, - "flow__warnings__count:GRT-0243": 2, - "flow__warnings__count:GRT-0273": 2, + "flow__warnings__count:GRT-0243": 1, "flow__warnings__count:IFP-0028": 1, "flow__warnings__count:ORD-0046": 9, "flow__warnings__count:PDN-1051": 2, "flow__warnings__count:RCX-0514": 1, "flow__warnings__count:RSZ-0062": 1, "flow__warnings__count:STA-0441": 1, - "flow__warnings__type_count": 10 + "flow__warnings__type_count": 9 } \ No newline at end of file diff --git a/test/aes_sky130hs.metrics_limits b/test/aes_sky130hs.metrics_limits index e369f77ca5..f451cb2f45 100644 --- a/test/aes_sky130hs.metrics_limits +++ b/test/aes_sky130hs.metrics_limits @@ -1,23 +1,23 @@ { "IFP::instance_count" : "19588.8" - ,"DPL::design_area" : "295674.0" - ,"DPL::utilization" : "9.839999999999998" - ,"RSZ::repair_design_buffer_count" : "866" + ,"DPL::design_area" : "309102.0" + ,"DPL::utilization" : "10.2" + ,"RSZ::repair_design_buffer_count" : "876" ,"RSZ::max_slew_slack" : "0" ,"RSZ::max_capacitance_slack" : "0" ,"RSZ::max_fanout_slack" : "0" - ,"RSZ::worst_slack_min" : "-0.2801313303836187" - ,"RSZ::worst_slack_max" : "-0.8847640247428751" - ,"RSZ::tns_max" : "-532.2642126748127" - ,"RSZ::hold_buffer_count" : "519" + ,"RSZ::worst_slack_min" : "-0.28001941989957146" + ,"RSZ::worst_slack_max" : "-1.0551537319093316" + ,"RSZ::tns_max" : "-520.443438647282" + ,"RSZ::hold_buffer_count" : "672" ,"GRT::ANT::errors" : "0" ,"DRT::drv" : "0" - ,"DRT::worst_slack_min" : "-0.332770336138904" - ,"DRT::worst_slack_max" : "-1.1147722659286199" - ,"DRT::tns_max" : "-569.4646502359235" - ,"DRT::clock_skew" : "0.24389384535636438" - ,"DRT::max_slew_slack" : "-8.815907835960388" - ,"DRT::max_capacitance_slack" : "-11.169411222749012" + ,"DRT::worst_slack_min" : "-0.33849009430123617" + ,"DRT::worst_slack_max" : "-1.3184289187904032" + ,"DRT::tns_max" : "-555.567698697493" + ,"DRT::clock_skew" : "0.14724888392051735" + ,"DRT::max_slew_slack" : "0" + ,"DRT::max_capacitance_slack" : "-0.3392269539060082" ,"DRT::max_fanout_slack" : "0" ,"DRT::clock_period" : "2.811" ,"DRT::ANT::errors" : "0" diff --git a/test/check_metrics.tcl b/test/check_metrics.tcl new file mode 100644 index 0000000000..ca7ac39d1f --- /dev/null +++ b/test/check_metrics.tcl @@ -0,0 +1,29 @@ +## SPDX-License-Identifier: BSD-3-Clause +## Copyright (c) 2026, The OpenROAD Authors + +# Compare a flow test's result metrics against its metrics limits and exit +# non-zero when a metric is outside its limit. regression_test.sh runs this +# after the flow, which is what makes bazel check flow QoR; ./regression +# instead calls check_test_metrics directly. +# +# The file paths come from the environment rather than argv because this runs +# under the openroad binary, which consumes its own command line. + +set metrics_dir [file dirname [file normalize [info script]]] +source [file join $metrics_dir "flow_metrics.tcl"] + +foreach var {METRICS_FILE METRICS_LIMITS_FILE} { + if { ![info exists ::env($var)] || $::env($var) == "" } { + puts "Error: $var is not set." + exit 1 + } +} + +set result [compare_metrics_files $::env(METRICS_FILE) \ + $::env(METRICS_LIMITS_FILE)] +if { $result != "pass" } { + puts "Metrics do not satisfy limits: $result" + exit 1 +} +puts "Metrics satisfy limits." +exit 0 diff --git a/test/flow_metrics.tcl b/test/flow_metrics.tcl index 8a099a4c66..897a890f2b 100644 --- a/test/flow_metrics.tcl +++ b/test/flow_metrics.tcl @@ -107,32 +107,138 @@ define_metric "DRT::ANT::errors" "" "ANT" 3 "%3d" "<=" {$value} ################################################################ +# Read a flat json object of scalar values into a dict. +# +# The metrics and metrics limits files are machine written, by utl::metric and +# by save_metric_limits below, so they are always one object of string or +# number values. Reading them here rather than with tcllib's json package keeps +# the metrics check working under the bazel-built openroad, whose Tcl carries no +# tcllib. Nested objects and arrays are rejected instead of guessed at, so a +# format change fails loudly rather than comparing the wrong numbers. +proc read_flat_json { file_name } { + set stream [open $file_name r] + set text [read $stream] + close $stream + + set result {} + set len [string length $text] + set i [skip_json_space $text 0 $len] + if { $i >= $len || [string index $text $i] != "\{" } { + error "expected a json object at the start of $file_name" + } + incr i + + while { 1 } { + set i [skip_json_space $text $i $len] + if { $i >= $len } { + error "unterminated json object in $file_name" + } + set c [string index $text $i] + if { $c == "\}" } { + return $result + } + if { $c == "," } { + incr i + continue + } + if { $c != "\"" } { + error "expected a key string at offset $i of $file_name" + } + lassign [parse_json_string $text $i $len] key i + + set i [skip_json_space $text $i $len] + if { [string index $text $i] != ":" } { + error "expected ':' after key $key in $file_name" + } + incr i + + set i [skip_json_space $text $i $len] + set c [string index $text $i] + if { $c == "\{" || $c == "\[" } { + error "nested json is not supported, at key $key in $file_name" + } + if { $c == "\"" } { + lassign [parse_json_string $text $i $len] value i + } else { + # A bare number, true, false or null. + set start $i + while { + $i < $len + && [string first [string index $text $i] " \t\n\r,\}"] == -1 + } { + incr i + } + set value [string range $text $start [expr { $i - 1 }]] + } + dict set result $key $value + } +} + +proc skip_json_space { text i len } { + while { $i < $len && [string is space [string index $text $i]] } { + incr i + } + return $i +} + +# text[i] is the opening quote. Returns the string and the offset past it. +proc parse_json_string { text i len } { + incr i + set value "" + while { $i < $len } { + set c [string index $text $i] + if { $c == "\"" } { + return [list $value [expr { $i + 1 }]] + } + if { $c == "\\" } { + incr i + set escape [string index $text $i] + switch -- $escape { + "n" { append value "\n" } + "t" { append value "\t" } + "r" { append value "\r" } + "b" { append value "\b" } + "f" { append value "\f" } + "/" { append value "/" } + "\\" { append value "\\" } + "\"" { append value "\"" } + default { error "unsupported json escape \\$escape" } + } + incr i + continue + } + append value $c + incr i + } + error "unterminated json string" +} + +################################################################ + # Used by regression.tcl to check pass/fail metrics test. # Returns "pass" or failing metric comparison string. proc check_test_metrics { test lang } { - # Don't require json until it is really needed. - package require json + return [compare_metrics_files [test_metrics_result_file $test $lang] \ + [test_metrics_limits_file $test]] +} - set metrics_file [test_metrics_result_file $test $lang] - set metrics_limits_file [test_metrics_limits_file $test] +# Compare a metrics json file against a metrics limits json file. +# Returns "pass" or failing metric comparison string. +# Used by check_test_metrics and by check_metrics.tcl, which regression_test.sh +# runs so bazel checks flow metrics too. +proc compare_metrics_files { metrics_file metrics_limits_file } { if { ![file exists $metrics_file] } { return "missing metrics file" } - set stream [open $metrics_file r] - set json_string [read $stream] - close $stream - if { [catch { json::json2dict $json_string } metrics_dict] } { - return "error parsing metrics json" + if { [catch { read_flat_json $metrics_file } metrics_dict] } { + return "error parsing metrics json: $metrics_dict" } if { ![file exists $metrics_limits_file] } { return "missing metrics limits file" } - set stream [open $metrics_limits_file r] - set json_string [read $stream] - close $stream - if { [catch { json::json2dict $json_string } metrics_limits_dict] } { - return "error parsing metrics limits json" + if { [catch { read_flat_json $metrics_limits_file } metrics_limits_dict] } { + return "error parsing metrics limits json: $metrics_limits_dict" } set failures "" diff --git a/test/gcd_sky130hd_fast_slow.metrics b/test/gcd_sky130hd_fast_slow.metrics new file mode 100644 index 0000000000..6bf3a8d48f --- /dev/null +++ b/test/gcd_sky130hd_fast_slow.metrics @@ -0,0 +1,136 @@ +{ + "IFP::ord_version": "", + "IFP::instance_count": "250", + "floorplan__design__io": 54, + "design__io__hpwl": 6719711, + "utilization__before__dpl": 4.3005, + "negotiation__converge__phase_1__iteration": 0, + "design__instance__displacement__total": 782.099, + "design__instance__displacement__mean": 0.611, + "design__instance__displacement__max": 12.004, + "route__wirelength__estimated": 11555.8, + "dpl__hpwl__delta": 573875, + "dpl__hpwl__delta__percent": 5, + "RSZ::repair_design_buffer_count": "2", + "RSZ::max_slew_slack": "24.23421541849772", + "RSZ::max_fanout_slack": "100.0", + "RSZ::max_capacitance_slack": "40.16681011776728", + "utilization__before__dpl": 4.35372, + "negotiation__converge__phase_1__iteration": 0, + "design__instance__displacement__total": 23.389, + "design__instance__displacement__mean": 0.018, + "design__instance__displacement__max": 7.148, + "route__wirelength__estimated": 12077.7, + "dpl__hpwl__delta": 3891, + "dpl__hpwl__delta__percent": 0, + "design__instance__count__setup_buffer": 31, + "design__instance__count__hold_buffer": 13, + "RSZ::worst_slack_min": "0.013829937586590459", + "RSZ::worst_slack_max": "-13.950893279919763", + "RSZ::tns_max": "-575.4048564931229", + "RSZ::hold_buffer_count": "13", + "utilization__before__dpl": 5.64048, + "negotiation__converge__phase_1__iteration": 0, + "design__instance__displacement__total": 254.96, + "design__instance__displacement__mean": 0.191, + "design__instance__displacement__max": 18.16, + "route__wirelength__estimated": 14202.2, + "dpl__hpwl__delta": 194897, + "dpl__hpwl__delta__percent": 1, + "DPL::utilization": "5.6", + "DPL::design_area": "4377", + "route__net": 324, + "route__net__special": 2, + "global_route__fastroute__run_s": 0, + "global_route__fastroute__initial_rsmt_s": 0.000542244, + "global_route__fastroute__route_l_s": 0.000298407, + "global_route__fastroute__congestion_rsmt_s": 0.000824456, + "global_route__fastroute__new_route_l_s": 0.000135082, + "global_route__fastroute__spiral_s": 0.000169074, + "global_route__fastroute__route_z_s": 3.1508e-05, + "global_route__fastroute__monotonic_s": 0.00162432, + "global_route__fastroute__overflow_iterations_s": 4.61e-07, + "global_route__fastroute__finalization_s": 0.0168204, + "global_route__fastroute__snapshot_batch_route_s": 0, + "global_route__fastroute__snapshot_batch_apply_s": 0, + "global_route__fastroute__snapshot_batch_sync_s": 0, + "global_route__fastroute__snapshot_batch_count": 0, + "global_route__fastroute__snapshot_batch_nets": 0, + "global_route__fastroute__snapshot_batch_wave_count": 0, + "global_route__vias": 2422, + "global_route__wirelength": 21928, + "grt__antenna_diodes_count": 0, + "grt__antenna__violating__nets": 0, + "grt__antenna__violating__pins": 0, + "GRT::ANT::errors": "0", + "route__drc_errors__iter:0": 62, + "route__wirelength__iter:0": 16040, + "route__drc_errors__iter:1": 3, + "route__wirelength__iter:1": 15991, + "route__drc_errors__iter:2": 3, + "route__wirelength__iter:2": 15982, + "route__drc_errors__iter:3": 0, + "route__wirelength__iter:3": 15982, + "route__drc_errors": 0, + "route__wirelength": 15982, + "route__vias": 2090, + "route__vias__singlecut": 2090, + "route__vias__multicut": 0, + "DRT::drv": "0", + "drt__repair_antennas__pre_repair__antenna__violating__nets": 11, + "drt__repair_antennas__pre_repair__antenna__violating__pins": 11, + "drt__repair_antennas__iter_0__utilization__before__dpl": 5.67595, + "drt__repair_antennas__iter_0__global_route__fastroute__run_s": 0, + "drt__repair_antennas__iter_0__global_route__fastroute__initial_rsmt_s": 3.9559e-05, + "drt__repair_antennas__iter_0__global_route__fastroute__route_l_s": 3.6765e-05, + "drt__repair_antennas__iter_0__global_route__fastroute__congestion_rsmt_s": 4.7722e-05, + "drt__repair_antennas__iter_0__global_route__fastroute__new_route_l_s": 9.555e-06, + "drt__repair_antennas__iter_0__global_route__fastroute__spiral_s": 1.2709e-05, + "drt__repair_antennas__iter_0__global_route__fastroute__route_z_s": 1.0096e-05, + "drt__repair_antennas__iter_0__global_route__fastroute__monotonic_s": 0.00111929, + "drt__repair_antennas__iter_0__global_route__fastroute__overflow_iterations_s": 4.51e-07, + "drt__repair_antennas__iter_0__global_route__fastroute__finalization_s": 0.00311188, + "drt__repair_antennas__iter_0__global_route__fastroute__snapshot_batch_route_s": 0, + "drt__repair_antennas__iter_0__global_route__fastroute__snapshot_batch_apply_s": 0, + "drt__repair_antennas__iter_0__global_route__fastroute__snapshot_batch_sync_s": 0, + "drt__repair_antennas__iter_0__global_route__fastroute__snapshot_batch_count": 0, + "drt__repair_antennas__iter_0__global_route__fastroute__snapshot_batch_nets": 0, + "drt__repair_antennas__iter_0__global_route__fastroute__snapshot_batch_wave_count": 0, + "drt__repair_antennas__iter_0__global_route__vias": 93, + "drt__repair_antennas__iter_0__antenna_diodes_count": 11, + "drt__repair_antennas__iter_0__route__drc_errors__iter:0": 6, + "drt__repair_antennas__iter_0__route__wirelength__iter:0": 15986, + "drt__repair_antennas__iter_0__route__drc_errors__iter:1": 0, + "drt__repair_antennas__iter_0__route__wirelength__iter:1": 15971, + "drt__repair_antennas__iter_0__route__drc_errors": 0, + "drt__repair_antennas__iter_0__route__wirelength": 15971, + "drt__repair_antennas__iter_0__route__vias": 2103, + "drt__repair_antennas__iter_0__route__vias__singlecut": 2103, + "drt__repair_antennas__iter_0__route__vias__multicut": 0, + "drt__repair_antennas__iter_0__antenna__violating__nets": 0, + "drt__repair_antennas__iter_0__antenna__violating__pins": 0, + "drt__antenna__violating__nets": 0, + "drt__antenna__violating__pins": 0, + "DRT::ANT::errors": "0", + "design__violations": 0, + "timing__drv__floating__nets": 0, + "timing__drv__floating__pins": 0, + "DRT::worst_slack_min": "0.05877165587215293", + "DRT::worst_slack_max": "-14.384088993703815", + "DRT::tns_max": "-596.1790803112044", + "DRT::clock_skew": "0.023819613622392488", + "DRT::max_slew_slack": "50.51908131653362", + "DRT::max_fanout_slack": "100.0", + "DRT::max_capacitance_slack": "89.83506053986537", + "DRT::clock_period": "4.360000", + "flow__warnings__count": 25, + "flow__errors__count": 0, + "flow__warnings__count:DRT-0349": 10, + "flow__warnings__count:IFP-0028": 1, + "flow__warnings__count:ORD-0046": 9, + "flow__warnings__count:PDN-1051": 2, + "flow__warnings__count:RCX-0514": 1, + "flow__warnings__count:RSZ-0062": 1, + "flow__warnings__count:STA-0441": 1, + "flow__warnings__type_count": 7 +} \ No newline at end of file diff --git a/test/gcd_sky130hd_fast_slow.metrics_limits b/test/gcd_sky130hd_fast_slow.metrics_limits new file mode 100644 index 0000000000..c2f6461594 --- /dev/null +++ b/test/gcd_sky130hd_fast_slow.metrics_limits @@ -0,0 +1,24 @@ +{ + "IFP::instance_count" : "300.0" + ,"DPL::design_area" : "5252.4" + ,"DPL::utilization" : "6.72" + ,"RSZ::repair_design_buffer_count" : "2" + ,"RSZ::max_slew_slack" : "0" + ,"RSZ::max_capacitance_slack" : "0" + ,"RSZ::max_fanout_slack" : "0" + ,"RSZ::worst_slack_min" : "-0.4221700624134096" + ,"RSZ::worst_slack_max" : "-14.386893279919763" + ,"RSZ::tns_max" : "-586.3048564931229" + ,"RSZ::hold_buffer_count" : "15" + ,"GRT::ANT::errors" : "0" + ,"DRT::drv" : "0" + ,"DRT::worst_slack_min" : "-0.3772283441278471" + ,"DRT::worst_slack_max" : "-14.820088993703814" + ,"DRT::tns_max" : "-607.0790803112044" + ,"DRT::clock_skew" : "0.028583536346870983" + ,"DRT::max_slew_slack" : "0" + ,"DRT::max_capacitance_slack" : "0" + ,"DRT::max_fanout_slack" : "0" + ,"DRT::clock_period" : "4.36" + ,"DRT::ANT::errors" : "0" +} diff --git a/test/ibex_sky130hs.metrics b/test/ibex_sky130hs.metrics index cc4e6422c3..68a31179fe 100644 --- a/test/ibex_sky130hs.metrics +++ b/test/ibex_sky130hs.metrics @@ -2,244 +2,261 @@ "IFP::ord_version": "", "IFP::instance_count": "13935", "floorplan__design__io": 264, - "design__io__hpwl": 59328658, - "utilization__before__dpl": 35.5282, - "negotiation__converge__phase_1__iteration": 17, - "design__instance__displacement__total": 82370.4, - "design__instance__displacement__mean": 4.117, - "design__instance__displacement__max": 48.252, - "route__wirelength__estimated": 806677, - "dpl__hpwl__delta": 9.311e+07, + "design__io__hpwl": 59420531, + "utilization__before__dpl": 35.6398, + "negotiation__converge__phase_1__iteration": 22, + "design__instance__displacement__total": 82350.7, + "design__instance__displacement__mean": 4.113, + "design__instance__displacement__max": 65.176, + "route__wirelength__estimated": 804403, + "dpl__hpwl__delta": 9.1154e+07, "dpl__hpwl__delta__percent": 13, - "RSZ::repair_design_buffer_count": "786", - "RSZ::max_slew_slack": "30.04799783229828", + "RSZ::repair_design_buffer_count": "799", + "RSZ::max_slew_slack": "29.9883633852005", "RSZ::max_fanout_slack": "100.0", - "RSZ::max_capacitance_slack": "33.1798470263277", - "utilization__before__dpl": 36.8089, - "negotiation__converge__phase_1__iteration": 9, - "design__instance__displacement__total": 8636.04, - "design__instance__displacement__mean": 0.412, - "design__instance__displacement__max": 43.456, - "route__wirelength__estimated": 842834, - "dpl__hpwl__delta": 2.99703e+06, + "RSZ::max_capacitance_slack": "41.199055264513966", + "utilization__before__dpl": 36.959, + "negotiation__converge__phase_1__iteration": 6, + "design__instance__displacement__total": 8778.63, + "design__instance__displacement__mean": 0.419, + "design__instance__displacement__max": 40.02, + "route__wirelength__estimated": 840814, + "dpl__hpwl__delta": 3.34229e+06, "dpl__hpwl__delta__percent": 0, "design__instance__count__setup_buffer": 0, "design__instance__count__hold_buffer": 0, - "RSZ::worst_slack_min": "0.2643328963865459", - "RSZ::worst_slack_max": "0.2626681169140373", + "RSZ::worst_slack_min": "0.27038272386343415", + "RSZ::worst_slack_max": "0.47377303421407696", "RSZ::tns_max": "0.0", "RSZ::hold_buffer_count": "0", - "utilization__before__dpl": 36.8089, + "utilization__before__dpl": 36.959, "design__instance__displacement__total": 0, "design__instance__displacement__mean": 0, "design__instance__displacement__max": 0, - "route__wirelength__estimated": 842834, + "route__wirelength__estimated": 840814, "dpl__hpwl__delta": 0, "dpl__hpwl__delta__percent": 0, - "DPL::utilization": "36.8", - "DPL::design_area": "222628", - "route__net": 14948, + "DPL::utilization": "37.0", + "DPL::design_area": "223536", + "route__net": 14968, "route__net__special": 2, "global_route__fastroute__run_s": 0, - "global_route__fastroute__initial_rsmt_s": 0.0244712, - "global_route__fastroute__route_l_s": 0.019489, - "global_route__fastroute__congestion_rsmt_s": 0.0464048, - "global_route__fastroute__new_route_l_s": 0.0137996, - "global_route__fastroute__spiral_s": 0.0151568, - "global_route__fastroute__route_z_s": 0.00378073, - "global_route__fastroute__monotonic_s": 0.151565, - "global_route__fastroute__overflow_iterations_s": 5.01279, - "global_route__fastroute__finalization_s": 0.845942, + "global_route__fastroute__initial_rsmt_s": 0.0286609, + "global_route__fastroute__route_l_s": 0.0200829, + "global_route__fastroute__congestion_rsmt_s": 0.0508841, + "global_route__fastroute__new_route_l_s": 0.0132737, + "global_route__fastroute__spiral_s": 0.0155519, + "global_route__fastroute__route_z_s": 0.00350248, + "global_route__fastroute__monotonic_s": 0.126096, + "global_route__fastroute__overflow_iterations_s": 20.0939, + "global_route__fastroute__finalization_s": 1.43618, "global_route__fastroute__snapshot_batch_route_s": 0, "global_route__fastroute__snapshot_batch_apply_s": 0, "global_route__fastroute__snapshot_batch_sync_s": 0, "global_route__fastroute__snapshot_batch_count": 0, "global_route__fastroute__snapshot_batch_nets": 0, "global_route__fastroute__snapshot_batch_wave_count": 0, - "global_route__vias": 147688, - "global_route__wirelength": 1412460, - "grt__utilization__before__dpl": 36.8327, + "global_route__vias": 149431, + "global_route__wirelength": 1416304, + "grt__utilization__before__dpl": 36.9818, + "grt__negotiation__converge__phase_1__iteration": 6, + "grt__global_route__fastroute__run_s": 0, + "grt__global_route__fastroute__initial_rsmt_s": 0.00140837, + "grt__global_route__fastroute__route_l_s": 0.00123857, + "grt__global_route__fastroute__congestion_rsmt_s": 0.00245213, + "grt__global_route__fastroute__new_route_l_s": 0.000767781, + "grt__global_route__fastroute__spiral_s": 0.000816375, + "grt__global_route__fastroute__route_z_s": 0.000142814, + "grt__global_route__fastroute__monotonic_s": 0.00933482, + "grt__global_route__fastroute__overflow_iterations_s": 0.260625, + "grt__global_route__fastroute__finalization_s": 0.109016, + "grt__global_route__fastroute__snapshot_batch_route_s": 0, + "grt__global_route__fastroute__snapshot_batch_apply_s": 0, + "grt__global_route__fastroute__snapshot_batch_sync_s": 0, + "grt__global_route__fastroute__snapshot_batch_count": 0, + "grt__global_route__fastroute__snapshot_batch_nets": 0, + "grt__global_route__fastroute__snapshot_batch_wave_count": 0, + "grt__global_route__vias": 4635, + "grt__utilization__before__dpl": 36.9833, "grt__negotiation__converge__phase_1__iteration": 3, "grt__global_route__fastroute__run_s": 0, - "grt__global_route__fastroute__initial_rsmt_s": 0.00108478, - "grt__global_route__fastroute__route_l_s": 0.00068682, - "grt__global_route__fastroute__congestion_rsmt_s": 0.00163418, - "grt__global_route__fastroute__new_route_l_s": 0.000400391, - "grt__global_route__fastroute__spiral_s": 0.0004934, - "grt__global_route__fastroute__route_z_s": 0.000101733, - "grt__global_route__fastroute__monotonic_s": 0.00776425, - "grt__global_route__fastroute__overflow_iterations_s": 0.142408, - "grt__global_route__fastroute__finalization_s": 0.0674582, + "grt__global_route__fastroute__initial_rsmt_s": 0.000125498, + "grt__global_route__fastroute__route_l_s": 0.000190356, + "grt__global_route__fastroute__congestion_rsmt_s": 0.000183786, + "grt__global_route__fastroute__new_route_l_s": 7.8077e-05, + "grt__global_route__fastroute__spiral_s": 7.7506e-05, + "grt__global_route__fastroute__route_z_s": 4.4246e-05, + "grt__global_route__fastroute__monotonic_s": 0.00312161, + "grt__global_route__fastroute__overflow_iterations_s": 0.206887, + "grt__global_route__fastroute__finalization_s": 0.00418567, + "grt__global_route__fastroute__snapshot_batch_route_s": 0, + "grt__global_route__fastroute__snapshot_batch_apply_s": 0, + "grt__global_route__fastroute__snapshot_batch_sync_s": 0, + "grt__global_route__fastroute__snapshot_batch_count": 0, + "grt__global_route__fastroute__snapshot_batch_nets": 0, + "grt__global_route__fastroute__snapshot_batch_wave_count": 0, + "grt__global_route__vias": 587, + "grt__global_route__fastroute__run_s": 0, + "grt__global_route__fastroute__initial_rsmt_s": 0.000657426, + "grt__global_route__fastroute__route_l_s": 0.000767441, + "grt__global_route__fastroute__congestion_rsmt_s": 0.00122387, + "grt__global_route__fastroute__new_route_l_s": 0.000620831, + "grt__global_route__fastroute__spiral_s": 0.000488953, + "grt__global_route__fastroute__route_z_s": 0.000101973, + "grt__global_route__fastroute__monotonic_s": 0.00590769, + "grt__global_route__fastroute__overflow_iterations_s": 0.0918354, + "grt__global_route__fastroute__finalization_s": 0.0859895, "grt__global_route__fastroute__snapshot_batch_route_s": 0, "grt__global_route__fastroute__snapshot_batch_apply_s": 0, "grt__global_route__fastroute__snapshot_batch_sync_s": 0, "grt__global_route__fastroute__snapshot_batch_count": 0, "grt__global_route__fastroute__snapshot_batch_nets": 0, "grt__global_route__fastroute__snapshot_batch_wave_count": 0, - "grt__global_route__vias": 3081, - "grt__utilization__before__dpl": 36.8338, - "grt__negotiation__converge__phase_1__iteration": 2, + "grt__global_route__vias": 2892, + "grt__utilization__before__dpl": 36.9839, + "grt__negotiation__converge__phase_1__iteration": 1, "grt__global_route__fastroute__run_s": 0, - "grt__global_route__fastroute__initial_rsmt_s": 0.000216785, - "grt__global_route__fastroute__route_l_s": 0.000128803, - "grt__global_route__fastroute__congestion_rsmt_s": 0.000266259, - "grt__global_route__fastroute__new_route_l_s": 4.9985e-05, - "grt__global_route__fastroute__spiral_s": 6.013e-05, - "grt__global_route__fastroute__route_z_s": 3.6485e-05, - "grt__global_route__fastroute__monotonic_s": 0.00270564, - "grt__global_route__fastroute__overflow_iterations_s": 0.00831189, - "grt__global_route__fastroute__finalization_s": 0.0069312, + "grt__global_route__fastroute__initial_rsmt_s": 2.1292e-05, + "grt__global_route__fastroute__route_l_s": 1.8688e-05, + "grt__global_route__fastroute__congestion_rsmt_s": 1.8378e-05, + "grt__global_route__fastroute__new_route_l_s": 7.401e-06, + "grt__global_route__fastroute__spiral_s": 7.702e-06, + "grt__global_route__fastroute__route_z_s": 3.755e-06, + "grt__global_route__fastroute__monotonic_s": 0.00239475, + "grt__global_route__fastroute__overflow_iterations_s": 0.0625482, + "grt__global_route__fastroute__finalization_s": 0.00423747, "grt__global_route__fastroute__snapshot_batch_route_s": 0, "grt__global_route__fastroute__snapshot_batch_apply_s": 0, "grt__global_route__fastroute__snapshot_batch_sync_s": 0, "grt__global_route__fastroute__snapshot_batch_count": 0, "grt__global_route__fastroute__snapshot_batch_nets": 0, "grt__global_route__fastroute__snapshot_batch_wave_count": 0, - "grt__global_route__vias": 257, + "grt__global_route__vias": 44, "grt__antenna_diodes_count": 47, "grt__antenna__violating__nets": 0, "grt__antenna__violating__pins": 0, "GRT::ANT::errors": "0", - "route__drc_errors__iter:0": 4473, - "route__wirelength__iter:0": 1027970, - "route__drc_errors__iter:1": 953, - "route__wirelength__iter:1": 1022480, - "route__drc_errors__iter:2": 643, - "route__wirelength__iter:2": 1020950, + "route__drc_errors__iter:0": 4415, + "route__wirelength__iter:0": 1026153, + "route__drc_errors__iter:1": 857, + "route__wirelength__iter:1": 1020830, + "route__drc_errors__iter:2": 656, + "route__wirelength__iter:2": 1019055, "route__drc_errors__iter:3": 16, - "route__wirelength__iter:3": 1020855, - "route__drc_errors__iter:4": 0, - "route__wirelength__iter:4": 1020842, + "route__wirelength__iter:3": 1019091, + "route__drc_errors__iter:4": 3, + "route__wirelength__iter:4": 1019087, + "route__drc_errors__iter:5": 3, + "route__wirelength__iter:5": 1019087, + "route__drc_errors__iter:6": 0, + "route__wirelength__iter:6": 1019084, "route__drc_errors": 0, - "route__wirelength": 1020842, - "route__vias": 124204, - "route__vias__singlecut": 124204, + "route__wirelength": 1019084, + "route__vias": 124835, + "route__vias__singlecut": 124835, "route__vias__multicut": 0, "DRT::drv": "0", - "drt__repair_antennas__pre_repair__antenna__violating__nets": 86, - "drt__repair_antennas__pre_repair__antenna__violating__pins": 107, - "drt__repair_antennas__iter_0__utilization__before__dpl": 36.8903, + "drt__repair_antennas__pre_repair__antenna__violating__nets": 83, + "drt__repair_antennas__pre_repair__antenna__violating__pins": 105, + "drt__repair_antennas__iter_0__utilization__before__dpl": 37.0394, "drt__repair_antennas__iter_0__negotiation__converge__phase_1__iteration": 1, "drt__repair_antennas__iter_0__global_route__fastroute__run_s": 0, - "drt__repair_antennas__iter_0__global_route__fastroute__initial_rsmt_s": 0.000772269, - "drt__repair_antennas__iter_0__global_route__fastroute__route_l_s": 0.00103396, - "drt__repair_antennas__iter_0__global_route__fastroute__congestion_rsmt_s": 0.000987211, - "drt__repair_antennas__iter_0__global_route__fastroute__new_route_l_s": 0.000430505, - "drt__repair_antennas__iter_0__global_route__fastroute__spiral_s": 0.000456344, - "drt__repair_antennas__iter_0__global_route__fastroute__route_z_s": 9.3841e-05, - "drt__repair_antennas__iter_0__global_route__fastroute__monotonic_s": 0.00298032, - "drt__repair_antennas__iter_0__global_route__fastroute__overflow_iterations_s": 5.91e-07, - "drt__repair_antennas__iter_0__global_route__fastroute__finalization_s": 0.0892594, + "drt__repair_antennas__iter_0__global_route__fastroute__initial_rsmt_s": 0.000575443, + "drt__repair_antennas__iter_0__global_route__fastroute__route_l_s": 0.00125759, + "drt__repair_antennas__iter_0__global_route__fastroute__congestion_rsmt_s": 0.00122046, + "drt__repair_antennas__iter_0__global_route__fastroute__new_route_l_s": 0.000509313, + "drt__repair_antennas__iter_0__global_route__fastroute__spiral_s": 0.000532829, + "drt__repair_antennas__iter_0__global_route__fastroute__route_z_s": 0.000124677, + "drt__repair_antennas__iter_0__global_route__fastroute__monotonic_s": 0.00416611, + "drt__repair_antennas__iter_0__global_route__fastroute__overflow_iterations_s": 0.00436761, + "drt__repair_antennas__iter_0__global_route__fastroute__finalization_s": 0.129478, "drt__repair_antennas__iter_0__global_route__fastroute__snapshot_batch_route_s": 0, "drt__repair_antennas__iter_0__global_route__fastroute__snapshot_batch_apply_s": 0, "drt__repair_antennas__iter_0__global_route__fastroute__snapshot_batch_sync_s": 0, "drt__repair_antennas__iter_0__global_route__fastroute__snapshot_batch_count": 0, "drt__repair_antennas__iter_0__global_route__fastroute__snapshot_batch_nets": 0, "drt__repair_antennas__iter_0__global_route__fastroute__snapshot_batch_wave_count": 0, - "drt__repair_antennas__iter_0__global_route__vias": 1761, - "drt__repair_antennas__iter_0__antenna_diodes_count": 154, - "drt__repair_antennas__iter_0__route__drc_errors__iter:0": 1378, - "drt__repair_antennas__iter_0__route__wirelength__iter:0": 1017958, - "drt__repair_antennas__iter_0__route__drc_errors__iter:1": 233, - "drt__repair_antennas__iter_0__route__wirelength__iter:1": 1017793, - "drt__repair_antennas__iter_0__route__drc_errors__iter:2": 158, - "drt__repair_antennas__iter_0__route__wirelength__iter:2": 1017706, - "drt__repair_antennas__iter_0__route__drc_errors__iter:3": 0, - "drt__repair_antennas__iter_0__route__wirelength__iter:3": 1017705, + "drt__repair_antennas__iter_0__global_route__vias": 1940, + "drt__repair_antennas__iter_0__antenna_diodes_count": 152, + "drt__repair_antennas__iter_0__route__drc_errors__iter:0": 1284, + "drt__repair_antennas__iter_0__route__wirelength__iter:0": 1016433, + "drt__repair_antennas__iter_0__route__drc_errors__iter:1": 223, + "drt__repair_antennas__iter_0__route__wirelength__iter:1": 1016159, + "drt__repair_antennas__iter_0__route__drc_errors__iter:2": 122, + "drt__repair_antennas__iter_0__route__wirelength__iter:2": 1016076, + "drt__repair_antennas__iter_0__route__drc_errors__iter:3": 5, + "drt__repair_antennas__iter_0__route__wirelength__iter:3": 1016114, + "drt__repair_antennas__iter_0__route__drc_errors__iter:4": 0, + "drt__repair_antennas__iter_0__route__wirelength__iter:4": 1016109, "drt__repair_antennas__iter_0__route__drc_errors": 0, - "drt__repair_antennas__iter_0__route__wirelength": 1017705, - "drt__repair_antennas__iter_0__route__vias": 124446, - "drt__repair_antennas__iter_0__route__vias__singlecut": 124446, + "drt__repair_antennas__iter_0__route__wirelength": 1016109, + "drt__repair_antennas__iter_0__route__vias": 125084, + "drt__repair_antennas__iter_0__route__vias__singlecut": 125084, "drt__repair_antennas__iter_0__route__vias__multicut": 0, "drt__repair_antennas__iter_0__antenna__violating__nets": 2, - "drt__repair_antennas__iter_0__antenna__violating__pins": 4, - "drt__repair_antennas__iter_1__utilization__before__dpl": 36.8924, + "drt__repair_antennas__iter_0__antenna__violating__pins": 3, + "drt__repair_antennas__iter_1__utilization__before__dpl": 37.041, "drt__repair_antennas__iter_1__negotiation__converge__phase_1__iteration": 0, "drt__repair_antennas__iter_1__global_route__fastroute__run_s": 0, - "drt__repair_antennas__iter_1__global_route__fastroute__initial_rsmt_s": 5.7016e-05, - "drt__repair_antennas__iter_1__global_route__fastroute__route_l_s": 2.9534e-05, - "drt__repair_antennas__iter_1__global_route__fastroute__congestion_rsmt_s": 0.00026627, - "drt__repair_antennas__iter_1__global_route__fastroute__new_route_l_s": 9.223e-06, - "drt__repair_antennas__iter_1__global_route__fastroute__spiral_s": 1.2338e-05, - "drt__repair_antennas__iter_1__global_route__fastroute__route_z_s": 4.367e-06, - "drt__repair_antennas__iter_1__global_route__fastroute__monotonic_s": 0.000844076, - "drt__repair_antennas__iter_1__global_route__fastroute__overflow_iterations_s": 4.3e-07, - "drt__repair_antennas__iter_1__global_route__fastroute__finalization_s": 0.00213402, + "drt__repair_antennas__iter_1__global_route__fastroute__initial_rsmt_s": 0.000137696, + "drt__repair_antennas__iter_1__global_route__fastroute__route_l_s": 8.2603e-05, + "drt__repair_antennas__iter_1__global_route__fastroute__congestion_rsmt_s": 6.7011e-05, + "drt__repair_antennas__iter_1__global_route__fastroute__new_route_l_s": 3.1297e-05, + "drt__repair_antennas__iter_1__global_route__fastroute__spiral_s": 3.2669e-05, + "drt__repair_antennas__iter_1__global_route__fastroute__route_z_s": 1.5394e-05, + "drt__repair_antennas__iter_1__global_route__fastroute__monotonic_s": 0.00299057, + "drt__repair_antennas__iter_1__global_route__fastroute__overflow_iterations_s": 0.0153999, + "drt__repair_antennas__iter_1__global_route__fastroute__finalization_s": 0.00865671, "drt__repair_antennas__iter_1__global_route__fastroute__snapshot_batch_route_s": 0, "drt__repair_antennas__iter_1__global_route__fastroute__snapshot_batch_apply_s": 0, "drt__repair_antennas__iter_1__global_route__fastroute__snapshot_batch_sync_s": 0, "drt__repair_antennas__iter_1__global_route__fastroute__snapshot_batch_count": 0, "drt__repair_antennas__iter_1__global_route__fastroute__snapshot_batch_nets": 0, "drt__repair_antennas__iter_1__global_route__fastroute__snapshot_batch_wave_count": 0, - "drt__repair_antennas__iter_1__global_route__vias": 143, - "drt__repair_antennas__iter_1__antenna_diodes_count": 158, - "drt__repair_antennas__iter_1__route__drc_errors__iter:0": 15, - "drt__repair_antennas__iter_1__route__wirelength__iter:0": 1017735, - "drt__repair_antennas__iter_1__route__drc_errors__iter:1": 0, - "drt__repair_antennas__iter_1__route__wirelength__iter:1": 1017723, + "drt__repair_antennas__iter_1__global_route__vias": 89, + "drt__repair_antennas__iter_1__antenna_diodes_count": 155, + "drt__repair_antennas__iter_1__route__drc_errors__iter:0": 36, + "drt__repair_antennas__iter_1__route__wirelength__iter:0": 1016120, + "drt__repair_antennas__iter_1__route__drc_errors__iter:1": 1, + "drt__repair_antennas__iter_1__route__wirelength__iter:1": 1016107, + "drt__repair_antennas__iter_1__route__drc_errors__iter:2": 1, + "drt__repair_antennas__iter_1__route__wirelength__iter:2": 1016109, + "drt__repair_antennas__iter_1__route__drc_errors__iter:3": 0, + "drt__repair_antennas__iter_1__route__wirelength__iter:3": 1016102, "drt__repair_antennas__iter_1__route__drc_errors": 0, - "drt__repair_antennas__iter_1__route__wirelength": 1017723, - "drt__repair_antennas__iter_1__route__vias": 124463, - "drt__repair_antennas__iter_1__route__vias__singlecut": 124463, + "drt__repair_antennas__iter_1__route__wirelength": 1016102, + "drt__repair_antennas__iter_1__route__vias": 125093, + "drt__repair_antennas__iter_1__route__vias__singlecut": 125093, "drt__repair_antennas__iter_1__route__vias__multicut": 0, - "drt__repair_antennas__iter_1__antenna__violating__nets": 1, - "drt__repair_antennas__iter_1__antenna__violating__pins": 1, - "drt__repair_antennas__iter_2__utilization__before__dpl": 36.893, - "drt__repair_antennas__iter_2__global_route__fastroute__run_s": 0, - "drt__repair_antennas__iter_2__global_route__fastroute__initial_rsmt_s": 3.8227e-05, - "drt__repair_antennas__iter_2__global_route__fastroute__route_l_s": 1.383e-05, - "drt__repair_antennas__iter_2__global_route__fastroute__congestion_rsmt_s": 4.8903e-05, - "drt__repair_antennas__iter_2__global_route__fastroute__new_route_l_s": 4.046e-06, - "drt__repair_antennas__iter_2__global_route__fastroute__spiral_s": 6.911e-06, - "drt__repair_antennas__iter_2__global_route__fastroute__route_z_s": 2.654e-06, - "drt__repair_antennas__iter_2__global_route__fastroute__monotonic_s": 0.000835674, - "drt__repair_antennas__iter_2__global_route__fastroute__overflow_iterations_s": 3.81e-07, - "drt__repair_antennas__iter_2__global_route__fastroute__finalization_s": 8.3745e-05, - "drt__repair_antennas__iter_2__global_route__fastroute__snapshot_batch_route_s": 0, - "drt__repair_antennas__iter_2__global_route__fastroute__snapshot_batch_apply_s": 0, - "drt__repair_antennas__iter_2__global_route__fastroute__snapshot_batch_sync_s": 0, - "drt__repair_antennas__iter_2__global_route__fastroute__snapshot_batch_count": 0, - "drt__repair_antennas__iter_2__global_route__fastroute__snapshot_batch_nets": 0, - "drt__repair_antennas__iter_2__global_route__fastroute__snapshot_batch_wave_count": 0, - "drt__repair_antennas__iter_2__global_route__vias": 67, - "drt__repair_antennas__iter_2__antenna_diodes_count": 159, - "drt__repair_antennas__iter_2__route__drc_errors__iter:0": 10, - "drt__repair_antennas__iter_2__route__wirelength__iter:0": 1017735, - "drt__repair_antennas__iter_2__route__drc_errors__iter:1": 0, - "drt__repair_antennas__iter_2__route__wirelength__iter:1": 1017728, - "drt__repair_antennas__iter_2__route__drc_errors": 0, - "drt__repair_antennas__iter_2__route__wirelength": 1017728, - "drt__repair_antennas__iter_2__route__vias": 124464, - "drt__repair_antennas__iter_2__route__vias__singlecut": 124464, - "drt__repair_antennas__iter_2__route__vias__multicut": 0, - "drt__repair_antennas__iter_2__antenna__violating__nets": 0, - "drt__repair_antennas__iter_2__antenna__violating__pins": 0, + "drt__repair_antennas__iter_1__antenna__violating__nets": 0, + "drt__repair_antennas__iter_1__antenna__violating__pins": 0, "drt__antenna__violating__nets": 0, "drt__antenna__violating__pins": 0, "DRT::ANT::errors": "0", "design__violations": 0, "timing__drv__floating__nets": 0, "timing__drv__floating__pins": 0, - "DRT::worst_slack_min": "0.26790925791691733", - "DRT::worst_slack_max": "-0.6840777027353343", - "DRT::tns_max": "-3.185674925134884", - "DRT::clock_skew": "0.1922664304408063", - "DRT::max_slew_slack": "-72.33811616897583", + "DRT::worst_slack_min": "0.27082503672895425", + "DRT::worst_slack_max": "-0.21980018427482284", + "DRT::tns_max": "-0.21980018427482284", + "DRT::clock_skew": "0.24156410888668053", + "DRT::max_slew_slack": "-5.576550588011742", "DRT::max_fanout_slack": "100.0", - "DRT::max_capacitance_slack": "-79.15760745913283", + "DRT::max_capacitance_slack": "-8.007092352285108", "DRT::clock_period": "11.290000", - "flow__warnings__count": 83, + "flow__warnings__count": 93, "flow__errors__count": 0, - "flow__warnings__count:DRT-0120": 50, + "flow__warnings__count:DRT-0120": 56, "flow__warnings__count:DRT-0349": 10, "flow__warnings__count:GPL-0302": 2, - "flow__warnings__count:GRT-0273": 4, + "flow__warnings__count:GRT-0243": 1, + "flow__warnings__count:GRT-0273": 8, "flow__warnings__count:GRT-0281": 1, - "flow__warnings__count:GRT-0297": 2, + "flow__warnings__count:GRT-0297": 1, "flow__warnings__count:IFP-0028": 1, "flow__warnings__count:ORD-0046": 9, "flow__warnings__count:PDN-1051": 2, "flow__warnings__count:RCX-0514": 1, "flow__warnings__count:STA-0441": 1, - "flow__warnings__type_count": 11 + "flow__warnings__type_count": 12 } \ No newline at end of file diff --git a/test/ibex_sky130hs.metrics_limits b/test/ibex_sky130hs.metrics_limits index bedc004d05..9af641b6ff 100644 --- a/test/ibex_sky130hs.metrics_limits +++ b/test/ibex_sky130hs.metrics_limits @@ -1,23 +1,23 @@ { "IFP::instance_count" : "16722.0" - ,"DPL::design_area" : "267153.6" - ,"DPL::utilization" : "44.16" - ,"RSZ::repair_design_buffer_count" : "943" + ,"DPL::design_area" : "268243.2" + ,"DPL::utilization" : "44.4" + ,"RSZ::repair_design_buffer_count" : "958" ,"RSZ::max_slew_slack" : "0" ,"RSZ::max_capacitance_slack" : "0" ,"RSZ::max_fanout_slack" : "0" - ,"RSZ::worst_slack_min" : "-0.8646671036134541" - ,"RSZ::worst_slack_max" : "-0.8663318830859628" + ,"RSZ::worst_slack_min" : "-0.8586172761365658" + ,"RSZ::worst_slack_max" : "-0.6552269657859231" ,"RSZ::tns_max" : "-1573.2615" ,"RSZ::hold_buffer_count" : "0" ,"GRT::ANT::errors" : "0" ,"DRT::drv" : "0" - ,"DRT::worst_slack_min" : "-0.8610907420830827" - ,"DRT::worst_slack_max" : "-1.8130777027353342" - ,"DRT::tns_max" : "-1576.447174925135" - ,"DRT::clock_skew" : "0.23071971652896756" - ,"DRT::max_slew_slack" : "-86.805739402771" - ,"DRT::max_capacitance_slack" : "-94.9891289509594" + ,"DRT::worst_slack_min" : "-0.8581749632710458" + ,"DRT::worst_slack_max" : "-1.3488001842748227" + ,"DRT::tns_max" : "-1573.481300184275" + ,"DRT::clock_skew" : "0.28987693066401665" + ,"DRT::max_slew_slack" : "-6.69186070561409" + ,"DRT::max_capacitance_slack" : "-9.60851082274213" ,"DRT::max_fanout_slack" : "0" ,"DRT::clock_period" : "11.29" ,"DRT::ANT::errors" : "0" diff --git a/test/jpeg_sky130hd.metrics b/test/jpeg_sky130hd.metrics index 26629d6d1d..fce2db0024 100644 --- a/test/jpeg_sky130hd.metrics +++ b/test/jpeg_sky130hd.metrics @@ -2,290 +2,275 @@ "IFP::ord_version": "", "IFP::instance_count": "45634", "floorplan__design__io": 47, - "design__io__hpwl": 14139095, - "utilization__before__dpl": 22.2066, - "negotiation__converge__phase_1__iteration": 4, - "design__instance__displacement__total": 167235, - "design__instance__displacement__mean": 2.274, - "design__instance__displacement__max": 22.772, - "route__wirelength__estimated": 1.54157e+06, - "dpl__hpwl__delta": 1.73888e+08, + "design__io__hpwl": 14288767, + "utilization__before__dpl": 22.2101, + "negotiation__converge__phase_1__iteration": 2, + "design__instance__displacement__total": 167861, + "design__instance__displacement__mean": 2.282, + "design__instance__displacement__max": 22.539, + "route__wirelength__estimated": 1.54763e+06, + "dpl__hpwl__delta": 1.74595e+08, "dpl__hpwl__delta__percent": 13, - "RSZ::repair_design_buffer_count": "295", - "RSZ::max_slew_slack": "20.483192091786073", + "RSZ::repair_design_buffer_count": "301", + "RSZ::max_slew_slack": "18.971284230550133", "RSZ::max_fanout_slack": "100.0", - "RSZ::max_capacitance_slack": "22.83809646621667", - "utilization__before__dpl": 22.951, + "RSZ::max_capacitance_slack": "29.84445125367396", + "utilization__before__dpl": 22.9658, "negotiation__converge__phase_1__iteration": 3, - "design__instance__displacement__total": 11720.9, - "design__instance__displacement__mean": 0.154, - "design__instance__displacement__max": 20.665, - "route__wirelength__estimated": 1.62799e+06, - "dpl__hpwl__delta": 3.0273e+06, + "design__instance__displacement__total": 11935, + "design__instance__displacement__mean": 0.157, + "design__instance__displacement__max": 22.837, + "route__wirelength__estimated": 1.63426e+06, + "dpl__hpwl__delta": 2.68227e+06, "dpl__hpwl__delta__percent": 0, - "design__instance__count__setup_buffer": 147, - "design__instance__count__hold_buffer": 34, - "RSZ::worst_slack_min": "0.016635360226858537", - "RSZ::worst_slack_max": "-0.04876010844214722", - "RSZ::tns_max": "-0.08626966052376549", - "RSZ::hold_buffer_count": "34", - "utilization__before__dpl": 23.0807, - "negotiation__converge__phase_1__iteration": 3, - "design__instance__displacement__total": 1398.76, - "design__instance__displacement__mean": 0.018, - "design__instance__displacement__max": 27.2, - "route__wirelength__estimated": 1.67234e+06, - "dpl__hpwl__delta": 773483, + "design__instance__count__setup_buffer": 108, + "design__instance__count__hold_buffer": 28, + "RSZ::worst_slack_min": "0.011990853094286026", + "RSZ::worst_slack_max": "-0.017852386740872497", + "RSZ::tns_max": "-0.017852386740872497", + "RSZ::hold_buffer_count": "28", + "utilization__before__dpl": 23.0725, + "negotiation__converge__phase_1__iteration": 4, + "design__instance__displacement__total": 1008.93, + "design__instance__displacement__mean": 0.013, + "design__instance__displacement__max": 17.842, + "route__wirelength__estimated": 1.67135e+06, + "dpl__hpwl__delta": 730382, "dpl__hpwl__delta__percent": 0, "DPL::utilization": "23.1", - "DPL::design_area": "504460", - "route__net": 58259, + "DPL::design_area": "504280", + "route__net": 58226, "route__net__special": 2, "global_route__fastroute__run_s": 0, - "global_route__fastroute__initial_rsmt_s": 0.0819137, - "global_route__fastroute__route_l_s": 0.0624115, - "global_route__fastroute__congestion_rsmt_s": 0.184573, - "global_route__fastroute__new_route_l_s": 0.0470462, - "global_route__fastroute__spiral_s": 0.0445524, - "global_route__fastroute__route_z_s": 0.00752554, - "global_route__fastroute__monotonic_s": 0.120065, - "global_route__fastroute__overflow_iterations_s": 4.22127, - "global_route__fastroute__finalization_s": 1.15655, + "global_route__fastroute__initial_rsmt_s": 0.0799486, + "global_route__fastroute__route_l_s": 0.0590858, + "global_route__fastroute__congestion_rsmt_s": 0.166577, + "global_route__fastroute__new_route_l_s": 0.0477526, + "global_route__fastroute__spiral_s": 0.0656057, + "global_route__fastroute__route_z_s": 0.00772976, + "global_route__fastroute__monotonic_s": 0.162587, + "global_route__fastroute__overflow_iterations_s": 8.35131, + "global_route__fastroute__finalization_s": 1.07409, "global_route__fastroute__snapshot_batch_route_s": 0, "global_route__fastroute__snapshot_batch_apply_s": 0, "global_route__fastroute__snapshot_batch_sync_s": 0, "global_route__fastroute__snapshot_batch_count": 0, "global_route__fastroute__snapshot_batch_nets": 0, "global_route__fastroute__snapshot_batch_wave_count": 0, - "global_route__vias": 397351, - "global_route__wirelength": 2745979, - "grt__utilization__before__dpl": 23.0958, + "global_route__vias": 396217, + "global_route__wirelength": 2744840, + "grt__utilization__before__dpl": 23.083, + "grt__negotiation__converge__phase_1__iteration": 2, + "grt__global_route__fastroute__run_s": 0, + "grt__global_route__fastroute__initial_rsmt_s": 0.00095344, + "grt__global_route__fastroute__route_l_s": 0.00133273, + "grt__global_route__fastroute__congestion_rsmt_s": 0.00164378, + "grt__global_route__fastroute__new_route_l_s": 0.000512058, + "grt__global_route__fastroute__spiral_s": 0.000571868, + "grt__global_route__fastroute__route_z_s": 0.000101732, + "grt__global_route__fastroute__monotonic_s": 0.0103629, + "grt__global_route__fastroute__overflow_iterations_s": 0.00739317, + "grt__global_route__fastroute__finalization_s": 0.0615877, + "grt__global_route__fastroute__snapshot_batch_route_s": 0, + "grt__global_route__fastroute__snapshot_batch_apply_s": 0, + "grt__global_route__fastroute__snapshot_batch_sync_s": 0, + "grt__global_route__fastroute__snapshot_batch_count": 0, + "grt__global_route__fastroute__snapshot_batch_nets": 0, + "grt__global_route__fastroute__snapshot_batch_wave_count": 0, + "grt__global_route__vias": 3133, + "grt__utilization__before__dpl": 23.0838, "grt__negotiation__converge__phase_1__iteration": 2, "grt__global_route__fastroute__run_s": 0, - "grt__global_route__fastroute__initial_rsmt_s": 0.00197045, - "grt__global_route__fastroute__route_l_s": 0.0021207, - "grt__global_route__fastroute__congestion_rsmt_s": 0.00325095, - "grt__global_route__fastroute__new_route_l_s": 0.000934221, - "grt__global_route__fastroute__spiral_s": 0.00109129, - "grt__global_route__fastroute__route_z_s": 0.000261072, - "grt__global_route__fastroute__monotonic_s": 0.0103711, - "grt__global_route__fastroute__overflow_iterations_s": 0.00946942, - "grt__global_route__fastroute__finalization_s": 0.111799, + "grt__global_route__fastroute__initial_rsmt_s": 2.8893e-05, + "grt__global_route__fastroute__route_l_s": 0.000238568, + "grt__global_route__fastroute__congestion_rsmt_s": 5.4181e-05, + "grt__global_route__fastroute__new_route_l_s": 9.0506e-05, + "grt__global_route__fastroute__spiral_s": 6.9273e-05, + "grt__global_route__fastroute__route_z_s": 1.2479e-05, + "grt__global_route__fastroute__monotonic_s": 0.00712864, + "grt__global_route__fastroute__overflow_iterations_s": 5e-07, + "grt__global_route__fastroute__finalization_s": 0.0111441, "grt__global_route__fastroute__snapshot_batch_route_s": 0, "grt__global_route__fastroute__snapshot_batch_apply_s": 0, "grt__global_route__fastroute__snapshot_batch_sync_s": 0, "grt__global_route__fastroute__snapshot_batch_count": 0, "grt__global_route__fastroute__snapshot_batch_nets": 0, "grt__global_route__fastroute__snapshot_batch_wave_count": 0, - "grt__global_route__vias": 6201, - "grt__utilization__before__dpl": 23.0972, - "grt__negotiation__converge__phase_1__iteration": 1, + "grt__global_route__vias": 51, + "grt__utilization__before__dpl": 23.0839, + "grt__negotiation__converge__phase_1__iteration": 2, "grt__global_route__fastroute__run_s": 0, - "grt__global_route__fastroute__initial_rsmt_s": 0.00060002, - "grt__global_route__fastroute__route_l_s": 0.000468743, - "grt__global_route__fastroute__congestion_rsmt_s": 0.000802043, - "grt__global_route__fastroute__new_route_l_s": 0.000216645, - "grt__global_route__fastroute__spiral_s": 0.000247831, - "grt__global_route__fastroute__route_z_s": 2.0211e-05, - "grt__global_route__fastroute__monotonic_s": 0.00742037, - "grt__global_route__fastroute__overflow_iterations_s": 6.82e-07, - "grt__global_route__fastroute__finalization_s": 0.0559929, + "grt__global_route__fastroute__initial_rsmt_s": 1.8528e-05, + "grt__global_route__fastroute__route_l_s": 0.000176855, + "grt__global_route__fastroute__congestion_rsmt_s": 4.1122e-05, + "grt__global_route__fastroute__new_route_l_s": 5.0585e-05, + "grt__global_route__fastroute__spiral_s": 3.9329e-05, + "grt__global_route__fastroute__route_z_s": 9.825e-06, + "grt__global_route__fastroute__monotonic_s": 0.00529666, + "grt__global_route__fastroute__overflow_iterations_s": 6.2e-07, + "grt__global_route__fastroute__finalization_s": 0.00825931, "grt__global_route__fastroute__snapshot_batch_route_s": 0, "grt__global_route__fastroute__snapshot_batch_apply_s": 0, "grt__global_route__fastroute__snapshot_batch_sync_s": 0, "grt__global_route__fastroute__snapshot_batch_count": 0, "grt__global_route__fastroute__snapshot_batch_nets": 0, "grt__global_route__fastroute__snapshot_batch_wave_count": 0, - "grt__global_route__vias": 1153, - "grt__antenna_diodes_count": 144, + "grt__global_route__vias": 44, + "grt__antenna_diodes_count": 100, "grt__antenna__violating__nets": 0, "grt__antenna__violating__pins": 0, "GRT::ANT::errors": "0", - "route__drc_errors__iter:0": 7553, - "route__wirelength__iter:0": 1866652, - "route__drc_errors__iter:1": 1426, - "route__wirelength__iter:1": 1857168, - "route__drc_errors__iter:2": 751, - "route__wirelength__iter:2": 1856129, - "route__drc_errors__iter:3": 24, - "route__wirelength__iter:3": 1856158, - "route__drc_errors__iter:4": 0, - "route__wirelength__iter:4": 1856156, + "route__drc_errors__iter:0": 7485, + "route__wirelength__iter:0": 1866288, + "route__drc_errors__iter:1": 1485, + "route__wirelength__iter:1": 1857288, + "route__drc_errors__iter:2": 897, + "route__wirelength__iter:2": 1855927, + "route__drc_errors__iter:3": 5, + "route__wirelength__iter:3": 1855960, + "route__drc_errors__iter:4": 1, + "route__wirelength__iter:4": 1855952, + "route__drc_errors__iter:5": 1, + "route__wirelength__iter:5": 1855952, + "route__drc_errors__iter:6": 0, + "route__wirelength__iter:6": 1855949, "route__drc_errors": 0, - "route__wirelength": 1856156, - "route__vias": 323214, - "route__vias__singlecut": 323214, + "route__wirelength": 1855949, + "route__vias": 323305, + "route__vias__singlecut": 323305, "route__vias__multicut": 0, "DRT::drv": "0", - "drt__repair_antennas__pre_repair__antenna__violating__nets": 165, - "drt__repair_antennas__pre_repair__antenna__violating__pins": 198, - "drt__repair_antennas__iter_0__utilization__before__dpl": 23.1214, + "drt__repair_antennas__pre_repair__antenna__violating__nets": 175, + "drt__repair_antennas__pre_repair__antenna__violating__pins": 209, + "drt__repair_antennas__iter_0__utilization__before__dpl": 23.1091, "drt__repair_antennas__iter_0__negotiation__converge__phase_1__iteration": 0, "drt__repair_antennas__iter_0__global_route__fastroute__run_s": 0, - "drt__repair_antennas__iter_0__global_route__fastroute__initial_rsmt_s": 0.00373885, - "drt__repair_antennas__iter_0__global_route__fastroute__route_l_s": 0.00424055, - "drt__repair_antennas__iter_0__global_route__fastroute__congestion_rsmt_s": 0.00392404, - "drt__repair_antennas__iter_0__global_route__fastroute__new_route_l_s": 0.00166668, - "drt__repair_antennas__iter_0__global_route__fastroute__spiral_s": 0.00178066, - "drt__repair_antennas__iter_0__global_route__fastroute__route_z_s": 0.000319068, - "drt__repair_antennas__iter_0__global_route__fastroute__monotonic_s": 0.0081918, - "drt__repair_antennas__iter_0__global_route__fastroute__overflow_iterations_s": 5.41e-07, - "drt__repair_antennas__iter_0__global_route__fastroute__finalization_s": 0.193402, + "drt__repair_antennas__iter_0__global_route__fastroute__initial_rsmt_s": 0.00179849, + "drt__repair_antennas__iter_0__global_route__fastroute__route_l_s": 0.00364603, + "drt__repair_antennas__iter_0__global_route__fastroute__congestion_rsmt_s": 0.0037155, + "drt__repair_antennas__iter_0__global_route__fastroute__new_route_l_s": 0.00143777, + "drt__repair_antennas__iter_0__global_route__fastroute__spiral_s": 0.00162348, + "drt__repair_antennas__iter_0__global_route__fastroute__route_z_s": 0.000442033, + "drt__repair_antennas__iter_0__global_route__fastroute__monotonic_s": 0.0076724, + "drt__repair_antennas__iter_0__global_route__fastroute__overflow_iterations_s": 5.61e-07, + "drt__repair_antennas__iter_0__global_route__fastroute__finalization_s": 0.215231, "drt__repair_antennas__iter_0__global_route__fastroute__snapshot_batch_route_s": 0, "drt__repair_antennas__iter_0__global_route__fastroute__snapshot_batch_apply_s": 0, "drt__repair_antennas__iter_0__global_route__fastroute__snapshot_batch_sync_s": 0, "drt__repair_antennas__iter_0__global_route__fastroute__snapshot_batch_count": 0, "drt__repair_antennas__iter_0__global_route__fastroute__snapshot_batch_nets": 0, "drt__repair_antennas__iter_0__global_route__fastroute__snapshot_batch_wave_count": 0, - "drt__repair_antennas__iter_0__global_route__vias": 5204, - "drt__repair_antennas__iter_0__antenna_diodes_count": 355, - "drt__repair_antennas__iter_0__route__drc_errors__iter:0": 2055, - "drt__repair_antennas__iter_0__route__wirelength__iter:0": 1857184, - "drt__repair_antennas__iter_0__route__drc_errors__iter:1": 290, - "drt__repair_antennas__iter_0__route__wirelength__iter:1": 1856915, - "drt__repair_antennas__iter_0__route__drc_errors__iter:2": 180, - "drt__repair_antennas__iter_0__route__wirelength__iter:2": 1856881, - "drt__repair_antennas__iter_0__route__drc_errors__iter:3": 15, - "drt__repair_antennas__iter_0__route__wirelength__iter:3": 1856896, + "drt__repair_antennas__iter_0__global_route__vias": 6508, + "drt__repair_antennas__iter_0__antenna_diodes_count": 320, + "drt__repair_antennas__iter_0__route__drc_errors__iter:0": 2305, + "drt__repair_antennas__iter_0__route__wirelength__iter:0": 1857422, + "drt__repair_antennas__iter_0__route__drc_errors__iter:1": 361, + "drt__repair_antennas__iter_0__route__wirelength__iter:1": 1856939, + "drt__repair_antennas__iter_0__route__drc_errors__iter:2": 264, + "drt__repair_antennas__iter_0__route__wirelength__iter:2": 1856816, + "drt__repair_antennas__iter_0__route__drc_errors__iter:3": 11, + "drt__repair_antennas__iter_0__route__wirelength__iter:3": 1856850, "drt__repair_antennas__iter_0__route__drc_errors__iter:4": 0, - "drt__repair_antennas__iter_0__route__wirelength__iter:4": 1856847, + "drt__repair_antennas__iter_0__route__wirelength__iter:4": 1856831, "drt__repair_antennas__iter_0__route__drc_errors": 0, - "drt__repair_antennas__iter_0__route__wirelength": 1856847, - "drt__repair_antennas__iter_0__route__vias": 323663, - "drt__repair_antennas__iter_0__route__vias__singlecut": 323663, + "drt__repair_antennas__iter_0__route__wirelength": 1856831, + "drt__repair_antennas__iter_0__route__vias": 324012, + "drt__repair_antennas__iter_0__route__vias__singlecut": 324012, "drt__repair_antennas__iter_0__route__vias__multicut": 0, - "drt__repair_antennas__iter_0__antenna__violating__nets": 19, - "drt__repair_antennas__iter_0__antenna__violating__pins": 20, - "drt__repair_antennas__iter_1__utilization__before__dpl": 23.1246, + "drt__repair_antennas__iter_0__antenna__violating__nets": 26, + "drt__repair_antennas__iter_0__antenna__violating__pins": 34, + "drt__repair_antennas__iter_1__utilization__before__dpl": 23.113, "drt__repair_antennas__iter_1__negotiation__converge__phase_1__iteration": 0, "drt__repair_antennas__iter_1__global_route__fastroute__run_s": 0, - "drt__repair_antennas__iter_1__global_route__fastroute__initial_rsmt_s": 0.00134868, - "drt__repair_antennas__iter_1__global_route__fastroute__route_l_s": 0.000652398, - "drt__repair_antennas__iter_1__global_route__fastroute__congestion_rsmt_s": 0.00082027, - "drt__repair_antennas__iter_1__global_route__fastroute__new_route_l_s": 0.00021342, - "drt__repair_antennas__iter_1__global_route__fastroute__spiral_s": 0.000241262, - "drt__repair_antennas__iter_1__global_route__fastroute__route_z_s": 3.8508e-05, - "drt__repair_antennas__iter_1__global_route__fastroute__monotonic_s": 0.00147245, - "drt__repair_antennas__iter_1__global_route__fastroute__overflow_iterations_s": 4.8e-07, - "drt__repair_antennas__iter_1__global_route__fastroute__finalization_s": 0.0385278, + "drt__repair_antennas__iter_1__global_route__fastroute__initial_rsmt_s": 0.00101031, + "drt__repair_antennas__iter_1__global_route__fastroute__route_l_s": 0.000784947, + "drt__repair_antennas__iter_1__global_route__fastroute__congestion_rsmt_s": 0.00457472, + "drt__repair_antennas__iter_1__global_route__fastroute__new_route_l_s": 0.000263245, + "drt__repair_antennas__iter_1__global_route__fastroute__spiral_s": 0.000295302, + "drt__repair_antennas__iter_1__global_route__fastroute__route_z_s": 6.5339e-05, + "drt__repair_antennas__iter_1__global_route__fastroute__monotonic_s": 0.00582276, + "drt__repair_antennas__iter_1__global_route__fastroute__overflow_iterations_s": 5.41e-07, + "drt__repair_antennas__iter_1__global_route__fastroute__finalization_s": 0.116956, "drt__repair_antennas__iter_1__global_route__fastroute__snapshot_batch_route_s": 0, "drt__repair_antennas__iter_1__global_route__fastroute__snapshot_batch_apply_s": 0, "drt__repair_antennas__iter_1__global_route__fastroute__snapshot_batch_sync_s": 0, "drt__repair_antennas__iter_1__global_route__fastroute__snapshot_batch_count": 0, "drt__repair_antennas__iter_1__global_route__fastroute__snapshot_batch_nets": 0, "drt__repair_antennas__iter_1__global_route__fastroute__snapshot_batch_wave_count": 0, - "drt__repair_antennas__iter_1__global_route__vias": 1314, - "drt__repair_antennas__iter_1__antenna_diodes_count": 383, - "drt__repair_antennas__iter_1__route__drc_errors__iter:0": 298, - "drt__repair_antennas__iter_1__route__wirelength__iter:0": 1856952, - "drt__repair_antennas__iter_1__route__drc_errors__iter:1": 24, - "drt__repair_antennas__iter_1__route__wirelength__iter:1": 1856917, - "drt__repair_antennas__iter_1__route__drc_errors__iter:2": 4, - "drt__repair_antennas__iter_1__route__wirelength__iter:2": 1856901, + "drt__repair_antennas__iter_1__global_route__vias": 1498, + "drt__repair_antennas__iter_1__antenna_diodes_count": 354, + "drt__repair_antennas__iter_1__route__drc_errors__iter:0": 242, + "drt__repair_antennas__iter_1__route__wirelength__iter:0": 1856909, + "drt__repair_antennas__iter_1__route__drc_errors__iter:1": 35, + "drt__repair_antennas__iter_1__route__wirelength__iter:1": 1856834, + "drt__repair_antennas__iter_1__route__drc_errors__iter:2": 19, + "drt__repair_antennas__iter_1__route__wirelength__iter:2": 1856816, "drt__repair_antennas__iter_1__route__drc_errors__iter:3": 0, - "drt__repair_antennas__iter_1__route__wirelength__iter:3": 1856900, + "drt__repair_antennas__iter_1__route__wirelength__iter:3": 1856810, "drt__repair_antennas__iter_1__route__drc_errors": 0, - "drt__repair_antennas__iter_1__route__wirelength": 1856900, - "drt__repair_antennas__iter_1__route__vias": 323703, - "drt__repair_antennas__iter_1__route__vias__singlecut": 323703, + "drt__repair_antennas__iter_1__route__wirelength": 1856810, + "drt__repair_antennas__iter_1__route__vias": 324062, + "drt__repair_antennas__iter_1__route__vias__singlecut": 324062, "drt__repair_antennas__iter_1__route__vias__multicut": 0, - "drt__repair_antennas__iter_1__antenna__violating__nets": 2, - "drt__repair_antennas__iter_1__antenna__violating__pins": 2, - "drt__repair_antennas__iter_2__utilization__before__dpl": 23.1248, + "drt__repair_antennas__iter_1__antenna__violating__nets": 6, + "drt__repair_antennas__iter_1__antenna__violating__pins": 6, + "drt__repair_antennas__iter_2__utilization__before__dpl": 23.1137, "drt__repair_antennas__iter_2__global_route__fastroute__run_s": 0, - "drt__repair_antennas__iter_2__global_route__fastroute__initial_rsmt_s": 0.000275193, - "drt__repair_antennas__iter_2__global_route__fastroute__route_l_s": 7.6665e-05, - "drt__repair_antennas__iter_2__global_route__fastroute__congestion_rsmt_s": 0.000147701, - "drt__repair_antennas__iter_2__global_route__fastroute__new_route_l_s": 2.5127e-05, - "drt__repair_antennas__iter_2__global_route__fastroute__spiral_s": 3.0136e-05, - "drt__repair_antennas__iter_2__global_route__fastroute__route_z_s": 1.2989e-05, - "drt__repair_antennas__iter_2__global_route__fastroute__monotonic_s": 0.00107944, - "drt__repair_antennas__iter_2__global_route__fastroute__overflow_iterations_s": 3.7e-07, - "drt__repair_antennas__iter_2__global_route__fastroute__finalization_s": 0.00448908, + "drt__repair_antennas__iter_2__global_route__fastroute__initial_rsmt_s": 0.000184898, + "drt__repair_antennas__iter_2__global_route__fastroute__route_l_s": 0.000144877, + "drt__repair_antennas__iter_2__global_route__fastroute__congestion_rsmt_s": 0.000238157, + "drt__repair_antennas__iter_2__global_route__fastroute__new_route_l_s": 4.5488e-05, + "drt__repair_antennas__iter_2__global_route__fastroute__spiral_s": 5.985e-05, + "drt__repair_antennas__iter_2__global_route__fastroute__route_z_s": 2.4406e-05, + "drt__repair_antennas__iter_2__global_route__fastroute__monotonic_s": 0.00191144, + "drt__repair_antennas__iter_2__global_route__fastroute__overflow_iterations_s": 4.61e-07, + "drt__repair_antennas__iter_2__global_route__fastroute__finalization_s": 0.0172157, "drt__repair_antennas__iter_2__global_route__fastroute__snapshot_batch_route_s": 0, "drt__repair_antennas__iter_2__global_route__fastroute__snapshot_batch_apply_s": 0, "drt__repair_antennas__iter_2__global_route__fastroute__snapshot_batch_sync_s": 0, "drt__repair_antennas__iter_2__global_route__fastroute__snapshot_batch_count": 0, "drt__repair_antennas__iter_2__global_route__fastroute__snapshot_batch_nets": 0, "drt__repair_antennas__iter_2__global_route__fastroute__snapshot_batch_wave_count": 0, - "drt__repair_antennas__iter_2__global_route__vias": 180, - "drt__repair_antennas__iter_2__antenna_diodes_count": 385, - "drt__repair_antennas__iter_2__route__drc_errors__iter:0": 65, - "drt__repair_antennas__iter_2__route__wirelength__iter:0": 1856949, - "drt__repair_antennas__iter_2__route__drc_errors__iter:1": 7, - "drt__repair_antennas__iter_2__route__wirelength__iter:1": 1856941, - "drt__repair_antennas__iter_2__route__drc_errors__iter:2": 5, - "drt__repair_antennas__iter_2__route__wirelength__iter:2": 1856931, - "drt__repair_antennas__iter_2__route__drc_errors__iter:3": 0, - "drt__repair_antennas__iter_2__route__wirelength__iter:3": 1856918, + "drt__repair_antennas__iter_2__global_route__vias": 454, + "drt__repair_antennas__iter_2__antenna_diodes_count": 360, + "drt__repair_antennas__iter_2__route__drc_errors__iter:0": 53, + "drt__repair_antennas__iter_2__route__wirelength__iter:0": 1856831, + "drt__repair_antennas__iter_2__route__drc_errors__iter:1": 4, + "drt__repair_antennas__iter_2__route__wirelength__iter:1": 1856813, + "drt__repair_antennas__iter_2__route__drc_errors__iter:2": 0, + "drt__repair_antennas__iter_2__route__wirelength__iter:2": 1856812, "drt__repair_antennas__iter_2__route__drc_errors": 0, - "drt__repair_antennas__iter_2__route__wirelength": 1856918, - "drt__repair_antennas__iter_2__route__vias": 323709, - "drt__repair_antennas__iter_2__route__vias__singlecut": 323709, + "drt__repair_antennas__iter_2__route__wirelength": 1856812, + "drt__repair_antennas__iter_2__route__vias": 324076, + "drt__repair_antennas__iter_2__route__vias__singlecut": 324076, "drt__repair_antennas__iter_2__route__vias__multicut": 0, - "drt__repair_antennas__iter_2__antenna__violating__nets": 1, - "drt__repair_antennas__iter_2__antenna__violating__pins": 1, - "drt__repair_antennas__iter_3__utilization__before__dpl": 23.1249, - "drt__repair_antennas__iter_3__global_route__fastroute__run_s": 0, - "drt__repair_antennas__iter_3__global_route__fastroute__initial_rsmt_s": 0.000102094, - "drt__repair_antennas__iter_3__global_route__fastroute__route_l_s": 3.347e-05, - "drt__repair_antennas__iter_3__global_route__fastroute__congestion_rsmt_s": 6.4717e-05, - "drt__repair_antennas__iter_3__global_route__fastroute__new_route_l_s": 1.0676e-05, - "drt__repair_antennas__iter_3__global_route__fastroute__spiral_s": 1.4081e-05, - "drt__repair_antennas__iter_3__global_route__fastroute__route_z_s": 5.709e-06, - "drt__repair_antennas__iter_3__global_route__fastroute__monotonic_s": 0.00101336, - "drt__repair_antennas__iter_3__global_route__fastroute__overflow_iterations_s": 6.01e-07, - "drt__repair_antennas__iter_3__global_route__fastroute__finalization_s": 0.000211537, - "drt__repair_antennas__iter_3__global_route__fastroute__snapshot_batch_route_s": 0, - "drt__repair_antennas__iter_3__global_route__fastroute__snapshot_batch_apply_s": 0, - "drt__repair_antennas__iter_3__global_route__fastroute__snapshot_batch_sync_s": 0, - "drt__repair_antennas__iter_3__global_route__fastroute__snapshot_batch_count": 0, - "drt__repair_antennas__iter_3__global_route__fastroute__snapshot_batch_nets": 0, - "drt__repair_antennas__iter_3__global_route__fastroute__snapshot_batch_wave_count": 0, - "drt__repair_antennas__iter_3__global_route__vias": 92, - "drt__repair_antennas__iter_3__antenna_diodes_count": 386, - "drt__repair_antennas__iter_3__route__drc_errors__iter:0": 51, - "drt__repair_antennas__iter_3__route__wirelength__iter:0": 1856981, - "drt__repair_antennas__iter_3__route__drc_errors__iter:1": 15, - "drt__repair_antennas__iter_3__route__wirelength__iter:1": 1856966, - "drt__repair_antennas__iter_3__route__drc_errors__iter:2": 14, - "drt__repair_antennas__iter_3__route__wirelength__iter:2": 1856967, - "drt__repair_antennas__iter_3__route__drc_errors__iter:3": 0, - "drt__repair_antennas__iter_3__route__wirelength__iter:3": 1856926, - "drt__repair_antennas__iter_3__route__drc_errors": 0, - "drt__repair_antennas__iter_3__route__wirelength": 1856926, - "drt__repair_antennas__iter_3__route__vias": 323691, - "drt__repair_antennas__iter_3__route__vias__singlecut": 323691, - "drt__repair_antennas__iter_3__route__vias__multicut": 0, - "drt__repair_antennas__iter_3__antenna__violating__nets": 0, - "drt__repair_antennas__iter_3__antenna__violating__pins": 0, + "drt__repair_antennas__iter_2__antenna__violating__nets": 0, + "drt__repair_antennas__iter_2__antenna__violating__pins": 0, "drt__antenna__violating__nets": 0, "drt__antenna__violating__pins": 0, "DRT::ANT::errors": "0", "design__violations": 0, "timing__drv__floating__nets": 0, "timing__drv__floating__pins": 0, - "DRT::worst_slack_min": "-0.17988788745535655", - "DRT::worst_slack_max": "-0.3469367114016244", - "DRT::tns_max": "-11.97341104598666", - "DRT::clock_skew": "0.19075008779088815", - "DRT::max_slew_slack": "-25.473415851593018", + "DRT::worst_slack_min": "0.01899236377479836", + "DRT::worst_slack_max": "-0.3854721095870092", + "DRT::tns_max": "-12.155139461224294", + "DRT::clock_skew": "0.27484504339251303", + "DRT::max_slew_slack": "-14.884012937545776", "DRT::max_fanout_slack": "100.0", - "DRT::max_capacitance_slack": "-26.144445487411396", + "DRT::max_capacitance_slack": "-13.855248726553135", "DRT::clock_period": "8.000000", - "flow__warnings__count": 178, + "flow__warnings__count": 156, "flow__errors__count": 0, - "flow__warnings__count:DRT-0120": 144, + "flow__warnings__count:DRT-0120": 125, "flow__warnings__count:DRT-0349": 10, - "flow__warnings__count:GRT-0243": 2, - "flow__warnings__count:GRT-0273": 1, + "flow__warnings__count:GRT-0243": 1, "flow__warnings__count:GRT-0281": 5, - "flow__warnings__count:GRT-0297": 1, "flow__warnings__count:IFP-0028": 1, "flow__warnings__count:ORD-0046": 9, "flow__warnings__count:PDN-1051": 2, "flow__warnings__count:RCX-0514": 1, "flow__warnings__count:RSZ-0062": 1, "flow__warnings__count:STA-0441": 1, - "flow__warnings__type_count": 12 + "flow__warnings__type_count": 10 } \ No newline at end of file diff --git a/test/jpeg_sky130hd.metrics_limits b/test/jpeg_sky130hd.metrics_limits index f9d8658467..d389cbe163 100644 --- a/test/jpeg_sky130hd.metrics_limits +++ b/test/jpeg_sky130hd.metrics_limits @@ -1,23 +1,23 @@ { "IFP::instance_count" : "54760.799999999996" - ,"DPL::design_area" : "605352.0" + ,"DPL::design_area" : "605136.0" ,"DPL::utilization" : "27.720000000000002" - ,"RSZ::repair_design_buffer_count" : "354" + ,"RSZ::repair_design_buffer_count" : "361" ,"RSZ::max_slew_slack" : "0" ,"RSZ::max_capacitance_slack" : "0" ,"RSZ::max_fanout_slack" : "0" - ,"RSZ::worst_slack_min" : "-0.7833646397731415" - ,"RSZ::worst_slack_max" : "-0.8487601084421472" - ,"RSZ::tns_max" : "-3650.8062696605243" - ,"RSZ::hold_buffer_count" : "40" + ,"RSZ::worst_slack_min" : "-0.788009146905714" + ,"RSZ::worst_slack_max" : "-0.8178523867408726" + ,"RSZ::tns_max" : "-3650.7378523867415" + ,"RSZ::hold_buffer_count" : "33" ,"GRT::ANT::errors" : "0" ,"DRT::drv" : "0" - ,"DRT::worst_slack_min" : "-0.9798878874553566" - ,"DRT::worst_slack_max" : "-1.1469367114016245" - ,"DRT::tns_max" : "-3662.6934110459874" - ,"DRT::clock_skew" : "0.22890010534906577" - ,"DRT::max_slew_slack" : "-30.56809902191162" - ,"DRT::max_capacitance_slack" : "-31.373334584893673" + ,"DRT::worst_slack_min" : "-0.7810076362252016" + ,"DRT::worst_slack_max" : "-1.1854721095870093" + ,"DRT::tns_max" : "-3662.875139461225" + ,"DRT::clock_skew" : "0.3298140520710156" + ,"DRT::max_slew_slack" : "-17.86081552505493" + ,"DRT::max_capacitance_slack" : "-16.626298471863763" ,"DRT::max_fanout_slack" : "0" ,"DRT::clock_period" : "8.0" ,"DRT::ANT::errors" : "0" diff --git a/test/jpeg_sky130hs.metrics b/test/jpeg_sky130hs.metrics index 610f045499..c2ea0b4513 100644 --- a/test/jpeg_sky130hs.metrics +++ b/test/jpeg_sky130hs.metrics @@ -2,341 +2,273 @@ "IFP::ord_version": "", "IFP::instance_count": "49868", "floorplan__design__io": 47, - "design__io__hpwl": 13549178, - "utilization__before__dpl": 30.7334, - "negotiation__converge__phase_1__iteration": 1, - "design__instance__displacement__total": 230786, - "design__instance__displacement__mean": 3.187, - "design__instance__displacement__max": 26.367, - "route__wirelength__estimated": 1.88369e+06, - "dpl__hpwl__delta": 2.62484e+08, + "design__io__hpwl": 13723860, + "utilization__before__dpl": 30.7532, + "negotiation__converge__phase_1__iteration": 6, + "design__instance__displacement__total": 232662, + "design__instance__displacement__mean": 3.213, + "design__instance__displacement__max": 37.724, + "route__wirelength__estimated": 1.88355e+06, + "dpl__hpwl__delta": 2.57849e+08, "dpl__hpwl__delta__percent": 16, - "RSZ::repair_design_buffer_count": "538", - "RSZ::max_slew_slack": "20.250123739242554", + "RSZ::repair_design_buffer_count": "551", + "RSZ::max_slew_slack": "20.191854238510132", "RSZ::max_fanout_slack": "100.0", - "RSZ::max_capacitance_slack": "22.52151040051523", - "utilization__before__dpl": 31.6365, - "negotiation__converge__phase_1__iteration": 1, - "design__instance__displacement__total": 15960.3, - "design__instance__displacement__mean": 0.213, - "design__instance__displacement__max": 24.424, - "route__wirelength__estimated": 1.98289e+06, - "dpl__hpwl__delta": 5.89166e+06, + "RSZ::max_capacitance_slack": "22.496807401066185", + "utilization__before__dpl": 31.6611, + "negotiation__converge__phase_1__iteration": 9, + "design__instance__displacement__total": 16977.6, + "design__instance__displacement__mean": 0.227, + "design__instance__displacement__max": 24.061, + "route__wirelength__estimated": 1.98252e+06, + "dpl__hpwl__delta": 6.53444e+06, "dpl__hpwl__delta__percent": 0, "design__instance__count__setup_buffer": 0, - "design__instance__count__hold_buffer": 12, - "RSZ::worst_slack_min": "0.008959722106728185", - "RSZ::worst_slack_max": "0.006624034841464033", + "design__instance__count__hold_buffer": 21, + "RSZ::worst_slack_min": "0.0018567370388952215", + "RSZ::worst_slack_max": "0.0014273027608249801", "RSZ::tns_max": "0.0", - "RSZ::hold_buffer_count": "12", - "utilization__before__dpl": 31.6466, - "negotiation__converge__phase_1__iteration": 1, - "design__instance__displacement__total": 164.958, + "RSZ::hold_buffer_count": "21", + "utilization__before__dpl": 31.6789, + "negotiation__converge__phase_1__iteration": 4, + "design__instance__displacement__total": 180.508, "design__instance__displacement__mean": 0.002, - "design__instance__displacement__max": 29.065, - "route__wirelength__estimated": 1.98468e+06, - "dpl__hpwl__delta": 184314, + "design__instance__displacement__max": 25.74, + "route__wirelength__estimated": 1.98705e+06, + "dpl__hpwl__delta": 165323, "dpl__hpwl__delta__percent": 0, - "DPL::utilization": "31.6", - "DPL::design_area": "690860", - "route__net": 62657, + "DPL::utilization": "31.7", + "DPL::design_area": "691564", + "route__net": 62680, "route__net__special": 2, "global_route__fastroute__run_s": 0, - "global_route__fastroute__initial_rsmt_s": 0.053956, - "global_route__fastroute__route_l_s": 0.0434836, - "global_route__fastroute__congestion_rsmt_s": 0.10938, - "global_route__fastroute__new_route_l_s": 0.0246447, - "global_route__fastroute__spiral_s": 0.0351455, - "global_route__fastroute__route_z_s": 0.00750516, - "global_route__fastroute__monotonic_s": 0.179088, - "global_route__fastroute__overflow_iterations_s": 18.874, - "global_route__fastroute__finalization_s": 0.925755, + "global_route__fastroute__initial_rsmt_s": 0.240545, + "global_route__fastroute__route_l_s": 0.137846, + "global_route__fastroute__congestion_rsmt_s": 0.228854, + "global_route__fastroute__new_route_l_s": 0.132798, + "global_route__fastroute__spiral_s": 0.179998, + "global_route__fastroute__route_z_s": 0.0359052, + "global_route__fastroute__monotonic_s": 0.422825, + "global_route__fastroute__overflow_iterations_s": 10.51, + "global_route__fastroute__finalization_s": 2.38566, "global_route__fastroute__snapshot_batch_route_s": 0, "global_route__fastroute__snapshot_batch_apply_s": 0, "global_route__fastroute__snapshot_batch_sync_s": 0, "global_route__fastroute__snapshot_batch_count": 0, "global_route__fastroute__snapshot_batch_nets": 0, "global_route__fastroute__snapshot_batch_wave_count": 0, - "global_route__vias": 431255, - "global_route__wirelength": 3252801, - "grt__utilization__before__dpl": 31.6601, - "grt__negotiation__converge__phase_1__iteration": 0, - "grt__global_route__fastroute__run_s": 0, - "grt__global_route__fastroute__initial_rsmt_s": 0.00132943, - "grt__global_route__fastroute__route_l_s": 0.000963494, - "grt__global_route__fastroute__congestion_rsmt_s": 0.00220679, - "grt__global_route__fastroute__new_route_l_s": 0.000541828, - "grt__global_route__fastroute__spiral_s": 0.000652648, - "grt__global_route__fastroute__route_z_s": 0.00018738, - "grt__global_route__fastroute__monotonic_s": 0.0112943, - "grt__global_route__fastroute__overflow_iterations_s": 0.0251435, - "grt__global_route__fastroute__finalization_s": 0.0528621, - "grt__global_route__fastroute__snapshot_batch_route_s": 0, - "grt__global_route__fastroute__snapshot_batch_apply_s": 0, - "grt__global_route__fastroute__snapshot_batch_sync_s": 0, - "grt__global_route__fastroute__snapshot_batch_count": 0, - "grt__global_route__fastroute__snapshot_batch_nets": 0, - "grt__global_route__fastroute__snapshot_batch_wave_count": 0, - "grt__global_route__vias": 4913, - "grt__utilization__before__dpl": 31.6608, - "grt__negotiation__converge__phase_1__iteration": 0, + "global_route__vias": 430765, + "global_route__wirelength": 3236371, + "grt__utilization__before__dpl": 31.6895, + "grt__negotiation__converge__phase_1__iteration": 2, "grt__global_route__fastroute__run_s": 0, - "grt__global_route__fastroute__initial_rsmt_s": 0.000339022, - "grt__global_route__fastroute__route_l_s": 0.000120716, - "grt__global_route__fastroute__congestion_rsmt_s": 0.000425029, - "grt__global_route__fastroute__new_route_l_s": 7.3526e-05, - "grt__global_route__fastroute__spiral_s": 9.3246e-05, - "grt__global_route__fastroute__route_z_s": 1.9587e-05, - "grt__global_route__fastroute__monotonic_s": 0.00558234, - "grt__global_route__fastroute__overflow_iterations_s": 0.0107226, - "grt__global_route__fastroute__finalization_s": 0.017425, + "grt__global_route__fastroute__initial_rsmt_s": 0.00485122, + "grt__global_route__fastroute__route_l_s": 0.006912, + "grt__global_route__fastroute__congestion_rsmt_s": 0.00758338, + "grt__global_route__fastroute__new_route_l_s": 0.00479439, + "grt__global_route__fastroute__spiral_s": 0.00161084, + "grt__global_route__fastroute__route_z_s": 0.000383536, + "grt__global_route__fastroute__monotonic_s": 0.0207328, + "grt__global_route__fastroute__overflow_iterations_s": 0.0252414, + "grt__global_route__fastroute__finalization_s": 0.195777, "grt__global_route__fastroute__snapshot_batch_route_s": 0, "grt__global_route__fastroute__snapshot_batch_apply_s": 0, "grt__global_route__fastroute__snapshot_batch_sync_s": 0, "grt__global_route__fastroute__snapshot_batch_count": 0, "grt__global_route__fastroute__snapshot_batch_nets": 0, "grt__global_route__fastroute__snapshot_batch_wave_count": 0, - "grt__global_route__vias": 786, - "grt__utilization__before__dpl": 31.6613, + "grt__global_route__vias": 4962, + "grt__utilization__before__dpl": 31.6898, "grt__negotiation__converge__phase_1__iteration": 0, "grt__global_route__fastroute__run_s": 0, - "grt__global_route__fastroute__initial_rsmt_s": 2.504e-05, - "grt__global_route__fastroute__route_l_s": 2.3467e-05, - "grt__global_route__fastroute__congestion_rsmt_s": 2.4213e-05, - "grt__global_route__fastroute__new_route_l_s": 6.779e-06, - "grt__global_route__fastroute__spiral_s": 6.955e-06, - "grt__global_route__fastroute__route_z_s": 5.975e-06, - "grt__global_route__fastroute__monotonic_s": 0.00537257, - "grt__global_route__fastroute__overflow_iterations_s": 0.00245788, - "grt__global_route__fastroute__finalization_s": 0.0078631, + "grt__global_route__fastroute__initial_rsmt_s": 3.997e-05, + "grt__global_route__fastroute__route_l_s": 3.9359e-05, + "grt__global_route__fastroute__congestion_rsmt_s": 3.6254e-05, + "grt__global_route__fastroute__new_route_l_s": 1.6335e-05, + "grt__global_route__fastroute__spiral_s": 1.7216e-05, + "grt__global_route__fastroute__route_z_s": 4.917e-06, + "grt__global_route__fastroute__monotonic_s": 0.00507174, + "grt__global_route__fastroute__overflow_iterations_s": 5.21e-07, + "grt__global_route__fastroute__finalization_s": 0.00842134, "grt__global_route__fastroute__snapshot_batch_route_s": 0, "grt__global_route__fastroute__snapshot_batch_apply_s": 0, "grt__global_route__fastroute__snapshot_batch_sync_s": 0, "grt__global_route__fastroute__snapshot_batch_count": 0, "grt__global_route__fastroute__snapshot_batch_nets": 0, "grt__global_route__fastroute__snapshot_batch_wave_count": 0, - "grt__global_route__vias": 49, - "grt__antenna_diodes_count": 100, + "grt__global_route__vias": 96, + "grt__antenna_diodes_count": 75, "grt__antenna__violating__nets": 0, "grt__antenna__violating__pins": 0, "GRT::ANT::errors": "0", - "route__drc_errors__iter:0": 6196, - "route__wirelength__iter:0": 2201657, - "route__drc_errors__iter:1": 691, - "route__wirelength__iter:1": 2191344, - "route__drc_errors__iter:2": 313, - "route__wirelength__iter:2": 2190507, + "route__drc_errors__iter:0": 6524, + "route__wirelength__iter:0": 2200678, + "route__drc_errors__iter:1": 625, + "route__wirelength__iter:1": 2190453, + "route__drc_errors__iter:2": 285, + "route__wirelength__iter:2": 2189484, "route__drc_errors__iter:3": 4, - "route__wirelength__iter:3": 2190526, + "route__wirelength__iter:3": 2189552, "route__drc_errors__iter:4": 0, - "route__wirelength__iter:4": 2190533, + "route__wirelength__iter:4": 2189553, "route__drc_errors": 0, - "route__wirelength": 2190533, - "route__vias": 356181, - "route__vias__singlecut": 356181, + "route__wirelength": 2189553, + "route__vias": 355448, + "route__vias__singlecut": 355448, "route__vias__multicut": 0, "DRT::drv": "0", - "drt__repair_antennas__pre_repair__antenna__violating__nets": 157, - "drt__repair_antennas__pre_repair__antenna__violating__pins": 192, - "drt__repair_antennas__iter_0__utilization__before__dpl": 31.6941, + "drt__repair_antennas__pre_repair__antenna__violating__nets": 165, + "drt__repair_antennas__pre_repair__antenna__violating__pins": 208, + "drt__repair_antennas__iter_0__utilization__before__dpl": 31.7222, "drt__repair_antennas__iter_0__negotiation__converge__phase_1__iteration": 0, "drt__repair_antennas__iter_0__global_route__fastroute__run_s": 0, - "drt__repair_antennas__iter_0__global_route__fastroute__initial_rsmt_s": 0.00227696, - "drt__repair_antennas__iter_0__global_route__fastroute__route_l_s": 0.0037061, - "drt__repair_antennas__iter_0__global_route__fastroute__congestion_rsmt_s": 0.00263137, - "drt__repair_antennas__iter_0__global_route__fastroute__new_route_l_s": 0.00140817, - "drt__repair_antennas__iter_0__global_route__fastroute__spiral_s": 0.00150437, - "drt__repair_antennas__iter_0__global_route__fastroute__route_z_s": 0.000561677, - "drt__repair_antennas__iter_0__global_route__fastroute__monotonic_s": 0.0121323, - "drt__repair_antennas__iter_0__global_route__fastroute__overflow_iterations_s": 0.00390468, - "drt__repair_antennas__iter_0__global_route__fastroute__finalization_s": 0.150752, + "drt__repair_antennas__iter_0__global_route__fastroute__initial_rsmt_s": 0.0012384, + "drt__repair_antennas__iter_0__global_route__fastroute__route_l_s": 0.00480719, + "drt__repair_antennas__iter_0__global_route__fastroute__congestion_rsmt_s": 0.00343876, + "drt__repair_antennas__iter_0__global_route__fastroute__new_route_l_s": 0.00166779, + "drt__repair_antennas__iter_0__global_route__fastroute__spiral_s": 0.00169651, + "drt__repair_antennas__iter_0__global_route__fastroute__route_z_s": 0.000692308, + "drt__repair_antennas__iter_0__global_route__fastroute__monotonic_s": 0.013561, + "drt__repair_antennas__iter_0__global_route__fastroute__overflow_iterations_s": 0.00985777, + "drt__repair_antennas__iter_0__global_route__fastroute__finalization_s": 0.250727, "drt__repair_antennas__iter_0__global_route__fastroute__snapshot_batch_route_s": 0, "drt__repair_antennas__iter_0__global_route__fastroute__snapshot_batch_apply_s": 0, "drt__repair_antennas__iter_0__global_route__fastroute__snapshot_batch_sync_s": 0, "drt__repair_antennas__iter_0__global_route__fastroute__snapshot_batch_count": 0, "drt__repair_antennas__iter_0__global_route__fastroute__snapshot_batch_nets": 0, "drt__repair_antennas__iter_0__global_route__fastroute__snapshot_batch_wave_count": 0, - "drt__repair_antennas__iter_0__global_route__vias": 3813, - "drt__repair_antennas__iter_0__antenna_diodes_count": 324, - "drt__repair_antennas__iter_0__route__drc_errors__iter:0": 1782, - "drt__repair_antennas__iter_0__route__wirelength__iter:0": 2191239, - "drt__repair_antennas__iter_0__route__drc_errors__iter:1": 200, - "drt__repair_antennas__iter_0__route__wirelength__iter:1": 2190893, - "drt__repair_antennas__iter_0__route__drc_errors__iter:2": 125, - "drt__repair_antennas__iter_0__route__wirelength__iter:2": 2190870, - "drt__repair_antennas__iter_0__route__drc_errors__iter:3": 3, - "drt__repair_antennas__iter_0__route__wirelength__iter:3": 2190889, - "drt__repair_antennas__iter_0__route__drc_errors__iter:4": 0, - "drt__repair_antennas__iter_0__route__wirelength__iter:4": 2190871, + "drt__repair_antennas__iter_0__global_route__vias": 4238, + "drt__repair_antennas__iter_0__antenna_diodes_count": 296, + "drt__repair_antennas__iter_0__route__drc_errors__iter:0": 1776, + "drt__repair_antennas__iter_0__route__wirelength__iter:0": 2190639, + "drt__repair_antennas__iter_0__route__drc_errors__iter:1": 201, + "drt__repair_antennas__iter_0__route__wirelength__iter:1": 2190347, + "drt__repair_antennas__iter_0__route__drc_errors__iter:2": 126, + "drt__repair_antennas__iter_0__route__wirelength__iter:2": 2190292, + "drt__repair_antennas__iter_0__route__drc_errors__iter:3": 0, + "drt__repair_antennas__iter_0__route__wirelength__iter:3": 2190337, "drt__repair_antennas__iter_0__route__drc_errors": 0, - "drt__repair_antennas__iter_0__route__wirelength": 2190871, - "drt__repair_antennas__iter_0__route__vias": 356538, - "drt__repair_antennas__iter_0__route__vias__singlecut": 356538, + "drt__repair_antennas__iter_0__route__wirelength": 2190337, + "drt__repair_antennas__iter_0__route__vias": 355844, + "drt__repair_antennas__iter_0__route__vias__singlecut": 355844, "drt__repair_antennas__iter_0__route__vias__multicut": 0, - "drt__repair_antennas__iter_0__antenna__violating__nets": 14, - "drt__repair_antennas__iter_0__antenna__violating__pins": 14, - "drt__repair_antennas__iter_1__utilization__before__dpl": 31.6961, - "drt__repair_antennas__iter_1__negotiation__converge__phase_1__iteration": 0, + "drt__repair_antennas__iter_0__antenna__violating__nets": 7, + "drt__repair_antennas__iter_0__antenna__violating__pins": 8, + "drt__repair_antennas__iter_1__utilization__before__dpl": 31.7234, "drt__repair_antennas__iter_1__global_route__fastroute__run_s": 0, - "drt__repair_antennas__iter_1__global_route__fastroute__initial_rsmt_s": 0.00183279, - "drt__repair_antennas__iter_1__global_route__fastroute__route_l_s": 0.000337572, - "drt__repair_antennas__iter_1__global_route__fastroute__congestion_rsmt_s": 0.000563235, - "drt__repair_antennas__iter_1__global_route__fastroute__new_route_l_s": 0.000150259, - "drt__repair_antennas__iter_1__global_route__fastroute__spiral_s": 0.00017383, - "drt__repair_antennas__iter_1__global_route__fastroute__route_z_s": 1.8337e-05, - "drt__repair_antennas__iter_1__global_route__fastroute__monotonic_s": 0.00254287, - "drt__repair_antennas__iter_1__global_route__fastroute__overflow_iterations_s": 3.51e-07, - "drt__repair_antennas__iter_1__global_route__fastroute__finalization_s": 0.0264607, + "drt__repair_antennas__iter_1__global_route__fastroute__initial_rsmt_s": 0.000108032, + "drt__repair_antennas__iter_1__global_route__fastroute__route_l_s": 0.000167781, + "drt__repair_antennas__iter_1__global_route__fastroute__congestion_rsmt_s": 0.000365408, + "drt__repair_antennas__iter_1__global_route__fastroute__new_route_l_s": 5.2889e-05, + "drt__repair_antennas__iter_1__global_route__fastroute__spiral_s": 5.6795e-05, + "drt__repair_antennas__iter_1__global_route__fastroute__route_z_s": 2.8001e-05, + "drt__repair_antennas__iter_1__global_route__fastroute__monotonic_s": 0.00198521, + "drt__repair_antennas__iter_1__global_route__fastroute__overflow_iterations_s": 0.00116216, + "drt__repair_antennas__iter_1__global_route__fastroute__finalization_s": 0.0165195, "drt__repair_antennas__iter_1__global_route__fastroute__snapshot_batch_route_s": 0, "drt__repair_antennas__iter_1__global_route__fastroute__snapshot_batch_apply_s": 0, "drt__repair_antennas__iter_1__global_route__fastroute__snapshot_batch_sync_s": 0, "drt__repair_antennas__iter_1__global_route__fastroute__snapshot_batch_count": 0, "drt__repair_antennas__iter_1__global_route__fastroute__snapshot_batch_nets": 0, "drt__repair_antennas__iter_1__global_route__fastroute__snapshot_batch_wave_count": 0, - "drt__repair_antennas__iter_1__global_route__vias": 972, - "drt__repair_antennas__iter_1__antenna_diodes_count": 338, - "drt__repair_antennas__iter_1__route__drc_errors__iter:0": 239, - "drt__repair_antennas__iter_1__route__wirelength__iter:0": 2191176, - "drt__repair_antennas__iter_1__route__drc_errors__iter:1": 10, - "drt__repair_antennas__iter_1__route__wirelength__iter:1": 2191117, - "drt__repair_antennas__iter_1__route__drc_errors__iter:2": 3, - "drt__repair_antennas__iter_1__route__wirelength__iter:2": 2191113, - "drt__repair_antennas__iter_1__route__drc_errors__iter:3": 0, - "drt__repair_antennas__iter_1__route__wirelength__iter:3": 2191100, + "drt__repair_antennas__iter_1__global_route__vias": 388, + "drt__repair_antennas__iter_1__antenna_diodes_count": 304, + "drt__repair_antennas__iter_1__route__drc_errors__iter:0": 36, + "drt__repair_antennas__iter_1__route__wirelength__iter:0": 2190339, + "drt__repair_antennas__iter_1__route__drc_errors__iter:1": 3, + "drt__repair_antennas__iter_1__route__wirelength__iter:1": 2190350, + "drt__repair_antennas__iter_1__route__drc_errors__iter:2": 0, + "drt__repair_antennas__iter_1__route__wirelength__iter:2": 2190350, "drt__repair_antennas__iter_1__route__drc_errors": 0, - "drt__repair_antennas__iter_1__route__wirelength": 2191100, - "drt__repair_antennas__iter_1__route__vias": 356581, - "drt__repair_antennas__iter_1__route__vias__singlecut": 356581, + "drt__repair_antennas__iter_1__route__wirelength": 2190350, + "drt__repair_antennas__iter_1__route__vias": 355860, + "drt__repair_antennas__iter_1__route__vias__singlecut": 355860, "drt__repair_antennas__iter_1__route__vias__multicut": 0, - "drt__repair_antennas__iter_1__antenna__violating__nets": 2, - "drt__repair_antennas__iter_1__antenna__violating__pins": 2, - "drt__repair_antennas__iter_2__utilization__before__dpl": 31.6964, - "drt__repair_antennas__iter_2__negotiation__converge__phase_1__iteration": 0, + "drt__repair_antennas__iter_1__antenna__violating__nets": 1, + "drt__repair_antennas__iter_1__antenna__violating__pins": 1, + "drt__repair_antennas__iter_2__utilization__before__dpl": 31.7235, "drt__repair_antennas__iter_2__global_route__fastroute__run_s": 0, - "drt__repair_antennas__iter_2__global_route__fastroute__initial_rsmt_s": 0.000364436, - "drt__repair_antennas__iter_2__global_route__fastroute__route_l_s": 0.000101028, - "drt__repair_antennas__iter_2__global_route__fastroute__congestion_rsmt_s": 0.000101252, - "drt__repair_antennas__iter_2__global_route__fastroute__new_route_l_s": 2.7323e-05, - "drt__repair_antennas__iter_2__global_route__fastroute__spiral_s": 3.0273e-05, - "drt__repair_antennas__iter_2__global_route__fastroute__route_z_s": 6.762e-06, - "drt__repair_antennas__iter_2__global_route__fastroute__monotonic_s": 0.00216671, - "drt__repair_antennas__iter_2__global_route__fastroute__overflow_iterations_s": 3.8e-07, - "drt__repair_antennas__iter_2__global_route__fastroute__finalization_s": 0.00369507, + "drt__repair_antennas__iter_2__global_route__fastroute__initial_rsmt_s": 3.0656e-05, + "drt__repair_antennas__iter_2__global_route__fastroute__route_l_s": 1.5864e-05, + "drt__repair_antennas__iter_2__global_route__fastroute__congestion_rsmt_s": 2.3345e-05, + "drt__repair_antennas__iter_2__global_route__fastroute__new_route_l_s": 5.619e-06, + "drt__repair_antennas__iter_2__global_route__fastroute__spiral_s": 7.742e-06, + "drt__repair_antennas__iter_2__global_route__fastroute__route_z_s": 3.415e-06, + "drt__repair_antennas__iter_2__global_route__fastroute__monotonic_s": 0.00148679, + "drt__repair_antennas__iter_2__global_route__fastroute__overflow_iterations_s": 8.51e-07, + "drt__repair_antennas__iter_2__global_route__fastroute__finalization_s": 8.6851e-05, "drt__repair_antennas__iter_2__global_route__fastroute__snapshot_batch_route_s": 0, "drt__repair_antennas__iter_2__global_route__fastroute__snapshot_batch_apply_s": 0, "drt__repair_antennas__iter_2__global_route__fastroute__snapshot_batch_sync_s": 0, "drt__repair_antennas__iter_2__global_route__fastroute__snapshot_batch_count": 0, "drt__repair_antennas__iter_2__global_route__fastroute__snapshot_batch_nets": 0, "drt__repair_antennas__iter_2__global_route__fastroute__snapshot_batch_wave_count": 0, - "drt__repair_antennas__iter_2__global_route__vias": 163, - "drt__repair_antennas__iter_2__antenna_diodes_count": 340, - "drt__repair_antennas__iter_2__route__drc_errors__iter:0": 43, - "drt__repair_antennas__iter_2__route__wirelength__iter:0": 2191128, - "drt__repair_antennas__iter_2__route__drc_errors__iter:1": 2, - "drt__repair_antennas__iter_2__route__wirelength__iter:1": 2191119, - "drt__repair_antennas__iter_2__route__drc_errors__iter:2": 0, - "drt__repair_antennas__iter_2__route__wirelength__iter:2": 2191121, + "drt__repair_antennas__iter_2__global_route__vias": 65, + "drt__repair_antennas__iter_2__antenna_diodes_count": 305, + "drt__repair_antennas__iter_2__route__drc_errors__iter:0": 0, + "drt__repair_antennas__iter_2__route__wirelength__iter:0": 2190343, "drt__repair_antennas__iter_2__route__drc_errors": 0, - "drt__repair_antennas__iter_2__route__wirelength": 2191121, - "drt__repair_antennas__iter_2__route__vias": 356582, - "drt__repair_antennas__iter_2__route__vias__singlecut": 356582, + "drt__repair_antennas__iter_2__route__wirelength": 2190343, + "drt__repair_antennas__iter_2__route__vias": 355868, + "drt__repair_antennas__iter_2__route__vias__singlecut": 355868, "drt__repair_antennas__iter_2__route__vias__multicut": 0, "drt__repair_antennas__iter_2__antenna__violating__nets": 1, "drt__repair_antennas__iter_2__antenna__violating__pins": 1, - "drt__repair_antennas__iter_3__utilization__before__dpl": 31.6966, - "drt__repair_antennas__iter_3__negotiation__converge__phase_1__iteration": 0, + "drt__repair_antennas__iter_3__utilization__before__dpl": 31.7237, "drt__repair_antennas__iter_3__global_route__fastroute__run_s": 0, - "drt__repair_antennas__iter_3__global_route__fastroute__initial_rsmt_s": 6.8915e-05, - "drt__repair_antennas__iter_3__global_route__fastroute__route_l_s": 4.8524e-05, - "drt__repair_antennas__iter_3__global_route__fastroute__congestion_rsmt_s": 4.4329e-05, - "drt__repair_antennas__iter_3__global_route__fastroute__new_route_l_s": 1.0358e-05, - "drt__repair_antennas__iter_3__global_route__fastroute__spiral_s": 1.2412e-05, - "drt__repair_antennas__iter_3__global_route__fastroute__route_z_s": 4.159e-06, - "drt__repair_antennas__iter_3__global_route__fastroute__monotonic_s": 0.00193718, - "drt__repair_antennas__iter_3__global_route__fastroute__overflow_iterations_s": 5.04e-07, - "drt__repair_antennas__iter_3__global_route__fastroute__finalization_s": 0.000159102, + "drt__repair_antennas__iter_3__global_route__fastroute__initial_rsmt_s": 2.8963e-05, + "drt__repair_antennas__iter_3__global_route__fastroute__route_l_s": 1.4762e-05, + "drt__repair_antennas__iter_3__global_route__fastroute__congestion_rsmt_s": 9.996e-05, + "drt__repair_antennas__iter_3__global_route__fastroute__new_route_l_s": 5.459e-06, + "drt__repair_antennas__iter_3__global_route__fastroute__spiral_s": 7.181e-06, + "drt__repair_antennas__iter_3__global_route__fastroute__route_z_s": 1.973e-06, + "drt__repair_antennas__iter_3__global_route__fastroute__monotonic_s": 0.00120386, + "drt__repair_antennas__iter_3__global_route__fastroute__overflow_iterations_s": 5.81e-07, + "drt__repair_antennas__iter_3__global_route__fastroute__finalization_s": 7.7987e-05, "drt__repair_antennas__iter_3__global_route__fastroute__snapshot_batch_route_s": 0, "drt__repair_antennas__iter_3__global_route__fastroute__snapshot_batch_apply_s": 0, "drt__repair_antennas__iter_3__global_route__fastroute__snapshot_batch_sync_s": 0, "drt__repair_antennas__iter_3__global_route__fastroute__snapshot_batch_count": 0, "drt__repair_antennas__iter_3__global_route__fastroute__snapshot_batch_nets": 0, "drt__repair_antennas__iter_3__global_route__fastroute__snapshot_batch_wave_count": 0, - "drt__repair_antennas__iter_3__global_route__vias": 90, - "drt__repair_antennas__iter_3__antenna_diodes_count": 341, - "drt__repair_antennas__iter_3__route__drc_errors__iter:0": 22, - "drt__repair_antennas__iter_3__route__wirelength__iter:0": 2191130, - "drt__repair_antennas__iter_3__route__drc_errors__iter:1": 4, - "drt__repair_antennas__iter_3__route__wirelength__iter:1": 2191134, - "drt__repair_antennas__iter_3__route__drc_errors__iter:2": 1, - "drt__repair_antennas__iter_3__route__wirelength__iter:2": 2191135, - "drt__repair_antennas__iter_3__route__drc_errors__iter:3": 0, - "drt__repair_antennas__iter_3__route__wirelength__iter:3": 2191134, + "drt__repair_antennas__iter_3__global_route__vias": 68, + "drt__repair_antennas__iter_3__antenna_diodes_count": 306, + "drt__repair_antennas__iter_3__route__drc_errors__iter:0": 0, + "drt__repair_antennas__iter_3__route__wirelength__iter:0": 2190343, "drt__repair_antennas__iter_3__route__drc_errors": 0, - "drt__repair_antennas__iter_3__route__wirelength": 2191134, - "drt__repair_antennas__iter_3__route__vias": 356585, - "drt__repair_antennas__iter_3__route__vias__singlecut": 356585, + "drt__repair_antennas__iter_3__route__wirelength": 2190343, + "drt__repair_antennas__iter_3__route__vias": 355872, + "drt__repair_antennas__iter_3__route__vias__singlecut": 355872, "drt__repair_antennas__iter_3__route__vias__multicut": 0, - "drt__repair_antennas__iter_3__antenna__violating__nets": 1, - "drt__repair_antennas__iter_3__antenna__violating__pins": 1, - "drt__repair_antennas__iter_4__utilization__before__dpl": 31.6967, - "drt__repair_antennas__iter_4__negotiation__converge__phase_1__iteration": 0, - "drt__repair_antennas__iter_4__global_route__fastroute__run_s": 0, - "drt__repair_antennas__iter_4__global_route__fastroute__initial_rsmt_s": 5.5728e-05, - "drt__repair_antennas__iter_4__global_route__fastroute__route_l_s": 6.8819e-05, - "drt__repair_antennas__iter_4__global_route__fastroute__congestion_rsmt_s": 5.4221e-05, - "drt__repair_antennas__iter_4__global_route__fastroute__new_route_l_s": 1.1434e-05, - "drt__repair_antennas__iter_4__global_route__fastroute__spiral_s": 1.2843e-05, - "drt__repair_antennas__iter_4__global_route__fastroute__route_z_s": 3.517e-06, - "drt__repair_antennas__iter_4__global_route__fastroute__monotonic_s": 0.0020677, - "drt__repair_antennas__iter_4__global_route__fastroute__overflow_iterations_s": 5.63e-07, - "drt__repair_antennas__iter_4__global_route__fastroute__finalization_s": 0.000165546, - "drt__repair_antennas__iter_4__global_route__fastroute__snapshot_batch_route_s": 0, - "drt__repair_antennas__iter_4__global_route__fastroute__snapshot_batch_apply_s": 0, - "drt__repair_antennas__iter_4__global_route__fastroute__snapshot_batch_sync_s": 0, - "drt__repair_antennas__iter_4__global_route__fastroute__snapshot_batch_count": 0, - "drt__repair_antennas__iter_4__global_route__fastroute__snapshot_batch_nets": 0, - "drt__repair_antennas__iter_4__global_route__fastroute__snapshot_batch_wave_count": 0, - "drt__repair_antennas__iter_4__global_route__vias": 97, - "drt__repair_antennas__iter_4__antenna_diodes_count": 342, - "drt__repair_antennas__iter_4__route__drc_errors__iter:0": 18, - "drt__repair_antennas__iter_4__route__wirelength__iter:0": 2191134, - "drt__repair_antennas__iter_4__route__drc_errors__iter:1": 3, - "drt__repair_antennas__iter_4__route__wirelength__iter:1": 2191136, - "drt__repair_antennas__iter_4__route__drc_errors__iter:2": 0, - "drt__repair_antennas__iter_4__route__wirelength__iter:2": 2191137, - "drt__repair_antennas__iter_4__route__drc_errors": 0, - "drt__repair_antennas__iter_4__route__wirelength": 2191137, - "drt__repair_antennas__iter_4__route__vias": 356588, - "drt__repair_antennas__iter_4__route__vias__singlecut": 356588, - "drt__repair_antennas__iter_4__route__vias__multicut": 0, - "drt__repair_antennas__iter_4__antenna__violating__nets": 1, - "drt__repair_antennas__iter_4__antenna__violating__pins": 1, - "drt__antenna__violating__nets": 1, - "drt__antenna__violating__pins": 1, - "DRT::ANT::errors": "1", + "drt__repair_antennas__iter_3__antenna__violating__nets": 0, + "drt__repair_antennas__iter_3__antenna__violating__pins": 0, + "drt__antenna__violating__nets": 0, + "drt__antenna__violating__pins": 0, + "DRT::ANT::errors": "0", "design__violations": 0, "timing__drv__floating__nets": 0, "timing__drv__floating__pins": 0, - "DRT::worst_slack_min": "-0.20025182079356746", - "DRT::worst_slack_max": "-0.3879181530240422", - "DRT::tns_max": "-2.4923361857554163", - "DRT::clock_skew": "0.1529409975287545", - "DRT::max_slew_slack": "-47.5749671459198", + "DRT::worst_slack_min": "-0.03422051627814596", + "DRT::worst_slack_max": "-0.37044057758688353", + "DRT::tns_max": "-2.1629605385647634", + "DRT::clock_skew": "0.15151436090176312", + "DRT::max_slew_slack": "-67.05471873283386", "DRT::max_fanout_slack": "100.0", - "DRT::max_capacitance_slack": "10.973870261833623", + "DRT::max_capacitance_slack": "2.0879311519598485", "DRT::clock_period": "6.387000", - "flow__warnings__count": 217, + "flow__warnings__count": 190, "flow__errors__count": 0, - "flow__warnings__count:DRT-0120": 182, + "flow__warnings__count:DRT-0120": 156, "flow__warnings__count:DRT-0349": 10, "flow__warnings__count:GPL-0302": 2, - "flow__warnings__count:GRT-0243": 2, - "flow__warnings__count:GRT-0273": 2, + "flow__warnings__count:GRT-0243": 1, + "flow__warnings__count:GRT-0273": 1, "flow__warnings__count:GRT-0281": 5, + "flow__warnings__count:GRT-0297": 1, "flow__warnings__count:IFP-0028": 1, "flow__warnings__count:ORD-0046": 9, "flow__warnings__count:PDN-1051": 2, "flow__warnings__count:RCX-0514": 1, "flow__warnings__count:STA-0441": 1, - "flow__warnings__type_count": 11 + "flow__warnings__type_count": 12 } \ No newline at end of file diff --git a/test/jpeg_sky130hs.metrics_limits b/test/jpeg_sky130hs.metrics_limits index 28a4c52fac..cb0f9dcbf9 100644 --- a/test/jpeg_sky130hs.metrics_limits +++ b/test/jpeg_sky130hs.metrics_limits @@ -1,24 +1,24 @@ { "IFP::instance_count" : "59841.6" - ,"DPL::design_area" : "829032.0" - ,"DPL::utilization" : "37.92" - ,"RSZ::repair_design_buffer_count" : "645" + ,"DPL::design_area" : "829876.7999999999" + ,"DPL::utilization" : "38.04" + ,"RSZ::repair_design_buffer_count" : "661" ,"RSZ::max_slew_slack" : "0" ,"RSZ::max_capacitance_slack" : "0" ,"RSZ::max_fanout_slack" : "0" - ,"RSZ::worst_slack_min" : "-0.6297402778932719" - ,"RSZ::worst_slack_max" : "-0.632075965158536" + ,"RSZ::worst_slack_min" : "-0.6368432629611048" + ,"RSZ::worst_slack_max" : "-0.637272697239175" ,"RSZ::tns_max" : "-3185.0691600000005" - ,"RSZ::hold_buffer_count" : "14" + ,"RSZ::hold_buffer_count" : "25" ,"GRT::ANT::errors" : "0" ,"DRT::drv" : "0" - ,"DRT::worst_slack_min" : "-0.8389518207935676" - ,"DRT::worst_slack_max" : "-1.0266181530240424" - ,"DRT::tns_max" : "-3187.561496185756" - ,"DRT::clock_skew" : "0.1835291970345054" - ,"DRT::max_slew_slack" : "-57.08996057510376" + ,"DRT::worst_slack_min" : "-0.672920516278146" + ,"DRT::worst_slack_max" : "-1.0091405775868836" + ,"DRT::tns_max" : "-3187.232120538565" + ,"DRT::clock_skew" : "0.18181723308211575" + ,"DRT::max_slew_slack" : "-80.46566247940063" ,"DRT::max_capacitance_slack" : "0" ,"DRT::max_fanout_slack" : "0" ,"DRT::clock_period" : "6.387" - ,"DRT::ANT::errors" : "1" + ,"DRT::ANT::errors" : "0" } diff --git a/test/regression.bzl b/test/regression.bzl index 795385f7bf..1ad437f3d8 100644 --- a/test/regression.bzl +++ b/test/regression.bzl @@ -32,6 +32,7 @@ export REGRESSION_TEST={REGRESSION_TEST} export TEST_GOLDEN_FILE={TEST_GOLDEN_FILE} export TEST_CHECK_LOG={TEST_CHECK_LOG} export TEST_CHECK_PASSFAIL={TEST_CHECK_PASSFAIL} +export TEST_CHECK_METRICS={TEST_CHECK_METRICS} export TEST_EXPECTED_EXIT_CODE={TEST_EXPECTED_EXIT_CODE} exec "{bazel_test_sh}" "$@" """.format( @@ -44,6 +45,7 @@ exec "{bazel_test_sh}" "$@" TEST_GOLDEN_FILE = ctx.file.golden_file.short_path if ctx.file.golden_file else "", TEST_CHECK_LOG = "True" if ctx.attr.check_log else "False", TEST_CHECK_PASSFAIL = "True" if ctx.attr.check_passfail else "False", + TEST_CHECK_METRICS = "True" if ctx.attr.check_metrics else "False", TEST_EXPECTED_EXIT_CODE = str(ctx.attr.expected_exit_code), ), is_executable = True, @@ -83,6 +85,10 @@ regression_rule_test = rule( doc = "Diff the output log against .ok", default = True, ), + "check_metrics": attr.bool( + doc = "Compare the flow result metrics against .metrics_limits", + default = False, + ), "check_passfail": attr.bool( doc = "Check the output log contains pass or OK in the last line", default = False, diff --git a/test/regression_test.sh b/test/regression_test.sh index 9df3cdcf3d..3d1b955da6 100755 --- a/test/regression_test.sh +++ b/test/regression_test.sh @@ -3,8 +3,10 @@ set -e set -o pipefail +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" RESULTS_DIR="${RESULTS_DIR:-results}" LOG_FILE="${RESULTS_DIR}/$TEST_NAME-$TEST_EXT.log" +METRICS_FILE="${RESULTS_DIR}/$TEST_NAME-$TEST_EXT.metrics" mkdir -p ${RESULTS_DIR} @@ -23,7 +25,12 @@ python) fi ;; *) - CMD="$OPENROAD_EXE -no_splash -no_init -exit $TEST_NAME.$TEST_EXT" + # -metrics makes openroad write the json the limits are compared against. + METRICS_OPT="" + if [ "$TEST_CHECK_METRICS" == "True" ]; then + METRICS_OPT="-metrics $METRICS_FILE" + fi + CMD="$OPENROAD_EXE -no_splash -no_init -exit $METRICS_OPT $TEST_NAME.$TEST_EXT" ;; esac @@ -71,3 +78,10 @@ if [ "$TEST_CHECK_PASSFAIL" == "True" ]; then exit 1 fi fi + +if [ "$TEST_CHECK_METRICS" == "True" ]; then + echo "Metrics: $METRICS_FILE vs $TEST_NAME.metrics_limits" + METRICS_FILE="$METRICS_FILE" \ + METRICS_LIMITS_FILE="$TEST_NAME.metrics_limits" \ + "$OPENROAD_EXE" -no_splash -no_init -exit "$SCRIPT_DIR/check_metrics.tcl" +fi diff --git a/test/regression_tests.tcl b/test/regression_tests.tcl index c30f85e7cd..a2bfafc9d5 100644 --- a/test/regression_tests.tcl +++ b/test/regression_tests.tcl @@ -3,6 +3,7 @@ record_flow_tests { gcd_nangate45 gcd_sky130hd + gcd_sky130hd_fast_slow gcd_sky130hs gcd_asap7