diff --git a/src/rsz/test/CMakeLists.txt b/src/rsz/test/CMakeLists.txt index c2af54ae80b..e3f2fa5d103 100644 --- a/src/rsz/test/CMakeLists.txt +++ b/src/rsz/test/CMakeLists.txt @@ -132,6 +132,15 @@ or_integration_tests( set_dont_touch1 set_dont_use1 split_load_hier + repair_fanout6_multi + repair_fanout7_multi + repair_fanout8_multi + repair_setup1_multi + repair_setup2_multi + repair_setup3_multi + repair_setup4_multi + repair_setup6_multi + repair_setup7_multi PASSFAIL_TESTS cpp_tests ) diff --git a/src/rsz/test/repair_fanout6.tcl b/src/rsz/test/repair_fanout6.tcl index 61a7bbe2c72..1174d36eca5 100644 --- a/src/rsz/test/repair_fanout6.tcl +++ b/src/rsz/test/repair_fanout6.tcl @@ -1,6 +1,7 @@ # fanout 8000 max_fanout 20 stress test # modified to use large default max_transition, max_capacitance source "helpers.tcl" +if {[expr {![info exists repair_args]}]} { set repair_args {} } read_liberty repair_fanout6.lib read_lef sky130hd/sky130hd.tlef read_lef sky130hd/sky130hd_std_cell.lef @@ -27,5 +28,5 @@ report_check_types -max_fanout # but there is no point in inserting extra buffers to fix non critical # paths. What matters is repair_timning's ability to optimize the timing # when it matters. -repair_timing -setup -repair_tns 0 -skip_gate_cloning +repair_timing -setup -repair_tns 0 -skip_gate_cloning {*}$repair_args report_worst_slack -max diff --git a/src/rsz/test/repair_fanout6_multi.ok b/src/rsz/test/repair_fanout6_multi.ok new file mode 100644 index 00000000000..eca82118928 --- /dev/null +++ b/src/rsz/test/repair_fanout6_multi.ok @@ -0,0 +1,22 @@ +[INFO ODB-0227] LEF file: sky130hd/sky130hd.tlef, created 13 layers, 25 vias +[INFO ODB-0227] LEF file: sky130hd/sky130hd_std_cell.lef, created 437 library cells +[INFO ODB-0128] Design: test +[INFO ODB-0130] Created 8002 pins. +[INFO ODB-0131] Created 8001 components and 40005 component-terminals. +[INFO ODB-0133] Created 8003 nets and 24003 connections. +[INFO RSZ-0035] Found 1 fanout violations. +[INFO RSZ-0038] Inserted 508 buffers in 1 nets. +[INFO RSZ-0039] Resized 509 instances. +worst slack -8.67 +max fanout + +Pin Limit Fanout Slack +--------------------------------------------------------- +fanout1/X 20 20 0 (MET) + +[INFO RSZ-0094] Found 6400 endpoints with setup violations. +[INFO RSZ-0099] Repairing 1 out of 6400 (0.00%) violating endpoints... +[INFO RSZ-0045] Inserted 14 buffers, 1 to split loads. +[INFO RSZ-0041] Resized 175 instances. +[WARNING RSZ-0062] Unable to repair all setup violations. +worst slack -3.09 diff --git a/src/rsz/test/repair_fanout6_multi.tcl b/src/rsz/test/repair_fanout6_multi.tcl new file mode 100644 index 00000000000..8ac4026efee --- /dev/null +++ b/src/rsz/test/repair_fanout6_multi.tcl @@ -0,0 +1,2 @@ +set repair_args [list -max_repairs_per_iter 10] +source "repair_fanout6.tcl" diff --git a/src/rsz/test/repair_fanout7.tcl b/src/rsz/test/repair_fanout7.tcl index 5417e092509..32700781d60 100644 --- a/src/rsz/test/repair_fanout7.tcl +++ b/src/rsz/test/repair_fanout7.tcl @@ -2,7 +2,10 @@ source "helpers.tcl" source "hi_fanout.tcl" -set def_filename [make_result_file "repair_fanout7.def"] +if {[expr {![info exists def_filename]}]} { + set def_filename [make_result_file "repair_fanout7.def"] +} +if {[expr {![info exists repair_args]}]} { set repair_args {} } # Gates we want to eventually NAND2_X4, NAND3_X4, NAND4_X4 write_clone_test_def $def_filename NAND2_X4 150 @@ -33,6 +36,6 @@ estimate_parasitics -placement # Repair the high fanout net hopefully with gate cloning code. report_worst_slack -max write_verilog_for_eqy repair_fanout7 before "None" -repair_timing -setup -repair_tns 100 -verbose +repair_timing -setup -repair_tns 100 -verbose {*}$repair_args run_equivalence_test repair_fanout7 ./Nangate45/work_around_yosys/ "None" report_worst_slack -max diff --git a/src/rsz/test/repair_fanout7_multi.ok b/src/rsz/test/repair_fanout7_multi.ok new file mode 100644 index 00000000000..a6f16a78702 --- /dev/null +++ b/src/rsz/test/repair_fanout7_multi.ok @@ -0,0 +1,437 @@ +[INFO ODB-0227] LEF file: Nangate45/Nangate45.lef, created 22 layers, 27 vias, 135 library cells +[INFO ODB-0128] Design: hi_fanout +[INFO ODB-0130] Created 152 pins. +[INFO ODB-0131] Created 153 components and 917 component-terminals. +[INFO ODB-0132] Created 2 special nets and 306 connections. +[INFO ODB-0133] Created 155 nets and 459 connections. +worst slack -23.63 +[INFO RSZ-0094] Found 150 endpoints with setup violations. +[INFO RSZ-0099] Repairing 150 out of 150 (100.00%) violating endpoints... + Iter | Removed | Resized | Inserted | Cloned | Pin | WNS | TNS | Viol | Worst + | Buffers | Gates | Buffers | Gates | Swaps | | | Endpts | Endpt +--------------------------------------------------------------------------------------------------- + 0 | 0 | 0 | 0 | 0 | 0 | -23.631 | -2304.8 | 150 | load143/D + 10 | 0 | 3 | 6 | 3 | 3 | -1.878 | -108.2 | 150 | load48/D + 14 | 0 | 3 | 14 | 3 | 4 | -1.293 | -98.5 | 150 | load99/D + 20 | 0 | 4 | 24 | 5 | 5 | -8.602 | -375.4 | 150 | load107/D + 25 | 0 | 3 | 17 | 3 | 4 | -18.864 | -1356.4 | 150 | load143/D + 30 | 0 | 5 | 21 | 4 | 4 | -7.049 | -339.3 | 150 | load149/D + 40 | 0 | 9 | 36 | 5 | 5 | -7.083 | -410.3 | 150 | load149/D + 43 | 0 | 9 | 25 | 4 | 4 | -13.611 | -826.2 | 150 | load140/D + 50 | 0 | 12 | 38 | 5 | 4 | -7.083 | -493.8 | 150 | load149/D + 51 | 0 | 12 | 30 | 5 | 4 | -10.879 | -625.7 | 150 | load143/D + 58 | 0 | 15 | 36 | 5 | 4 | -7.083 | -492.9 | 150 | load149/D + 60 | 0 | 15 | 36 | 6 | 4 | -7.083 | -499.4 | 150 | load149/D + 60 | 0 | 15 | 36 | 6 | 4 | -7.083 | -499.4 | 150 | load149/D + 61 | 0 | 15 | 36 | 6 | 4 | -7.083 | -499.4 | 150 | load149/D + 62 | 0 | 15 | 36 | 6 | 4 | -7.083 | -499.4 | 150 | load149/D + 67 | 0 | 18 | 36 | 6 | 4 | -7.083 | -499.4 | 150 | load149/D + 70 | 0 | 20 | 46 | 6 | 4 | -7.083 | -454.8 | 150 | load149/D + 74 | 0 | 26 | 46 | 6 | 4 | -7.083 | -453.1 | 150 | load149/D + 79 | 0 | 29 | 46 | 6 | 4 | -7.083 | -453.1 | 150 | load149/D + 80 | 0 | 29 | 46 | 6 | 4 | -7.083 | -453.1 | 150 | load149/D + 80 | 0 | 29 | 46 | 6 | 4 | -7.083 | -453.1 | 150 | load149/D + 81 | 0 | 29 | 46 | 6 | 4 | -7.083 | -453.1 | 150 | load149/D + 83 | 0 | 29 | 46 | 6 | 4 | -7.083 | -453.1 | 150 | load149/D + 84 | 0 | 29 | 46 | 6 | 4 | -7.083 | -453.1 | 150 | load149/D + 90 | 0 | 34 | 48 | 6 | 4 | -7.083 | -456.4 | 150 | load149/D + 95 | 0 | 36 | 47 | 6 | 4 | -7.083 | -453.1 | 150 | load149/D + 97 | 0 | 36 | 47 | 6 | 4 | -7.083 | -453.1 | 150 | load149/D + 100 | 0 | 39 | 47 | 6 | 4 | -7.083 | -456.4 | 150 | load149/D + 108 | 0 | 43 | 48 | 6 | 4 | -7.083 | -453.1 | 150 | load149/D + 110 | 0 | 44 | 48 | 6 | 4 | -7.083 | -456.5 | 150 | load149/D + 110 | 0 | 43 | 48 | 6 | 4 | -7.083 | -453.1 | 150 | load149/D + 111 | 0 | 43 | 48 | 6 | 4 | -7.083 | -453.1 | 150 | load149/D + 113 | 0 | 43 | 48 | 6 | 4 | -7.083 | -453.1 | 150 | load149/D + 115 | 0 | 43 | 48 | 6 | 4 | -7.083 | -453.1 | 150 | load149/D + 117 | 0 | 43 | 48 | 6 | 4 | -7.083 | -453.1 | 150 | load149/D + 120 | 0 | 45 | 48 | 6 | 4 | -7.083 | -453.9 | 150 | load149/D + 125 | 0 | 47 | 49 | 6 | 4 | -7.083 | -453.1 | 150 | load149/D + 129 | 0 | 49 | 49 | 6 | 4 | -7.083 | -453.1 | 150 | load149/D + 130 | 0 | 49 | 49 | 6 | 4 | -7.083 | -453.1 | 150 | load149/D + 132 | 0 | 50 | 49 | 6 | 4 | -7.083 | -453.1 | 150 | load149/D + 134 | 0 | 50 | 49 | 6 | 4 | -7.083 | -453.1 | 150 | load149/D + 140 | 0 | 54 | 51 | 6 | 4 | -7.083 | -453.1 | 150 | load149/D + 142 | 0 | 54 | 50 | 6 | 4 | -7.083 | -453.1 | 150 | load149/D + 144 | 0 | 54 | 50 | 6 | 4 | -7.083 | -453.1 | 150 | load149/D + 150 | 0 | 58 | 52 | 6 | 4 | -7.083 | -453.1 | 150 | load149/D + 152 | 0 | 58 | 51 | 6 | 4 | -7.083 | -453.4 | 150 | load149/D + 157 | 0 | 62 | 53 | 6 | 4 | -7.083 | -453.7 | 150 | load149/D + 160 | 0 | 64 | 53 | 6 | 4 | -7.083 | -455.5 | 150 | load149/D + 161 | 0 | 64 | 53 | 6 | 4 | -7.083 | -454.3 | 150 | load149/D + 164 | 0 | 65 | 53 | 6 | 4 | -7.083 | -454.3 | 150 | load149/D + 167 | 0 | 66 | 53 | 6 | 4 | -7.083 | -454.3 | 150 | load149/D + 170 | 0 | 68 | 53 | 6 | 4 | -7.083 | -458.8 | 150 | load149/D + 170 | 0 | 67 | 53 | 6 | 4 | -7.083 | -454.3 | 150 | load149/D + 171 | 0 | 67 | 53 | 6 | 4 | -7.083 | -454.3 | 150 | load149/D + 173 | 0 | 67 | 53 | 6 | 4 | -7.083 | -454.3 | 150 | load149/D + 175 | 0 | 67 | 53 | 6 | 4 | -7.083 | -454.3 | 150 | load149/D + 180 | 0 | 70 | 72 | 7 | 4 | -4.223 | -319.2 | 150 | load127/D + 188 | 0 | 73 | 58 | 7 | 4 | -4.223 | -355.5 | 150 | load127/D + 190 | 0 | 74 | 70 | 7 | 4 | -4.221 | -318.8 | 150 | load127/D + 198 | 0 | 78 | 75 | 7 | 4 | -4.221 | -317.9 | 150 | load127/D + 200 | 0 | 80 | 75 | 7 | 4 | -4.221 | -318.0 | 150 | load127/D + 202 | 0 | 78 | 75 | 7 | 4 | -4.221 | -317.9 | 150 | load127/D + 206 | 0 | 78 | 75 | 7 | 4 | -4.221 | -317.9 | 150 | load127/D + 210 | 0 | 82 | 75 | 7 | 4 | -4.221 | -318.2 | 150 | load127/D + 210 | 0 | 78 | 75 | 7 | 4 | -4.221 | -317.9 | 150 | load127/D + 218 | 0 | 82 | 76 | 7 | 4 | -4.221 | -317.8 | 150 | load127/D + 220 | 0 | 83 | 76 | 7 | 4 | -3.971 | -299.8 | 150 | load83/D + 223 | 0 | 83 | 87 | 7 | 5 | -3.971 | -280.2 | 150 | load83/D + 225 | 0 | 83 | 87 | 7 | 5 | -3.971 | -280.2 | 150 | load83/D + 227 | 0 | 83 | 87 | 7 | 5 | -3.971 | -280.2 | 150 | load83/D + 230 | 0 | 86 | 87 | 7 | 5 | -3.971 | -280.9 | 150 | load83/D + 231 | 0 | 83 | 87 | 7 | 5 | -3.971 | -280.2 | 150 | load83/D + 232 | 0 | 83 | 87 | 7 | 5 | -3.971 | -280.2 | 150 | load83/D + 233 | 0 | 83 | 87 | 7 | 5 | -3.971 | -280.2 | 150 | load83/D + 238 | 0 | 86 | 87 | 7 | 5 | -3.971 | -280.2 | 150 | load83/D + 240 | 0 | 88 | 87 | 7 | 5 | -3.971 | -280.6 | 150 | load83/D + 241 | 0 | 87 | 87 | 7 | 5 | -3.971 | -280.2 | 150 | load83/D + 250 | 0 | 97 | 89 | 7 | 5 | -3.971 | -280.7 | 150 | load83/D + 252 | 0 | 96 | 88 | 7 | 5 | -3.971 | -280.5 | 150 | load83/D + 260 | 0 | 103 | 90 | 7 | 5 | -3.971 | -280.8 | 150 | load83/D + 266 | 0 | 104 | 90 | 7 | 5 | -3.971 | -280.5 | 150 | load83/D + 268 | 0 | 104 | 90 | 7 | 5 | -3.971 | -280.5 | 150 | load83/D + 270 | 0 | 106 | 90 | 7 | 5 | -3.971 | -281.3 | 150 | load83/D + 271 | 0 | 105 | 90 | 7 | 5 | -3.971 | -280.5 | 150 | load83/D + 274 | 0 | 106 | 90 | 7 | 5 | -3.971 | -280.5 | 150 | load83/D + 277 | 0 | 107 | 90 | 7 | 5 | -3.971 | -280.5 | 150 | load83/D + 280 | 0 | 109 | 90 | 7 | 5 | -3.971 | -282.2 | 150 | load83/D + 280 | 0 | 108 | 90 | 7 | 5 | -3.971 | -280.5 | 150 | load83/D + 290 | 0 | 118 | 92 | 7 | 5 | -3.971 | -280.4 | 150 | load83/D + 291 | 0 | 116 | 91 | 7 | 5 | -3.971 | -280.3 | 150 | load83/D + 298 | 0 | 119 | 92 | 7 | 5 | -3.971 | -280.3 | 150 | load83/D + 300 | 0 | 120 | 92 | 7 | 5 | -3.971 | -280.8 | 150 | load83/D + 300 | 0 | 119 | 92 | 7 | 5 | -3.971 | -280.3 | 150 | load83/D + 302 | 0 | 119 | 92 | 7 | 5 | -3.971 | -280.3 | 150 | load83/D + 304 | 0 | 119 | 92 | 7 | 5 | -3.971 | -280.3 | 150 | load83/D + 306 | 0 | 119 | 92 | 7 | 5 | -3.971 | -280.3 | 150 | load83/D + 308 | 0 | 119 | 92 | 7 | 5 | -3.971 | -280.3 | 150 | load83/D + 310 | 0 | 121 | 92 | 7 | 5 | -3.971 | -281.2 | 150 | load83/D + 311 | 0 | 120 | 92 | 7 | 5 | -3.971 | -280.3 | 150 | load83/D + 314 | 0 | 121 | 92 | 7 | 5 | -3.971 | -280.3 | 150 | load83/D + 320 | 0 | 126 | 92 | 7 | 5 | -3.971 | -282.2 | 150 | load83/D + 330 | 0 | 134 | 96 | 7 | 5 | -3.971 | -282.1 | 150 | load83/D + 340 | 0 | 142 | 100 | 7 | 5 | -3.971 | -282.3 | 150 | load83/D + 342 | 0 | 138 | 96 | 7 | 5 | -3.971 | -280.4 | 150 | load83/D + 350 | 0 | 145 | 98 | 7 | 5 | -3.971 | -282.1 | 150 | load83/D + 360 | 0 | 154 | 100 | 7 | 5 | -3.971 | -282.4 | 150 | load83/D + 370 | 0 | 162 | 104 | 7 | 5 | -3.971 | -282.4 | 150 | load83/D + 377 | 0 | 159 | 102 | 7 | 5 | -3.971 | -280.5 | 150 | load83/D + 380 | 0 | 161 | 102 | 7 | 5 | -3.971 | -280.4 | 150 | load83/D + 384 | 0 | 164 | 102 | 7 | 5 | -3.971 | -280.4 | 150 | load83/D + 390 | 0 | 169 | 104 | 7 | 5 | -3.971 | -280.5 | 150 | load83/D + 392 | 0 | 168 | 103 | 7 | 5 | -3.971 | -280.4 | 150 | load83/D + 400 | 0 | 176 | 105 | 7 | 5 | -3.971 | -280.5 | 150 | load83/D + 406 | 0 | 177 | 105 | 7 | 5 | -3.971 | -280.5 | 150 | load83/D + 410 | 0 | 180 | 105 | 7 | 5 | -3.971 | -280.4 | 150 | load83/D + 411 | 0 | 180 | 105 | 7 | 5 | -3.971 | -280.4 | 150 | load83/D + 420 | 0 | 187 | 110 | 7 | 5 | -3.971 | -280.9 | 150 | load83/D + 430 | 0 | 195 | 114 | 7 | 5 | -3.971 | -281.0 | 150 | load83/D + 431 | 0 | 190 | 109 | 7 | 5 | -3.971 | -280.4 | 150 | load83/D + 440 | 0 | 196 | 120 | 8 | 5 | -7.367 | -381.9 | 150 | load11/D + 450 | 0 | 204 | 124 | 8 | 5 | -7.367 | -380.8 | 150 | load11/D + 460 | 0 | 212 | 128 | 8 | 5 | -7.367 | -380.6 | 150 | load11/D + 470 | 0 | 221 | 130 | 8 | 5 | -7.367 | -382.0 | 150 | load11/D + 480 | 0 | 229 | 134 | 8 | 5 | -7.367 | -380.9 | 150 | load11/D + 482 | 0 | 222 | 118 | 7 | 5 | -5.377 | -395.0 | 150 | load11/D + 490 | 0 | 227 | 131 | 8 | 5 | -4.529 | -348.5 | 150 | load14/D + 494 | 0 | 231 | 131 | 8 | 5 | -4.514 | -348.9 | 150 | load14/D + 495 | 0 | 231 | 131 | 8 | 5 | -4.514 | -348.9 | 150 | load14/D + 500 | 0 | 235 | 131 | 8 | 5 | -4.642 | -351.9 | 150 | load14/D + 504 | 0 | 235 | 132 | 8 | 5 | -4.514 | -376.5 | 150 | load14/D + 510 | 0 | 239 | 142 | 8 | 5 | -4.642 | -358.0 | 150 | load14/D + 513 | 0 | 239 | 142 | 8 | 5 | -4.514 | -355.1 | 150 | load14/D + 520 | 0 | 245 | 142 | 8 | 5 | -4.801 | -366.3 | 150 | load14/D + 521 | 0 | 243 | 142 | 8 | 5 | -4.514 | -355.1 | 150 | load14/D + 527 | 0 | 247 | 142 | 8 | 5 | -4.514 | -355.1 | 150 | load14/D + 530 | 0 | 249 | 142 | 8 | 5 | -4.541 | -353.8 | 150 | load14/D + 533 | 0 | 251 | 142 | 8 | 5 | -4.514 | -355.1 | 150 | load14/D + 539 | 0 | 255 | 142 | 8 | 5 | -4.514 | -355.1 | 150 | load14/D + 540 | 0 | 255 | 142 | 8 | 5 | -4.514 | -355.1 | 150 | load14/D + 547 | 0 | 259 | 142 | 8 | 5 | -4.514 | -355.1 | 150 | load14/D + 550 | 0 | 261 | 142 | 8 | 5 | -4.541 | -353.8 | 150 | load14/D + 559 | 0 | 266 | 143 | 8 | 5 | -4.514 | -355.1 | 150 | load14/D + 560 | 0 | 266 | 143 | 8 | 5 | -4.514 | -355.1 | 150 | load14/D + 570 | 0 | 276 | 143 | 8 | 5 | -4.801 | -365.5 | 150 | load14/D + 572 | 0 | 275 | 143 | 8 | 5 | -4.514 | -355.1 | 150 | load14/D + 580 | 0 | 282 | 143 | 8 | 5 | -4.801 | -365.6 | 150 | load14/D + 585 | 0 | 284 | 143 | 8 | 5 | -4.514 | -355.1 | 150 | load14/D + 586 | 0 | 284 | 143 | 8 | 5 | -4.514 | -355.1 | 150 | load14/D + 590 | 0 | 287 | 143 | 8 | 5 | -4.514 | -356.4 | 150 | load14/D + 590 | 0 | 286 | 143 | 8 | 5 | -4.514 | -355.2 | 150 | load14/D + 598 | 0 | 290 | 143 | 8 | 5 | -4.514 | -355.2 | 150 | load14/D + 600 | 0 | 291 | 143 | 8 | 5 | -4.523 | -354.1 | 150 | load14/D + 610 | 0 | 300 | 145 | 8 | 5 | -4.801 | -366.6 | 150 | load14/D + 613 | 0 | 298 | 144 | 8 | 5 | -4.514 | -355.2 | 150 | load14/D + 620 | 0 | 304 | 144 | 8 | 5 | -4.801 | -366.0 | 150 | load14/D + 626 | 0 | 306 | 144 | 8 | 5 | -4.514 | -355.2 | 150 | load14/D + 630 | 0 | 309 | 144 | 8 | 5 | -4.576 | -355.1 | 150 | load14/D + 640 | 0 | 318 | 146 | 8 | 5 | -4.801 | -366.2 | 150 | load14/D + 650 | 0 | 327 | 148 | 8 | 5 | -4.801 | -366.9 | 150 | load14/D + 660 | 0 | 335 | 152 | 8 | 5 | -4.801 | -366.4 | 150 | load14/D + 670 | 0 | 343 | 156 | 8 | 5 | -4.801 | -366.4 | 150 | load14/D + 677 | 0 | 340 | 151 | 8 | 5 | -4.514 | -355.2 | 150 | load14/D + 680 | 0 | 342 | 151 | 8 | 5 | -4.541 | -353.9 | 150 | load14/D + 684 | 0 | 344 | 151 | 8 | 5 | -4.514 | -355.2 | 150 | load14/D + 690 | 0 | 349 | 151 | 8 | 5 | -4.801 | -366.1 | 150 | load14/D + 691 | 0 | 348 | 151 | 8 | 5 | -4.514 | -355.2 | 150 | load14/D + 698 | 0 | 352 | 151 | 8 | 5 | -4.514 | -355.2 | 150 | load14/D + 700 | 0 | 353 | 151 | 8 | 5 | -4.523 | -354.1 | 150 | load14/D + 710 | 0 | 362 | 153 | 8 | 5 | -4.801 | -366.1 | 150 | load14/D + 710 | 0 | 359 | 152 | 8 | 5 | -4.514 | -355.2 | 150 | load14/D + 720 | 0 | 367 | 154 | 8 | 5 | -4.801 | -366.1 | 150 | load14/D + 722 | 0 | 366 | 153 | 8 | 5 | -4.514 | -355.2 | 150 | load14/D + 730 | 0 | 373 | 153 | 8 | 5 | -4.801 | -365.6 | 150 | load14/D + 731 | 0 | 372 | 153 | 8 | 5 | -4.514 | -355.2 | 150 | load14/D + 740 | 0 | 380 | 153 | 8 | 5 | -4.801 | -365.6 | 150 | load14/D + 742 | 0 | 379 | 153 | 8 | 5 | -4.514 | -355.2 | 150 | load14/D + 750 | 0 | 386 | 153 | 8 | 5 | -4.801 | -365.6 | 150 | load14/D + 753 | 0 | 386 | 153 | 8 | 5 | -4.514 | -355.2 | 150 | load14/D + 760 | 0 | 390 | 161 | 8 | 6 | -3.971 | -320.0 | 150 | load83/D + 760 | 0 | 388 | 161 | 8 | 6 | -3.971 | -319.6 | 150 | load83/D + 763 | 0 | 388 | 161 | 8 | 6 | -3.971 | -319.6 | 150 | load83/D + 766 | 0 | 388 | 161 | 8 | 6 | -3.971 | -319.6 | 150 | load83/D + 768 | 0 | 388 | 161 | 8 | 6 | -3.971 | -319.6 | 150 | load83/D + 770 | 0 | 389 | 161 | 8 | 6 | -3.971 | -319.9 | 150 | load83/D + 770 | 0 | 388 | 161 | 8 | 6 | -3.971 | -319.6 | 150 | load83/D + 780 | 0 | 396 | 163 | 8 | 6 | -3.971 | -327.9 | 150 | load83/D + 786 | 0 | 397 | 163 | 8 | 6 | -3.971 | -318.1 | 150 | load83/D + 790 | 0 | 400 | 163 | 8 | 6 | -3.971 | -327.9 | 150 | load83/D + 790 | 0 | 399 | 163 | 8 | 6 | -3.971 | -318.1 | 150 | load83/D + 794 | 0 | 401 | 163 | 8 | 6 | -3.971 | -318.1 | 150 | load83/D + 799 | 0 | 403 | 163 | 8 | 6 | -3.971 | -318.1 | 150 | load83/D + 800 | 0 | 403 | 163 | 8 | 6 | -3.971 | -318.1 | 150 | load83/D + 808 | 0 | 408 | 163 | 8 | 6 | -3.971 | -318.1 | 150 | load83/D + 810 | 0 | 409 | 163 | 8 | 6 | -3.971 | -318.7 | 150 | load83/D + 810 | 0 | 408 | 163 | 8 | 6 | -3.971 | -318.1 | 150 | load83/D + 812 | 0 | 408 | 163 | 8 | 6 | -3.971 | -318.1 | 150 | load83/D + 816 | 0 | 409 | 163 | 8 | 6 | -3.971 | -318.2 | 150 | load83/D + 819 | 0 | 409 | 163 | 8 | 6 | -3.971 | -318.2 | 150 | load83/D + 820 | 0 | 409 | 163 | 8 | 6 | -3.971 | -318.2 | 150 | load83/D + 821 | 0 | 409 | 163 | 8 | 6 | -3.971 | -318.2 | 150 | load83/D + 823 | 0 | 409 | 163 | 8 | 6 | -3.971 | -318.2 | 150 | load83/D + 824 | 0 | 409 | 163 | 8 | 6 | -3.971 | -318.2 | 150 | load83/D + 830 | 0 | 414 | 163 | 8 | 6 | -3.971 | -328.0 | 150 | load83/D + 838 | 0 | 416 | 165 | 8 | 6 | -3.971 | -318.2 | 150 | load83/D + 840 | 0 | 417 | 165 | 8 | 6 | -3.971 | -319.0 | 150 | load83/D + 850 | 0 | 425 | 169 | 8 | 6 | -3.971 | -328.0 | 150 | load83/D + 852 | 0 | 423 | 167 | 8 | 6 | -3.971 | -318.2 | 150 | load83/D + 860 | 0 | 429 | 169 | 8 | 6 | -3.971 | -328.0 | 150 | load83/D + 865 | 0 | 429 | 169 | 8 | 6 | -3.971 | -318.2 | 150 | load83/D + 870 | 0 | 433 | 169 | 8 | 6 | -3.971 | -328.0 | 150 | load83/D + 870 | 0 | 431 | 169 | 8 | 6 | -3.971 | -318.2 | 150 | load83/D + 879 | 0 | 436 | 169 | 8 | 6 | -3.971 | -318.2 | 150 | load83/D + 880 | 0 | 436 | 169 | 8 | 6 | -3.971 | -318.2 | 150 | load83/D + 883 | 0 | 438 | 172 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 887 | 0 | 439 | 172 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 888 | 0 | 439 | 172 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 890 | 0 | 440 | 172 | 8 | 6 | -3.971 | -315.2 | 150 | load83/D + 892 | 0 | 440 | 172 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 900 | 0 | 446 | 174 | 8 | 6 | -3.971 | -315.2 | 150 | load83/D + 908 | 0 | 449 | 174 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 910 | 0 | 450 | 174 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 916 | 0 | 454 | 174 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 917 | 0 | 454 | 174 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 918 | 0 | 454 | 174 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 920 | 0 | 455 | 174 | 8 | 6 | -3.971 | -315.9 | 150 | load83/D + 930 | 0 | 463 | 178 | 8 | 6 | -3.971 | -324.6 | 150 | load83/D + 932 | 0 | 461 | 176 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 940 | 0 | 467 | 178 | 8 | 6 | -3.971 | -324.6 | 150 | load83/D + 945 | 0 | 467 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 950 | 0 | 471 | 178 | 8 | 6 | -3.971 | -324.6 | 150 | load83/D + 950 | 0 | 469 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 959 | 0 | 474 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 960 | 0 | 474 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 960 | 0 | 474 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 964 | 0 | 475 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 966 | 0 | 475 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 968 | 0 | 475 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 970 | 0 | 477 | 178 | 8 | 6 | -3.971 | -315.5 | 150 | load83/D + 970 | 0 | 475 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 972 | 0 | 475 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 974 | 0 | 475 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 976 | 0 | 475 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 977 | 0 | 475 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 980 | 0 | 478 | 178 | 8 | 6 | -3.971 | -316.4 | 150 | load83/D + 980 | 0 | 476 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 989 | 0 | 481 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 990 | 0 | 481 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 992 | 0 | 482 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 996 | 0 | 483 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 1000 | 0 | 487 | 178 | 8 | 6 | -3.971 | -316.5 | 150 | load83/D + 1002 | 0 | 485 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 1003* | 0 | 485 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 1004* | 0 | 485 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 1005* | 0 | 485 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 1006* | 0 | 485 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 1007* | 0 | 485 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 1008* | 0 | 485 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 1009* | 0 | 485 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 1010* | 0 | 485 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 1010* | 0 | 485 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 1011* | 0 | 485 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 1012* | 0 | 485 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 1013* | 0 | 485 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 1014* | 0 | 485 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 1015* | 0 | 485 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 1016* | 0 | 485 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 1017* | 0 | 485 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 1018* | 0 | 485 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 1019* | 0 | 485 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 1020* | 0 | 485 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 1020* | 0 | 485 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 1021* | 0 | 485 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 1022* | 0 | 485 | 178 | 8 | 6 | -3.971 | -315.1 | 150 | load83/D + 1026* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1027* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1028* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1029* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1030* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1030* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1031* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1032* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1033* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1034* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1035* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1036* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1037* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1038* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1039* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1040* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1040* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1041* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1042* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1043* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1044* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1045* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1046* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1047* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1048* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1049* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1050* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1050* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1051* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1052* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1053* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1054* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1055* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1056* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1057* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1058* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1059* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1060* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1060* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1061* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1062* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1063* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1064* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1065* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1066* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1067* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1068* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1069* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1070* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1070* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1071* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1072* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1073* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1074* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1075* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1076* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1077* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1078* | 0 | 488 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1080* | 0 | 489 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1080* | 0 | 489 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1081* | 0 | 489 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1082* | 0 | 489 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1083* | 0 | 489 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1084* | 0 | 489 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1085* | 0 | 489 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1086* | 0 | 489 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1088* | 0 | 490 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1089* | 0 | 490 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1090* | 0 | 490 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1090* | 0 | 490 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1091* | 0 | 490 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1092* | 0 | 490 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1093* | 0 | 490 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1094* | 0 | 490 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1095* | 0 | 490 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1096* | 0 | 490 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1097* | 0 | 490 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1098* | 0 | 490 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1100* | 0 | 491 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1101* | 0 | 491 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1102* | 0 | 491 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1103* | 0 | 491 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1104* | 0 | 491 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1105* | 0 | 491 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1106* | 0 | 491 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1107* | 0 | 491 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1108* | 0 | 491 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1109* | 0 | 491 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1110* | 0 | 491 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1110* | 0 | 491 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1111* | 0 | 491 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1112* | 0 | 491 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1113* | 0 | 491 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1114* | 0 | 491 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1115* | 0 | 491 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1116* | 0 | 491 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1117* | 0 | 491 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1118* | 0 | 491 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1119* | 0 | 491 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1120* | 0 | 491 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1120* | 0 | 491 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1121* | 0 | 491 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1122* | 0 | 491 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1123* | 0 | 491 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1125* | 0 | 492 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1126* | 0 | 492 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1127* | 0 | 492 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1128* | 0 | 492 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1129* | 0 | 492 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1130* | 0 | 492 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1130* | 0 | 492 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1131* | 0 | 492 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1132* | 0 | 492 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1133* | 0 | 492 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1134* | 0 | 492 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1135* | 0 | 492 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1136* | 0 | 492 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1137* | 0 | 492 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1138* | 0 | 492 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1139* | 0 | 492 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1140* | 0 | 492 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1140* | 0 | 492 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1141* | 0 | 492 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1142* | 0 | 492 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1143* | 0 | 492 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1144* | 0 | 492 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1145* | 0 | 492 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1146* | 0 | 492 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1147* | 0 | 492 | 178 | 8 | 6 | -3.971 | -314.4 | 150 | load83/D + 1149* | 0 | 493 | 178 | 8 | 6 | -3.971 | -314.3 | 150 | load83/D + 1150* | 0 | 493 | 178 | 8 | 6 | -3.971 | -314.3 | 150 | load83/D + 1150* | 0 | 493 | 178 | 8 | 6 | -3.971 | -314.3 | 150 | load83/D + 1151* | 0 | 493 | 178 | 8 | 6 | -3.971 | -314.3 | 150 | load83/D + 1152* | 0 | 493 | 178 | 8 | 6 | -3.971 | -314.3 | 150 | load83/D + 1153* | 0 | 493 | 178 | 8 | 6 | -3.971 | -314.3 | 150 | load83/D + 1154* | 0 | 493 | 178 | 8 | 6 | -3.971 | -314.3 | 150 | load83/D + 1155* | 0 | 493 | 178 | 8 | 6 | -3.971 | -314.3 | 150 | load83/D + 1156* | 0 | 493 | 178 | 8 | 6 | -3.971 | -314.3 | 150 | load83/D + 1157* | 0 | 493 | 178 | 8 | 6 | -3.971 | -314.3 | 150 | load83/D + 1158* | 0 | 493 | 178 | 8 | 6 | -3.971 | -314.3 | 150 | load83/D + 1159* | 0 | 493 | 178 | 8 | 6 | -3.971 | -314.3 | 150 | load83/D + 1160* | 0 | 493 | 178 | 8 | 6 | -3.971 | -314.3 | 150 | load83/D + 1160* | 0 | 493 | 178 | 8 | 6 | -3.971 | -314.3 | 150 | load83/D + final | 0 | 493 | 178 | 8 | 6 | -3.971 | -314.3 | 150 | load83/D +--------------------------------------------------------------------------------------------------- +[INFO RSZ-0040] Inserted 83 buffers. +[INFO RSZ-0041] Resized 493 instances. +[INFO RSZ-0043] Swapped pins on 6 instances. +[INFO RSZ-0049] Cloned 8 instances. +[WARNING RSZ-0062] Unable to repair all setup violations. +Repair timing output passed/skipped equivalence test +worst slack -3.97 diff --git a/src/rsz/test/repair_fanout7_multi.tcl b/src/rsz/test/repair_fanout7_multi.tcl new file mode 100644 index 00000000000..0ae13e78b5d --- /dev/null +++ b/src/rsz/test/repair_fanout7_multi.tcl @@ -0,0 +1,4 @@ +source "helpers.tcl" +set def_filename [make_result_file "repair_fanout7_multi.def"] +set repair_args [list -max_repairs_per_iter 10] +source "repair_fanout7.tcl" diff --git a/src/rsz/test/repair_fanout8.tcl b/src/rsz/test/repair_fanout8.tcl index e0908b5bc1a..f17ac5f47f6 100644 --- a/src/rsz/test/repair_fanout8.tcl +++ b/src/rsz/test/repair_fanout8.tcl @@ -2,7 +2,10 @@ source "helpers.tcl" source "hi_fanout.tcl" -set def_filename [make_result_file "repair_fanout8.def"] +if {[expr {![info exists def_filename]}]} { + set def_filename [make_result_file "repair_fanout8.def"] +} +if {[expr {![info exists repair_args]}]} { set repair_args {} } # Gates we want to eventually NAND2_X4, NAND3_X4, NAND4_X4 write_clone_test_def $def_filename NAND2_X4 150 @@ -32,7 +35,7 @@ estimate_parasitics -placement report_worst_slack -max write_verilog_for_eqy repair_fanout8 before "None" -repair_timing -setup -repair_tns 100 -skip_gate_cloning -verbose +repair_timing -setup -repair_tns 100 -skip_gate_cloning -verbose {*}$repair_args run_equivalence_test repair_fanout8 ./Nangate45/work_around_yosys/ "None" report_worst_slack -max diff --git a/src/rsz/test/repair_fanout8_multi.ok b/src/rsz/test/repair_fanout8_multi.ok new file mode 100644 index 00000000000..46e6722527b --- /dev/null +++ b/src/rsz/test/repair_fanout8_multi.ok @@ -0,0 +1,360 @@ +[INFO ODB-0227] LEF file: Nangate45/Nangate45.lef, created 22 layers, 27 vias, 135 library cells +[INFO ODB-0128] Design: hi_fanout +[INFO ODB-0130] Created 152 pins. +[INFO ODB-0131] Created 153 components and 917 component-terminals. +[INFO ODB-0132] Created 2 special nets and 306 connections. +[INFO ODB-0133] Created 155 nets and 459 connections. +worst slack -23.63 +[INFO RSZ-0094] Found 150 endpoints with setup violations. +[INFO RSZ-0099] Repairing 150 out of 150 (100.00%) violating endpoints... + Iter | Removed | Resized | Inserted | Cloned | Pin | WNS | TNS | Viol | Worst + | Buffers | Gates | Buffers | Gates | Swaps | | | Endpts | Endpt +--------------------------------------------------------------------------------------------------- + 0 | 0 | 0 | 0 | 0 | 0 | -23.631 | -2304.8 | 150 | load143/D + 10 | 0 | 0 | 17 | 0 | 1 | -9.314 | -619.8 | 150 | load146/D + 13 | 0 | 0 | 20 | 0 | 1 | -5.508 | -465.9 | 150 | load149/D + 15 | 0 | -1 | 20 | 0 | 1 | -5.508 | -465.9 | 150 | load149/D + 19 | 0 | -1 | 21 | 0 | 1 | -5.508 | -465.9 | 150 | load149/D + 20 | 0 | -1 | 21 | 0 | 1 | -5.508 | -465.9 | 150 | load149/D + 23 | 0 | -1 | 22 | 0 | 1 | -5.508 | -465.9 | 150 | load149/D + 27 | 0 | -1 | 23 | 0 | 1 | -5.508 | -465.9 | 150 | load149/D + 29 | 0 | -2 | 23 | 0 | 1 | -5.508 | -465.9 | 150 | load149/D + 30 | 0 | -2 | 23 | 0 | 1 | -5.508 | -465.9 | 150 | load149/D + 31 | 0 | -3 | 23 | 0 | 1 | -5.508 | -465.9 | 150 | load149/D + 35 | 0 | -3 | 24 | 0 | 1 | -5.508 | -465.9 | 150 | load149/D + 37 | 0 | -3 | 24 | 0 | 1 | -5.508 | -465.9 | 150 | load149/D + 40 | 0 | -1 | 25 | 0 | 1 | -5.517 | -465.3 | 150 | load149/D + 47 | 0 | 0 | 26 | 0 | 1 | -5.508 | -465.9 | 150 | load149/D + 48 | 0 | 0 | 26 | 0 | 1 | -5.508 | -465.9 | 150 | load149/D + 49 | 0 | 0 | 26 | 0 | 1 | -5.508 | -465.9 | 150 | load149/D + 50 | 0 | 0 | 26 | 0 | 1 | -5.508 | -465.9 | 150 | load149/D + 50 | 0 | 0 | 26 | 0 | 1 | -5.508 | -465.9 | 150 | load149/D + 51 | 0 | 0 | 26 | 0 | 1 | -5.508 | -465.9 | 150 | load149/D + 52 | 0 | 0 | 26 | 0 | 1 | -5.508 | -465.9 | 150 | load149/D + 54 | 0 | -1 | 26 | 0 | 1 | -5.508 | -465.9 | 150 | load149/D + 55 | 0 | -1 | 26 | 0 | 1 | -5.508 | -465.9 | 150 | load149/D + 56 | 0 | -1 | 26 | 0 | 1 | -5.508 | -465.9 | 150 | load149/D + 57 | 0 | -1 | 26 | 0 | 1 | -5.508 | -465.9 | 150 | load149/D + 58 | 0 | -1 | 26 | 0 | 1 | -5.508 | -465.9 | 150 | load149/D + 59 | 0 | -1 | 26 | 0 | 1 | -5.508 | -465.9 | 150 | load149/D + 60 | 0 | -1 | 26 | 0 | 1 | -5.508 | -465.9 | 150 | load149/D + 60 | 0 | -1 | 26 | 0 | 1 | -5.508 | -465.9 | 150 | load149/D + 62 | 0 | -1 | 27 | 0 | 1 | -5.508 | -456.8 | 150 | load149/D + 63 | 0 | -1 | 27 | 0 | 1 | -5.508 | -456.8 | 150 | load149/D + 64 | 0 | -1 | 27 | 0 | 1 | -5.508 | -456.8 | 150 | load149/D + 65 | 0 | -1 | 27 | 0 | 1 | -5.508 | -456.8 | 150 | load149/D + 66 | 0 | -1 | 27 | 0 | 1 | -5.508 | -456.8 | 150 | load149/D + 67 | 0 | -1 | 27 | 0 | 1 | -5.508 | -456.8 | 150 | load149/D + 68 | 0 | -1 | 27 | 0 | 1 | -5.508 | -456.8 | 150 | load149/D + 69 | 0 | -1 | 27 | 0 | 1 | -5.508 | -456.8 | 150 | load149/D + 70 | 0 | -1 | 27 | 0 | 1 | -5.508 | -456.8 | 150 | load149/D + 70 | 0 | -1 | 27 | 0 | 1 | -5.508 | -456.8 | 150 | load149/D + 71 | 0 | -1 | 27 | 0 | 1 | -5.508 | -456.8 | 150 | load149/D + 72 | 0 | -1 | 27 | 0 | 1 | -5.508 | -456.8 | 150 | load149/D + 73 | 0 | -1 | 27 | 0 | 1 | -5.508 | -456.8 | 150 | load149/D + 74 | 0 | -1 | 27 | 0 | 1 | -5.508 | -456.8 | 150 | load149/D + 75 | 0 | -1 | 27 | 0 | 1 | -5.508 | -456.8 | 150 | load149/D + 76 | 0 | -1 | 27 | 0 | 1 | -5.508 | -456.8 | 150 | load149/D + 77 | 0 | -1 | 27 | 0 | 1 | -5.508 | -456.8 | 150 | load149/D + 79 | 0 | -2 | 27 | 0 | 1 | -5.508 | -456.8 | 150 | load149/D + 80 | 0 | -2 | 27 | 0 | 1 | -5.508 | -456.8 | 150 | load149/D + 80 | 0 | -2 | 27 | 0 | 1 | -5.508 | -456.8 | 150 | load149/D + 81 | 0 | -2 | 27 | 0 | 1 | -5.508 | -456.8 | 150 | load149/D + 82 | 0 | -2 | 27 | 0 | 1 | -5.508 | -456.8 | 150 | load149/D + 83 | 0 | -2 | 27 | 0 | 1 | -5.508 | -456.8 | 150 | load149/D + 84 | 0 | -2 | 27 | 0 | 1 | -5.508 | -456.8 | 150 | load149/D + 85 | 0 | -2 | 27 | 0 | 1 | -5.508 | -456.8 | 150 | load149/D + 86 | 0 | -2 | 27 | 0 | 1 | -5.508 | -456.8 | 150 | load149/D + 87 | 0 | -2 | 27 | 0 | 1 | -5.508 | -456.8 | 150 | load149/D + 89 | 0 | -3 | 27 | 0 | 1 | -5.508 | -456.8 | 150 | load149/D + 90 | 0 | -3 | 27 | 0 | 1 | -5.508 | -456.8 | 150 | load149/D + 90 | 0 | -3 | 27 | 0 | 1 | -5.508 | -456.8 | 150 | load149/D + 91 | 0 | -3 | 27 | 0 | 1 | -5.508 | -456.8 | 150 | load149/D + 92 | 0 | -3 | 27 | 0 | 1 | -5.508 | -456.8 | 150 | load149/D + 93 | 0 | -3 | 27 | 0 | 1 | -5.508 | -456.8 | 150 | load149/D + 94 | 0 | -3 | 27 | 0 | 1 | -5.508 | -456.8 | 150 | load149/D + 96 | 0 | -3 | 28 | 0 | 1 | -5.508 | -456.7 | 150 | load149/D + 97 | 0 | -3 | 28 | 0 | 1 | -5.508 | -456.7 | 150 | load149/D + 98 | 0 | -3 | 28 | 0 | 1 | -5.508 | -456.7 | 150 | load149/D + 99 | 0 | -3 | 28 | 0 | 1 | -5.508 | -456.7 | 150 | load149/D + 100 | 0 | -3 | 28 | 0 | 1 | -5.508 | -456.7 | 150 | load149/D + 100 | 0 | -3 | 28 | 0 | 1 | -5.508 | -456.7 | 150 | load149/D + 101 | 0 | -3 | 28 | 0 | 1 | -5.508 | -456.7 | 150 | load149/D + 102 | 0 | -3 | 28 | 0 | 1 | -5.508 | -456.7 | 150 | load149/D + 103 | 0 | -3 | 28 | 0 | 1 | -5.508 | -456.7 | 150 | load149/D + 104 | 0 | -3 | 28 | 0 | 1 | -5.508 | -456.7 | 150 | load149/D + 105 | 0 | -3 | 28 | 0 | 1 | -5.508 | -456.7 | 150 | load149/D + 106 | 0 | -3 | 28 | 0 | 1 | -5.508 | -456.7 | 150 | load149/D + 107 | 0 | -3 | 28 | 0 | 1 | -5.508 | -456.7 | 150 | load149/D + 108 | 0 | -3 | 28 | 0 | 1 | -5.508 | -456.7 | 150 | load149/D + 109 | 0 | -3 | 28 | 0 | 1 | -5.508 | -456.7 | 150 | load149/D + 110 | 0 | -3 | 28 | 0 | 1 | -5.508 | -456.7 | 150 | load149/D + 110 | 0 | -3 | 28 | 0 | 1 | -5.508 | -456.7 | 150 | load149/D + 111 | 0 | -3 | 28 | 0 | 1 | -5.508 | -456.7 | 150 | load149/D + 112 | 0 | -3 | 28 | 0 | 1 | -5.508 | -456.7 | 150 | load149/D + 113 | 0 | -3 | 28 | 0 | 1 | -5.508 | -456.7 | 150 | load149/D + 114 | 0 | -3 | 28 | 0 | 1 | -5.508 | -456.7 | 150 | load149/D + 115 | 0 | -3 | 28 | 0 | 1 | -5.508 | -456.7 | 150 | load149/D + 116 | 0 | -3 | 28 | 0 | 1 | -5.508 | -456.7 | 150 | load149/D + 117 | 0 | -3 | 28 | 0 | 1 | -5.508 | -456.7 | 150 | load149/D + 120 | 0 | -3 | 31 | 0 | 1 | -5.508 | -412.6 | 150 | load149/D + 122 | 0 | -3 | 33 | 0 | 1 | -5.508 | -409.3 | 150 | load149/D + 124 | 0 | -2 | 33 | 0 | 1 | -5.508 | -409.3 | 150 | load149/D + 125 | 0 | -2 | 33 | 0 | 1 | -5.508 | -409.3 | 150 | load149/D + 126 | 0 | -2 | 33 | 0 | 1 | -5.508 | -409.3 | 150 | load149/D + 127 | 0 | -2 | 33 | 0 | 1 | -5.508 | -409.3 | 150 | load149/D + 128 | 0 | -2 | 33 | 0 | 1 | -5.508 | -409.3 | 150 | load149/D + 129 | 0 | -2 | 33 | 0 | 1 | -5.508 | -409.3 | 150 | load149/D + 130 | 0 | -2 | 33 | 0 | 1 | -5.508 | -409.3 | 150 | load149/D + 130 | 0 | -2 | 33 | 0 | 1 | -5.508 | -409.3 | 150 | load149/D + 131 | 0 | -2 | 33 | 0 | 1 | -5.508 | -409.3 | 150 | load149/D + 132 | 0 | -2 | 33 | 0 | 1 | -5.508 | -409.3 | 150 | load149/D + 133 | 0 | -2 | 33 | 0 | 1 | -5.508 | -409.3 | 150 | load149/D + 134 | 0 | -2 | 33 | 0 | 1 | -5.508 | -409.3 | 150 | load149/D + 135 | 0 | -2 | 33 | 0 | 1 | -5.508 | -409.3 | 150 | load149/D + 136 | 0 | -2 | 33 | 0 | 1 | -5.508 | -409.3 | 150 | load149/D + 137 | 0 | -2 | 33 | 0 | 1 | -5.508 | -409.3 | 150 | load149/D + 138 | 0 | -2 | 33 | 0 | 1 | -5.508 | -409.3 | 150 | load149/D + 139 | 0 | -2 | 33 | 0 | 1 | -5.508 | -409.3 | 150 | load149/D + 140 | 0 | -2 | 33 | 0 | 1 | -5.508 | -409.3 | 150 | load149/D + 140 | 0 | -2 | 33 | 0 | 1 | -5.508 | -409.3 | 150 | load149/D + 141 | 0 | -2 | 33 | 0 | 1 | -5.508 | -409.3 | 150 | load149/D + 142 | 0 | -2 | 33 | 0 | 1 | -5.508 | -409.3 | 150 | load149/D + 143 | 0 | -2 | 33 | 0 | 1 | -5.508 | -409.3 | 150 | load149/D + 144 | 0 | -2 | 33 | 0 | 1 | -5.508 | -409.3 | 150 | load149/D + 145 | 0 | -2 | 33 | 0 | 1 | -5.508 | -409.3 | 150 | load149/D + 146 | 0 | -2 | 33 | 0 | 1 | -5.508 | -409.3 | 150 | load149/D + 147 | 0 | -2 | 33 | 0 | 1 | -5.508 | -409.3 | 150 | load149/D + 150 | 0 | -2 | 35 | 0 | 1 | -5.508 | -407.6 | 150 | load149/D + 157 | 0 | -1 | 46 | 0 | 1 | -5.508 | -397.5 | 150 | load149/D + 160 | 0 | 1 | 46 | 0 | 1 | -5.508 | -397.8 | 150 | load149/D + 160 | 0 | 0 | 46 | 0 | 1 | -5.508 | -397.5 | 150 | load149/D + 161 | 0 | 0 | 46 | 0 | 1 | -5.508 | -397.5 | 150 | load149/D + 162 | 0 | 0 | 46 | 0 | 1 | -5.508 | -397.5 | 150 | load149/D + 163 | 0 | 0 | 46 | 0 | 1 | -5.508 | -397.5 | 150 | load149/D + 164 | 0 | 0 | 46 | 0 | 1 | -5.508 | -397.5 | 150 | load149/D + 165 | 0 | 0 | 46 | 0 | 1 | -5.508 | -397.5 | 150 | load149/D + 166 | 0 | 0 | 46 | 0 | 1 | -5.508 | -397.5 | 150 | load149/D + 167 | 0 | 0 | 46 | 0 | 1 | -5.508 | -397.5 | 150 | load149/D + 170 | 0 | 2 | 46 | 0 | 1 | -5.508 | -397.3 | 150 | load149/D + 171 | 0 | 3 | 46 | 0 | 1 | -5.508 | -397.3 | 150 | load149/D + 172 | 0 | 3 | 46 | 0 | 1 | -5.508 | -397.3 | 150 | load149/D + 173 | 0 | 3 | 46 | 0 | 1 | -5.508 | -397.3 | 150 | load149/D + 174 | 0 | 3 | 46 | 0 | 1 | -5.508 | -397.3 | 150 | load149/D + 175 | 0 | 3 | 46 | 0 | 1 | -5.508 | -397.3 | 150 | load149/D + 176 | 0 | 3 | 46 | 0 | 1 | -5.508 | -397.3 | 150 | load149/D + 177 | 0 | 3 | 46 | 0 | 1 | -5.508 | -397.3 | 150 | load149/D + 178 | 0 | 3 | 46 | 0 | 1 | -5.508 | -397.3 | 150 | load149/D + 179 | 0 | 3 | 46 | 0 | 1 | -5.508 | -397.3 | 150 | load149/D + 180 | 0 | 3 | 46 | 0 | 1 | -5.508 | -397.3 | 150 | load149/D + 180 | 0 | 3 | 46 | 0 | 1 | -5.508 | -397.3 | 150 | load149/D + 181 | 0 | 3 | 46 | 0 | 1 | -5.508 | -397.3 | 150 | load149/D + 182 | 0 | 3 | 46 | 0 | 1 | -5.508 | -397.3 | 150 | load149/D + 183 | 0 | 3 | 46 | 0 | 1 | -5.508 | -397.3 | 150 | load149/D + 184 | 0 | 3 | 46 | 0 | 1 | -5.508 | -397.3 | 150 | load149/D + 185 | 0 | 3 | 46 | 0 | 1 | -5.508 | -397.3 | 150 | load149/D + 190 | 0 | 7 | 46 | 0 | 1 | -5.508 | -397.3 | 150 | load149/D + 191 | 0 | 7 | 46 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 194 | 0 | 8 | 46 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 195 | 0 | 8 | 46 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 196 | 0 | 8 | 46 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 197 | 0 | 8 | 46 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 198 | 0 | 8 | 46 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 199 | 0 | 8 | 46 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 200 | 0 | 8 | 46 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 200 | 0 | 8 | 46 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 201 | 0 | 8 | 46 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 205 | 0 | 11 | 46 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 206 | 0 | 11 | 46 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 207 | 0 | 11 | 46 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 208 | 0 | 11 | 46 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 209 | 0 | 11 | 46 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 210 | 0 | 11 | 46 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 210 | 0 | 11 | 46 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 211 | 0 | 11 | 46 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 212 | 0 | 11 | 46 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 213 | 0 | 11 | 46 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 214 | 0 | 11 | 46 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 215 | 0 | 11 | 46 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 216 | 0 | 11 | 46 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 220 | 0 | 14 | 46 | 0 | 1 | -5.508 | -397.5 | 150 | load149/D + 224 | 0 | 14 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 227 | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 228 | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 229 | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 230 | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 230 | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 230* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 231* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 232* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 233* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 234* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 235* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 236* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 237* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 238* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 239* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 240* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 240* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 241* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 242* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 243* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 244* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 245* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 246* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 247* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 248* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 249* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 250* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 250* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 251* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 252* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 253* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 254* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 255* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 256* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 257* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 258* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 259* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 260* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 260* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 261* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 262* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 263* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 264* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 265* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 266* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 267* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 268* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 269* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 270* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 270* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 271* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 272* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 273* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 274* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 275* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 276* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 277* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 278* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 279* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 280* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 280* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 281* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 282* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 283* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 284* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 285* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 286* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 287* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 288* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 289* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 290* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 290* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 291* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 292* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 293* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 294* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 295* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 296* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 297* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 298* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 299* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 300* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 300* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 301* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 302* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 303* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 304* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 305* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 306* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 307* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 308* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 309* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 310* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 310* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 311* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 312* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 313* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 314* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 315* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 316* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 317* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 318* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 319* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 320* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 320* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 321* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 322* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 323* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 324* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 325* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 326* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 327* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 328* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 329* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 330* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 330* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 331* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 332* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 333* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 334* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 335* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 336* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 337* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 338* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 339* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 340* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 340* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 341* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 342* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 343* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 344* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 345* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 346* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 347* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 348* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 349* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 350* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 350* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 351* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 352* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 353* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 354* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 355* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 356* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 357* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 358* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 359* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 360* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 360* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 361* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 362* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 363* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 364* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 365* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 366* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 367* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 368* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 369* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 370* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 370* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 371* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 372* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 373* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 374* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 375* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 376* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 377* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 378* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 379* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 380* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + 380* | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D + final | 0 | 15 | 47 | 0 | 1 | -5.508 | -397.2 | 150 | load149/D +--------------------------------------------------------------------------------------------------- +[INFO RSZ-0045] Inserted 35 buffers, 1 to split loads. +[INFO RSZ-0041] Resized 15 instances. +[INFO RSZ-0043] Swapped pins on 1 instances. +[WARNING RSZ-0062] Unable to repair all setup violations. +Repair timing output passed/skipped equivalence test +worst slack -5.51 diff --git a/src/rsz/test/repair_fanout8_multi.tcl b/src/rsz/test/repair_fanout8_multi.tcl new file mode 100644 index 00000000000..b80c659ebd7 --- /dev/null +++ b/src/rsz/test/repair_fanout8_multi.tcl @@ -0,0 +1,4 @@ +source "helpers.tcl" +set def_filename [make_result_file "repair_fanout8_multi.def"] +set repair_args [list -max_repairs_per_iter 10] +source "repair_fanout8.tcl" diff --git a/src/rsz/test/repair_setup1.tcl b/src/rsz/test/repair_setup1.tcl index 6d7b451f910..82ee7f3fc25 100644 --- a/src/rsz/test/repair_setup1.tcl +++ b/src/rsz/test/repair_setup1.tcl @@ -1,5 +1,6 @@ # repair_timing -setup r1/Q 5 loads source "helpers.tcl" +if {[expr {![info exists repair_args]}]} { set repair_args {} } read_liberty Nangate45/Nangate45_typ.lib read_lef Nangate45/Nangate45.lef read_def repair_setup1.def @@ -11,6 +12,6 @@ estimate_parasitics -placement report_checks -fields input -digits 3 write_verilog_for_eqy repair_setup1 before "None" -repair_timing -setup +repair_timing -setup {*}$repair_args run_equivalence_test repair_setup1 ./Nangate45/work_around_yosys/ "None" report_checks -fields input -digits 3 diff --git a/src/rsz/test/repair_setup1_multi.ok b/src/rsz/test/repair_setup1_multi.ok new file mode 100644 index 00000000000..1d9817f2003 --- /dev/null +++ b/src/rsz/test/repair_setup1_multi.ok @@ -0,0 +1,75 @@ +[INFO ODB-0227] LEF file: Nangate45/Nangate45.lef, created 22 layers, 27 vias, 135 library cells +[INFO ODB-0128] Design: reg1 +[INFO ODB-0130] Created 1 pins. +[INFO ODB-0131] Created 17 components and 92 component-terminals. +[INFO ODB-0132] Created 2 special nets and 34 connections. +[INFO ODB-0133] Created 7 nets and 30 connections. +Startpoint: r1 (rising edge-triggered flip-flop clocked by clk) +Endpoint: r2 (rising edge-triggered flip-flop clocked by clk) +Path Group: clk +Path Type: max + + Delay Time Description +----------------------------------------------------------- + 0.000 0.000 clock clk (rise edge) + 0.000 0.000 clock network delay (ideal) + 0.000 0.000 ^ r1/CK (DFF_X1) + 0.206 0.206 ^ r1/Q (DFF_X1) + 0.029 0.235 ^ u1/A (BUF_X1) + 0.052 0.287 ^ u1/Z (BUF_X1) + 0.002 0.289 ^ u2/A (BUF_X1) + 0.042 0.331 ^ u2/Z (BUF_X1) + 0.002 0.333 ^ u3/A (BUF_X1) + 0.042 0.375 ^ u3/Z (BUF_X1) + 0.002 0.377 ^ u4/A (BUF_X1) + 0.042 0.419 ^ u4/Z (BUF_X1) + 0.002 0.420 ^ u5/A (BUF_X1) + 0.116 0.536 ^ u5/Z (BUF_X1) + 0.049 0.585 ^ r2/D (DFF_X1) + 0.585 data arrival time + + 0.300 0.300 clock clk (rise edge) + 0.000 0.300 clock network delay (ideal) + 0.000 0.300 clock reconvergence pessimism + 0.300 ^ r2/CK (DFF_X1) + -0.048 0.252 library setup time + 0.252 data required time +----------------------------------------------------------- + 0.252 data required time + -0.585 data arrival time +----------------------------------------------------------- + -0.333 slack (VIOLATED) + + +[INFO RSZ-0094] Found 4 endpoints with setup violations. +[INFO RSZ-0099] Repairing 4 out of 4 (100.00%) violating endpoints... +[INFO RSZ-0059] Removed 5 buffers. +[INFO RSZ-0041] Resized 1 instances. +Repair timing output passed/skipped equivalence test +Startpoint: r1 (rising edge-triggered flip-flop clocked by clk) +Endpoint: r7 (rising edge-triggered flip-flop clocked by clk) +Path Group: clk +Path Type: max + + Delay Time Description +----------------------------------------------------------- + 0.000 0.000 clock clk (rise edge) + 0.000 0.000 clock network delay (ideal) + 0.000 0.000 ^ r1/CK (DFF_X2) + 0.158 0.158 ^ r1/Q (DFF_X2) + 0.083 0.241 ^ r7/D (DFF_X1) + 0.241 data arrival time + + 0.300 0.300 clock clk (rise edge) + 0.000 0.300 clock network delay (ideal) + 0.000 0.300 clock reconvergence pessimism + 0.300 ^ r7/CK (DFF_X1) + -0.049 0.251 library setup time + 0.251 data required time +----------------------------------------------------------- + 0.251 data required time + -0.241 data arrival time +----------------------------------------------------------- + 0.010 slack (MET) + + diff --git a/src/rsz/test/repair_setup1_multi.tcl b/src/rsz/test/repair_setup1_multi.tcl new file mode 100644 index 00000000000..27c1ed029d8 --- /dev/null +++ b/src/rsz/test/repair_setup1_multi.tcl @@ -0,0 +1,3 @@ +source "helpers.tcl" +set repair_args [list -max_repairs_per_iter 10] +source "repair_setup1.tcl" diff --git a/src/rsz/test/repair_setup2.tcl b/src/rsz/test/repair_setup2.tcl index daf48599272..a28c6aa569e 100644 --- a/src/rsz/test/repair_setup2.tcl +++ b/src/rsz/test/repair_setup2.tcl @@ -1,5 +1,6 @@ # repair_timing -setup combinational path source "helpers.tcl" +if {[expr {![info exists repair_args]}]} { set repair_args {} } read_liberty Nangate45/Nangate45_typ.lib read_lef Nangate45/Nangate45.lef read_def repair_setup2.def @@ -13,6 +14,6 @@ estimate_parasitics -placement report_worst_slack write_verilog_for_eqy repair_setup2 before "None" repair_design -repair_timing -setup -verbose +repair_timing -setup -verbose {*}$repair_args run_equivalence_test repair_setup2 ./Nangate45/work_around_yosys/ "None" report_worst_slack diff --git a/src/rsz/test/repair_setup2_multi.ok b/src/rsz/test/repair_setup2_multi.ok new file mode 100644 index 00000000000..902ec8daf83 --- /dev/null +++ b/src/rsz/test/repair_setup2_multi.ok @@ -0,0 +1,24 @@ +[INFO ODB-0227] LEF file: Nangate45/Nangate45.lef, created 22 layers, 27 vias, 135 library cells +[INFO ODB-0128] Design: td1 +[INFO ODB-0130] Created 6 pins. +[INFO ODB-0131] Created 3 components and 15 component-terminals. +[INFO ODB-0132] Created 2 special nets and 0 connections. +[INFO ODB-0133] Created 7 nets and 9 connections. +worst slack -0.28 +[INFO RSZ-0058] Using max wire length 693um. +[INFO RSZ-0037] Found 3 long wires. +[INFO RSZ-0038] Inserted 3 buffers in 3 nets. +[INFO RSZ-0039] Resized 2 instances. +[INFO RSZ-0094] Found 2 endpoints with setup violations. +[INFO RSZ-0099] Repairing 2 out of 2 (100.00%) violating endpoints... + Iter | Removed | Resized | Inserted | Cloned | Pin | WNS | TNS | Viol | Worst + | Buffers | Gates | Buffers | Gates | Swaps | | | Endpts | Endpt +--------------------------------------------------------------------------------------------------- + 0 | 0 | 0 | 0 | 0 | 0 | -0.117 | -0.2 | 2 | y2 + 3 | 0 | 0 | 0 | 0 | 0 | -0.117 | -0.2 | 2 | y2 + 6 | 0 | 0 | 0 | 0 | 0 | -0.117 | -0.2 | 2 | y2 + final | 0 | 0 | 0 | 0 | 0 | -0.117 | -0.2 | 2 | y2 +--------------------------------------------------------------------------------------------------- +[WARNING RSZ-0062] Unable to repair all setup violations. +Repair timing output passed/skipped equivalence test +worst slack -0.12 diff --git a/src/rsz/test/repair_setup2_multi.tcl b/src/rsz/test/repair_setup2_multi.tcl new file mode 100644 index 00000000000..8ee762efebe --- /dev/null +++ b/src/rsz/test/repair_setup2_multi.tcl @@ -0,0 +1,2 @@ +set repair_args [list -max_repairs_per_iter 10] +source "repair_setup2.tcl" diff --git a/src/rsz/test/repair_setup3.tcl b/src/rsz/test/repair_setup3.tcl index def6437f611..3fba1044947 100644 --- a/src/rsz/test/repair_setup3.tcl +++ b/src/rsz/test/repair_setup3.tcl @@ -1,5 +1,6 @@ # repair_timing -setup thru latch source helpers.tcl +if {[expr {![info exists repair_args]}]} { set repair_args {} } read_liberty sky130hd/sky130hd_tt.lib read_lef sky130hd/sky130hd.tlef read_lef sky130hd/sky130hd_std_cell.lef @@ -14,5 +15,5 @@ estimate_parasitics -placement set_load 1.0 l2q write_verilog_for_eqy repair_setup3 before "None" -repair_timing -setup -verbose +repair_timing -setup -verbose {*}$repair_args run_equivalence_test repair_setup3 ./sky130hd/work_around_yosys/ "None" diff --git a/src/rsz/test/repair_setup3_multi.ok b/src/rsz/test/repair_setup3_multi.ok new file mode 100644 index 00000000000..777f4959cd8 --- /dev/null +++ b/src/rsz/test/repair_setup3_multi.ok @@ -0,0 +1,22 @@ +[INFO ODB-0227] LEF file: sky130hd/sky130hd.tlef, created 13 layers, 25 vias +[INFO ODB-0227] LEF file: sky130hd/sky130hd_std_cell.lef, created 437 library cells +[INFO ODB-0128] Design: reg1 +[INFO ODB-0130] Created 1 pins. +[INFO ODB-0131] Created 6 components and 29 component-terminals. +[INFO ODB-0132] Created 2 special nets and 0 connections. +[INFO ODB-0133] Created 6 nets and 13 connections. +[INFO RSZ-0094] Found 2 endpoints with setup violations. +[INFO RSZ-0099] Repairing 2 out of 2 (100.00%) violating endpoints... + Iter | Removed | Resized | Inserted | Cloned | Pin | WNS | TNS | Viol | Worst + | Buffers | Gates | Buffers | Gates | Swaps | | | Endpts | Endpt +--------------------------------------------------------------------------------------------------- + 0 | 0 | 0 | 0 | 0 | 0 | -6.365 | -6.4 | 2 | r3/D + 3 | 0 | 2 | 0 | 0 | 0 | -1.790 | -1.9 | 2 | r3/D + 5 | 0 | 2 | 0 | 0 | 0 | -1.790 | -1.9 | 2 | r3/D + 6* | 0 | 2 | 0 | 0 | 0 | -1.790 | -1.9 | 2 | r3/D + 7* | 0 | 2 | 0 | 0 | 0 | -1.790 | -1.9 | 2 | r3/D + final | 0 | 2 | 0 | 0 | 0 | -1.790 | -1.9 | 2 | r3/D +--------------------------------------------------------------------------------------------------- +[INFO RSZ-0041] Resized 2 instances. +[WARNING RSZ-0062] Unable to repair all setup violations. +Repair timing output passed/skipped equivalence test diff --git a/src/rsz/test/repair_setup3_multi.tcl b/src/rsz/test/repair_setup3_multi.tcl new file mode 100644 index 00000000000..65697461c09 --- /dev/null +++ b/src/rsz/test/repair_setup3_multi.tcl @@ -0,0 +1,2 @@ +set repair_args [list -max_repairs_per_iter 10] +source "repair_setup3.tcl" diff --git a/src/rsz/test/repair_setup4.tcl b/src/rsz/test/repair_setup4.tcl index 9d5b445dadd..fd13fe98550 100644 --- a/src/rsz/test/repair_setup4.tcl +++ b/src/rsz/test/repair_setup4.tcl @@ -1,5 +1,6 @@ # repair_timing -setup 2 corners source "helpers.tcl" +if {[expr {![info exists repair_args]}]} { set repair_args {} } define_corners fast slow read_liberty -corner slow Nangate45/Nangate45_slow.lib read_liberty -corner fast Nangate45/Nangate45_fast.lib @@ -14,7 +15,7 @@ estimate_parasitics -placement report_worst_slack -max report_tns -digits 3 write_verilog_for_eqy repair_setup4 before "None" -repair_timing -setup +repair_timing -setup {*}$repair_args run_equivalence_test repair_setup4 ./Nangate45/work_around_yosys/ "None" report_worst_slack -max report_tns -digits 3 diff --git a/src/rsz/test/repair_setup4_multi.ok b/src/rsz/test/repair_setup4_multi.ok new file mode 100644 index 00000000000..abf69d3a81f --- /dev/null +++ b/src/rsz/test/repair_setup4_multi.ok @@ -0,0 +1,16 @@ +[INFO ODB-0227] LEF file: Nangate45/Nangate45.lef, created 22 layers, 27 vias, 135 library cells +[INFO ODB-0128] Design: reg1 +[INFO ODB-0130] Created 1 pins. +[INFO ODB-0131] Created 17 components and 92 component-terminals. +[INFO ODB-0132] Created 2 special nets and 34 connections. +[INFO ODB-0133] Created 7 nets and 30 connections. +worst slack -1.95 +tns -6.294 +[INFO RSZ-0094] Found 6 endpoints with setup violations. +[INFO RSZ-0099] Repairing 6 out of 6 (100.00%) violating endpoints... +[INFO RSZ-0059] Removed 4 buffers. +[INFO RSZ-0041] Resized 2 instances. +[WARNING RSZ-0062] Unable to repair all setup violations. +Repair timing output passed/skipped equivalence test +worst slack -0.67 +tns -3.475 diff --git a/src/rsz/test/repair_setup4_multi.tcl b/src/rsz/test/repair_setup4_multi.tcl new file mode 100644 index 00000000000..0620701ea81 --- /dev/null +++ b/src/rsz/test/repair_setup4_multi.tcl @@ -0,0 +1,2 @@ +set repair_args [list -max_repairs_per_iter 10] +source "repair_setup4.tcl" diff --git a/src/rsz/test/repair_setup5.tcl b/src/rsz/test/repair_setup5.tcl index 89092c39f18..bcdfe4d45ee 100644 --- a/src/rsz/test/repair_setup5.tcl +++ b/src/rsz/test/repair_setup5.tcl @@ -1,5 +1,6 @@ # buffer chain with set_max_delay source "helpers.tcl" +if {[expr {![info exists repair_args]}]} { set repair_args {} } read_liberty sky130hd/sky130hd_tt.lib read_lef sky130hd/sky130hd.tlef read_lef sky130hd/sky130hd_std_cell.lef @@ -14,6 +15,6 @@ report_worst_slack -max # Get information so we can setup the test outputs correctly write_verilog_for_eqy repair_setup5 before "None" -repair_timing -setup -repair_tns 100 +repair_timing -setup -repair_tns 100 {*}$repair_args run_equivalence_test repair_setup5 ./sky130hd/work_around_yosys/ "None" report_worst_slack -max diff --git a/src/rsz/test/repair_setup6.tcl b/src/rsz/test/repair_setup6.tcl index 3d5b31a01d5..31f41e2cf53 100644 --- a/src/rsz/test/repair_setup6.tcl +++ b/src/rsz/test/repair_setup6.tcl @@ -1,5 +1,6 @@ # repair_timing -setup with global route parasitics source "helpers.tcl" +if {[expr {![info exists repair_args]}]} { set repair_args {} } read_liberty Nangate45/Nangate45_typ.lib read_lef Nangate45/Nangate45.lef read_def repair_setup1.def @@ -26,7 +27,7 @@ estimate_parasitics -global_routing report_worst_slack -max write_verilog_for_eqy repair_setup6 before "None" -repair_timing -setup +repair_timing -setup {*}$repair_args run_equivalence_test repair_setup6 ./Nangate45/work_around_yosys/ "None" report_worst_slack -max diff --git a/src/rsz/test/repair_setup6_multi.ok b/src/rsz/test/repair_setup6_multi.ok new file mode 100644 index 00000000000..ef1bae73322 --- /dev/null +++ b/src/rsz/test/repair_setup6_multi.ok @@ -0,0 +1,24 @@ +[INFO ODB-0227] LEF file: Nangate45/Nangate45.lef, created 22 layers, 27 vias, 135 library cells +[INFO ODB-0128] Design: reg1 +[INFO ODB-0130] Created 1 pins. +[INFO ODB-0131] Created 17 components and 92 component-terminals. +[INFO ODB-0132] Created 2 special nets and 34 connections. +[INFO ODB-0133] Created 7 nets and 30 connections. +[INFO IFP-0001] Added 857 rows of 210 site FreePDK45_38x28_10R_NP_162NW_34O. +Placement Analysis +--------------------------------- +total displacement 6.8 u +average displacement 0.4 u +max displacement 0.7 u +original HPWL 2531.1 u +legalized HPWL 2533.0 u +delta HPWL 0 % + +worst slack -0.39 +[INFO RSZ-0094] Found 4 endpoints with setup violations. +[INFO RSZ-0099] Repairing 4 out of 4 (100.00%) violating endpoints... +[INFO RSZ-0059] Removed 4 buffers. +[INFO RSZ-0041] Resized 2 instances. +Repair timing output passed/skipped equivalence test +worst slack 0.09 +worst slack 0.01 diff --git a/src/rsz/test/repair_setup6_multi.tcl b/src/rsz/test/repair_setup6_multi.tcl new file mode 100644 index 00000000000..d1aa3db958d --- /dev/null +++ b/src/rsz/test/repair_setup6_multi.tcl @@ -0,0 +1,2 @@ +set repair_args [list -max_repairs_per_iter 10] +source "repair_setup6.tcl" diff --git a/src/rsz/test/repair_setup7.tcl b/src/rsz/test/repair_setup7.tcl index aa7f9808f58..e87a67d9129 100644 --- a/src/rsz/test/repair_setup7.tcl +++ b/src/rsz/test/repair_setup7.tcl @@ -1,6 +1,7 @@ # Test for -skip_buffer_removal # repair_timing -setup 2 corners source "helpers.tcl" +if {[expr {![info exists repair_args]}]} { set repair_args {} } define_corners fast slow read_liberty -corner slow Nangate45/Nangate45_slow.lib read_liberty -corner fast Nangate45/Nangate45_fast.lib @@ -14,6 +15,6 @@ estimate_parasitics -placement report_worst_slack -max write_verilog_for_eqy repair_setup4 before "None" -repair_timing -setup -skip_buffer_removal +repair_timing -setup -skip_buffer_removal {*}$repair_args run_equivalence_test repair_setup4 ./Nangate45/work_around_yosys/ "None" report_worst_slack -max diff --git a/src/rsz/test/repair_setup7_multi.ok b/src/rsz/test/repair_setup7_multi.ok new file mode 100644 index 00000000000..087cd47e376 --- /dev/null +++ b/src/rsz/test/repair_setup7_multi.ok @@ -0,0 +1,14 @@ +[INFO ODB-0227] LEF file: Nangate45/Nangate45.lef, created 22 layers, 27 vias, 135 library cells +[INFO ODB-0128] Design: reg1 +[INFO ODB-0130] Created 1 pins. +[INFO ODB-0131] Created 17 components and 92 component-terminals. +[INFO ODB-0132] Created 2 special nets and 34 connections. +[INFO ODB-0133] Created 7 nets and 30 connections. +worst slack -1.95 +[INFO RSZ-0094] Found 6 endpoints with setup violations. +[INFO RSZ-0099] Repairing 6 out of 6 (100.00%) violating endpoints... +[INFO RSZ-0040] Inserted 2 buffers. +[INFO RSZ-0041] Resized 12 instances. +[WARNING RSZ-0062] Unable to repair all setup violations. +Repair timing output passed/skipped equivalence test +worst slack -0.74 diff --git a/src/rsz/test/repair_setup7_multi.tcl b/src/rsz/test/repair_setup7_multi.tcl new file mode 100644 index 00000000000..27f0bc17dd8 --- /dev/null +++ b/src/rsz/test/repair_setup7_multi.tcl @@ -0,0 +1,3 @@ +source "helpers.tcl" +set repair_args [list -max_repairs_per_iter 10] +source "repair_setup7.tcl" diff --git a/src/rsz/test/repair_setup8.tcl b/src/rsz/test/repair_setup8.tcl index 804ac97ee9d..e45f9b26810 100644 --- a/src/rsz/test/repair_setup8.tcl +++ b/src/rsz/test/repair_setup8.tcl @@ -1,5 +1,6 @@ # repair_timing -setup thru latch source helpers.tcl +if {[expr {![info exists repair_args]}]} { set repair_args {} } read_liberty sky130hd/sky130hd_tt.lib read_lef sky130hd/sky130hd.tlef read_lef sky130hd/sky130hd_std_cell.lef @@ -14,5 +15,5 @@ estimate_parasitics -placement set_load 1.0 l2q write_verilog_for_eqy repair_setup3 before "None" -repair_timing -setup -verbose -setup_margin -0.5 +repair_timing -setup -verbose -setup_margin -0.5 {*}$repair_args run_equivalence_test repair_setup3 ./sky130hd/work_around_yosys/ "None"