Repository: verilog-to-routing/vtr-verilog-to-routing
Pull request #2990: [AP] General Fixed/Unfixed Blocks Cleanup
Author: login: AlexandreSinger
Labels: name: VPR
description: VPR FPGA Placement & Routing Tool
name: lang-cpp
description: C/C++ code
Created: 2025-04-21T20:52:32Z | Merged: 2025-04-22T13:49:59Z

Fixed a couple of small known issues around the AP flow related to how we handle fixed blocks.

Offset the fixed block locations by 0.5 such that they are no longer on the edge. Previously, fixed blocks were placed at the root location of tiles. This was a problem since atoms would want to be generally close to the fixed block and may be biased to the bottom/left tiles to the fixed-block tile. This does not handle large tiles, but will help in general.

If no fixed blocks are provided, the AP solver will always produce the trivial solution (all blocks placed on top of one another anywhere on the device). We were wasting time running bound2bound to solve this and the solution was probably being put on the bottom-left corner (0,0) which is not ideal. Instead of running bound2bound during the first iteration in this case, just placed all blocks in the center of the device. This greatly speeds up the first iteration when no fixed blocks are provided.

Offsetting the fixed blocks seemed to have practically no affect on the results, but I think the offset makes sense to have in the context of flat placement.

By updating how the Bound2Bound solver handles the first iteration, I found that the VTR benchmarks improved a suprising amount (especially the largest ones) in post-fl HPWL. I think that putting everything at the center of the device is easier to partially legalize and is falling on a better solution. Will need to run Titan to be sure.


Diff:
diff --git a/vpr/src/analytical_place/analytical_solver.cpp b/vpr/src/analytical_place/analytical_solver.cpp
index e8c351d25b6..22a846d43ea 100644
--- a/vpr/src/analytical_place/analytical_solver.cpp
+++ b/vpr/src/analytical_place/analytical_solver.cpp
@@ -446,6 +446,25 @@ void B2BSolver::solve(unsigned iteration, PartialPlacement& p_placement) {
     // Store an initial placement into the p_placement object as a starting point
     // for the B2B solver.
     if (iteration == 0) {
+        // If there are no fixed blocks, running bound2bound will always yield
+        // the trivial solution (all blocks on top of each other anywhere on the
+        // device). Skip having to solve for this by just putting all the blocks
+        // at the center of the device.
+        // TODO: This can be further improved by using the average compatible
+        //       tile location for each AP block. The center is just an
+        //       approximation.
+        if (num_fixed_blocks_ == 0) {
+            for (size_t row_id_idx = 0; row_id_idx < num_moveable_blocks_; row_id_idx++) {
+                APRowId row_id = APRowId(row_id_idx);
+                APBlockId blk_id = row_id_to_blk_id_[row_id];
+                p_placement.block_x_locs[blk_id] = device_grid_width_ / 2.0;
+                p_placement.block_y_locs[blk_id] = device_grid_height_ / 2.0;
+            }
+            block_x_locs_solved = p_placement.block_x_locs;
+            block_y_locs_solved = p_placement.block_y_locs;
+            return;
+        }
+
         // In the first iteration, we have no prior information.
         // Run the intial placer to get a first guess.
         switch (initial_placement_ty_) {
diff --git a/vpr/src/analytical_place/ap_netlist.h b/vpr/src/analytical_place/ap_netlist.h
index 32dd8448018..1bfe8c5e49b 100644
--- a/vpr/src/analytical_place/ap_netlist.h
+++ b/vpr/src/analytical_place/ap_netlist.h
@@ -35,10 +35,10 @@
  */
 struct APFixedBlockLoc {
     // Value that represents an unfixed dimension.
-    static constexpr int UNFIXED_DIM = -1;
+    static constexpr float UNFIXED_DIM = -1;
     // The dimensions to fix.
-    int x = UNFIXED_DIM;
-    int y = UNFIXED_DIM;
+    float x = UNFIXED_DIM;
+    float y = UNFIXED_DIM;
     int layer_num = UNFIXED_DIM;
     int sub_tile = UNFIXED_DIM;
 };
diff --git a/vpr/src/analytical_place/gen_ap_netlist_from_atoms.cpp b/vpr/src/analytical_place/gen_ap_netlist_from_atoms.cpp
index ac20f67f336..75c3361ec3d 100644
--- a/vpr/src/analytical_place/gen_ap_netlist_from_atoms.cpp
+++ b/vpr/src/analytical_place/gen_ap_netlist_from_atoms.cpp
@@ -89,8 +89,13 @@ APNetlist gen_ap_netlist_from_atoms(const AtomNetlist& atom_netlist,
             const vtr::Rect<int>& region_rect = region.get_rect();
             VTR_ASSERT(region_rect.xmin() == region_rect.xmax() && "AP: Expect each region to be a single point in x!");
             VTR_ASSERT(region_rect.ymin() == region_rect.ymax() && "AP: Expect each region to be a single point in y!");
-            int blk_x_loc = region_rect.xmin();
-            int blk_y_loc = region_rect.ymin();
+            // Here we offset by 0.5 to put the fixed point in the center of the
+            // tile (assuming the tile is 1x1).
+            // TODO: Think about what to do when the user fixes blocks to large
+            //       tiles. However, this solution will at least keep the atoms
+            //       away from the edge of tiles.
+            float blk_x_loc = region_rect.xmin() + 0.5f;
+            float blk_y_loc = region_rect.ymin() + 0.5f;
             // Get the layer.
             VTR_ASSERT(region.get_layer_range().first == region.get_layer_range().second && "AP: Expect each region to be a single point in layer!");
             int blk_layer_num = region.get_layer_range().first;
diff --git a/vtr_flow/parse/qor_config/qor_ap_fixed_chan_width.txt b/vtr_flow/parse/qor_config/qor_ap_fixed_chan_width.txt
index 4b14300b2d3..db69ba91d66 100644
--- a/vtr_flow/parse/qor_config/qor_ap_fixed_chan_width.txt
+++ b/vtr_flow/parse/qor_config/qor_ap_fixed_chan_width.txt
@@ -5,6 +5,7 @@ vpr_status;output.txt;vpr_status=(.*)
 crit_path_delay;vpr.out;Critical path: (.*) ns
 post_gp_hpwl;vpr.out;\s*Placement HPWL: (.*)
 post_fl_hpwl;vpr.out;Initial placement BB estimate of wirelength: (.*)
+post_dp_hpwl;vpr.out;BB estimate of min-dist \(placement\) wire length: (.*)
 total_wirelength;vpr.out;\s*Total wirelength: (\d+)
 post_gp_overfilled_bins;vpr.out;\s*Number of overfilled bins: (\d+)
 post_gp_avg_overfill;vpr.out;\s*Average overfill magnitude: (.*)
diff --git a/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/annealer_detailed_placer/config/golden_results.txt b/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/annealer_detailed_placer/config/golden_results.txt
index f1a65749d89..f90dc9de594 100644
--- a/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/annealer_detailed_placer/config/golden_results.txt
+++ b/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/annealer_detailed_placer/config/golden_results.txt
@@ -1,5 +1,5 @@
  arch	  circuit	  script_params	  vtr_flow_elapsed_time	  vtr_max_mem_stage	  vtr_max_mem	  error	  odin_synth_time	  max_odin_mem	  parmys_synth_time	  max_parmys_mem	  abc_depth	  abc_synth_time	  abc_cec_time	  abc_sec_time	  max_abc_mem	  ace_time	  max_ace_mem	  num_clb	  num_io	  num_memories	  num_mult	  vpr_status	  vpr_revision	  vpr_build_info	  vpr_compiler	  vpr_compiled	  hostname	  rundir	  max_vpr_mem	  num_primary_inputs	  num_primary_outputs	  num_pre_packed_nets	  num_pre_packed_blocks	  num_netlist_clocks	  num_post_packed_nets	  num_post_packed_blocks	  device_width	  device_height	  device_grid_tiles	  device_limiting_resources	  device_name	  pack_mem	  pack_time	  initial_placed_wirelength_est	  placed_wirelength_est	  total_swap	  accepted_swap	  rejected_swap	  aborted_swap	  place_mem	  place_time	  place_quench_time	  initial_placed_CPD_est	  placed_CPD_est	  placed_setup_TNS_est	  placed_setup_WNS_est	  placed_geomean_nonvirtual_intradomain_critical_path_delay_est	  place_delay_matrix_lookup_time	  place_quench_timing_analysis_time	  place_quench_sta_time	  place_total_timing_analysis_time	  place_total_sta_time	  ap_mem	  ap_time	  ap_full_legalizer_mem	  ap_full_legalizer_time	  routed_wirelength	  avg_routed_wirelength	  routed_wiresegment	  avg_routed_wiresegment	  total_nets_routed	  total_connections_routed	  total_heap_pushes	  total_heap_pops	  logic_block_area_total	  logic_block_area_used	  routing_area_total	  routing_area_per_tile	  crit_path_route_success_iteration	  num_rr_graph_nodes	  num_rr_graph_edges	  collapsed_nodes	  critical_path_delay	  geomean_nonvirtual_intradomain_critical_path_delay	  setup_TNS	  setup_WNS	  hold_TNS	  hold_WNS	  create_rr_graph_time	  create_intra_cluster_rr_graph_time	  adding_internal_edges	  route_mem	  crit_path_route_time	  crit_path_total_timing_analysis_time	  crit_path_total_sta_time	  router_lookahead_mem	  tile_lookahead_computation_time	  router_lookahead_computation_time	 
- k6_frac_N10_40nm.xml	  apex4.pre-vpr.blif	  common	  3.59	  vpr	  75.35 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  81	  9	  -1	  -1	  success	  v8.0.0-12398-g63e0de52b-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-10T16:22:34	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  77156	  9	  19	  897	  28	  0	  562	  109	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  9742	  6119	  10249	  1760	  5821	  2668	  75.3 MiB	  2.81	  0.01	  6.60912	  5.26997	  -81.789	  -5.26997	  nan	  0.05	  0.00179692	  0.00145997	  0.0947522	  0.0791883	  75.3 MiB	  2.81	  75.3 MiB	  1.73	  9723	  17.3316	  2505	  4.46524	  4006	  19859	  666446	  110600	  1.05632e+07	  4.36541e+06	  1.26944e+06	  4958.75	  17	  28900	  206586	  -1	  5.51321	  nan	  -87.5291	  -5.51321	  0	  0	  0.34	  -1	  -1	  75.3 MiB	  0.25	  0.210289	  0.182458	  75.3 MiB	  -1	  0.05	 
- k6_frac_N10_40nm.xml	  des.pre-vpr.blif	  common	  1.99	  vpr	  76.11 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  52	  256	  -1	  -1	  success	  v8.0.0-12398-g63e0de52b-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-10T16:22:34	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  77936	  256	  245	  954	  501	  0	  582	  553	  22	  22	  484	  -1	  mcnc_large	  -1	  -1	  8094	  7501	  39126	  389	  7567	  31170	  76.1 MiB	  1.14	  0.02	  5.73036	  4.09857	  -784.452	  -4.09857	  nan	  0.12	  0.0036209	  0.00320967	  0.0974498	  0.0783511	  76.1 MiB	  1.14	  76.1 MiB	  0.58	  10270	  17.6460	  2810	  4.82818	  2238	  5018	  286471	  63337	  2.15576e+07	  2.80249e+06	  1.49107e+06	  3080.73	  14	  47664	  245996	  -1	  4.45761	  nan	  -846.555	  -4.45761	  0	  0	  0.37	  -1	  -1	  76.1 MiB	  0.25	  0.241683	  0.211802	  76.1 MiB	  -1	  0.12	 
- k6_frac_N10_40nm.xml	  ex1010.pre-vpr.blif	  common	  12.92	  vpr	  106.02 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  290	  10	  -1	  -1	  success	  v8.0.0-12398-g63e0de52b-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-10T16:22:34	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  108560	  10	  10	  2659	  20	  0	  1285	  310	  22	  22	  484	  -1	  mcnc_large	  -1	  -1	  35642	  24564	  56902	  15498	  35924	  5480	  106.0 MiB	  10.38	  0.02	  9.2649	  6.61089	  -64.2928	  -6.61089	  nan	  0.15	  0.00607931	  0.0048535	  0.385282	  0.31707	  106.0 MiB	  10.38	  106.0 MiB	  5.44	  37798	  29.4148	  9576	  7.45214	  8278	  52602	  2224659	  293057	  2.15576e+07	  1.56293e+07	  3.51389e+06	  7260.09	  17	  64568	  594370	  -1	  6.83554	  nan	  -66.0686	  -6.83554	  0	  0	  1.10	  -1	  -1	  106.0 MiB	  0.85	  0.754783	  0.64805	  106.0 MiB	  -1	  0.15	 
- k6_frac_N10_40nm.xml	  seq.pre-vpr.blif	  common	  4.71	  vpr	  76.63 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  82	  41	  -1	  -1	  success	  v8.0.0-12398-g63e0de52b-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-10T16:22:34	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  78472	  41	  35	  1006	  76	  0	  578	  158	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  10490	  6475	  10406	  884	  4940	  4582	  76.6 MiB	  3.58	  0.01	  6.29657	  4.68967	  -140.848	  -4.68967	  nan	  0.09	  0.00393615	  0.00326892	  0.130272	  0.112932	  76.6 MiB	  3.58	  76.6 MiB	  2.21	  10487	  18.1436	  2747	  4.75259	  4099	  21208	  684107	  115230	  1.05632e+07	  4.41931e+06	  1.26944e+06	  4958.75	  18	  28900	  206586	  -1	  4.97595	  nan	  -146.106	  -4.97595	  0	  0	  0.33	  -1	  -1	  76.6 MiB	  0.51	  0.372342	  0.333335	  76.6 MiB	  -1	  0.09	 
+ k6_frac_N10_40nm.xml	  apex4.pre-vpr.blif	  common	  4.63	  vpr	  75.62 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  83	  9	  -1	  -1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  77436	  9	  19	  897	  28	  0	  565	  111	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  6985	  6104	  4899	  468	  3178	  1253	  75.6 MiB	  3.56	  0.01	  5.45737	  4.88762	  -81.315	  -4.88762	  nan	  0.09	  0.00332256	  0.00272635	  0.0920151	  0.0793873	  75.6 MiB	  3.56	  75.6 MiB	  2.42	  9609	  17.0372	  2580	  4.57447	  4604	  23759	  790399	  131608	  1.05632e+07	  4.4732e+06	  1.26944e+06	  4958.75	  18	  28900	  206586	  -1	  5.07748	  nan	  -84.5559	  -5.07748	  0	  0	  0.33	  -1	  -1	  75.6 MiB	  0.47	  0.288973	  0.25613	  75.6 MiB	  -1	  0.09	 
+ k6_frac_N10_40nm.xml	  des.pre-vpr.blif	  common	  1.81	  vpr	  76.21 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  58	  256	  -1	  -1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  78036	  256	  245	  954	  501	  0	  584	  559	  22	  22	  484	  -1	  mcnc_large	  -1	  -1	  7428	  7369	  18967	  157	  2360	  16450	  76.2 MiB	  0.93	  0.02	  4.87092	  4.07054	  -789.645	  -4.07054	  nan	  0.13	  0.00365979	  0.00331889	  0.047619	  0.043593	  76.2 MiB	  0.93	  76.2 MiB	  0.59	  10168	  17.4110	  2803	  4.79966	  2303	  5353	  301769	  65803	  2.15576e+07	  3.12585e+06	  1.49107e+06	  3080.73	  13	  47664	  245996	  -1	  4.58117	  nan	  -866.844	  -4.58117	  0	  0	  0.37	  -1	  -1	  76.2 MiB	  0.25	  0.188446	  0.174077	  76.2 MiB	  -1	  0.13	 
+ k6_frac_N10_40nm.xml	  ex1010.pre-vpr.blif	  common	  11.93	  vpr	  105.82 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  289	  10	  -1	  -1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  108360	  10	  10	  2659	  20	  0	  1312	  309	  22	  22	  484	  -1	  mcnc_large	  -1	  -1	  30891	  24822	  37893	  7171	  26674	  4048	  105.8 MiB	  9.23	  0.02	  9.04847	  6.65923	  -63.8387	  -6.65923	  nan	  0.16	  0.00660438	  0.00519941	  0.309592	  0.257376	  105.8 MiB	  9.23	  105.8 MiB	  4.50	  37153	  28.3178	  9567	  7.29192	  8219	  52828	  2194741	  285748	  2.15576e+07	  1.55754e+07	  3.51389e+06	  7260.09	  18	  64568	  594370	  -1	  7.35737	  nan	  -66.9799	  -7.35737	  0	  0	  1.18	  -1	  -1	  105.8 MiB	  0.93	  0.709043	  0.615207	  105.8 MiB	  -1	  0.16	 
+ k6_frac_N10_40nm.xml	  seq.pre-vpr.blif	  common	  4.73	  vpr	  76.79 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  84	  41	  -1	  -1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  78628	  41	  35	  1006	  76	  0	  573	  160	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  7311	  6476	  7538	  345	  3855	  3338	  76.8 MiB	  3.59	  0.01	  5.73065	  5.08486	  -143.975	  -5.08486	  nan	  0.09	  0.0040653	  0.00347069	  0.103188	  0.0899686	  76.8 MiB	  3.59	  76.8 MiB	  2.31	  10018	  17.4834	  2728	  4.76091	  4171	  21468	  688416	  120931	  1.05632e+07	  4.5271e+06	  1.26944e+06	  4958.75	  18	  28900	  206586	  -1	  5.29306	  nan	  -148.307	  -5.29306	  0	  0	  0.37	  -1	  -1	  76.8 MiB	  0.47	  0.321818	  0.287107	  76.8 MiB	  -1	  0.09	 
diff --git a/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/appack_full_legalizer/config/golden_results.txt b/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/appack_full_legalizer/config/golden_results.txt
index 0d53ef34c88..91c3630a8a8 100644
--- a/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/appack_full_legalizer/config/golden_results.txt
+++ b/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/appack_full_legalizer/config/golden_results.txt
@@ -1,5 +1,5 @@
  arch	  circuit	  script_params	  vtr_flow_elapsed_time	  vtr_max_mem_stage	  vtr_max_mem	  error	  odin_synth_time	  max_odin_mem	  parmys_synth_time	  max_parmys_mem	  abc_depth	  abc_synth_time	  abc_cec_time	  abc_sec_time	  max_abc_mem	  ace_time	  max_ace_mem	  num_clb	  num_io	  num_memories	  num_mult	  vpr_status	  vpr_revision	  vpr_build_info	  vpr_compiler	  vpr_compiled	  hostname	  rundir	  max_vpr_mem	  num_primary_inputs	  num_primary_outputs	  num_pre_packed_nets	  num_pre_packed_blocks	  num_netlist_clocks	  num_post_packed_nets	  num_post_packed_blocks	  device_width	  device_height	  device_grid_tiles	  device_limiting_resources	  device_name	  pack_mem	  pack_time	  initial_placed_wirelength_est	  placed_wirelength_est	  total_swap	  accepted_swap	  rejected_swap	  aborted_swap	  place_mem	  place_time	  place_quench_time	  initial_placed_CPD_est	  placed_CPD_est	  placed_setup_TNS_est	  placed_setup_WNS_est	  placed_geomean_nonvirtual_intradomain_critical_path_delay_est	  place_delay_matrix_lookup_time	  place_quench_timing_analysis_time	  place_quench_sta_time	  place_total_timing_analysis_time	  place_total_sta_time	  ap_mem	  ap_time	  ap_full_legalizer_mem	  ap_full_legalizer_time	  routed_wirelength	  avg_routed_wirelength	  routed_wiresegment	  avg_routed_wiresegment	  total_nets_routed	  total_connections_routed	  total_heap_pushes	  total_heap_pops	  logic_block_area_total	  logic_block_area_used	  routing_area_total	  routing_area_per_tile	  crit_path_route_success_iteration	  num_rr_graph_nodes	  num_rr_graph_edges	  collapsed_nodes	  critical_path_delay	  geomean_nonvirtual_intradomain_critical_path_delay	  setup_TNS	  setup_WNS	  hold_TNS	  hold_WNS	  create_rr_graph_time	  create_intra_cluster_rr_graph_time	  adding_internal_edges	  route_mem	  crit_path_route_time	  crit_path_total_timing_analysis_time	  crit_path_total_sta_time	  router_lookahead_mem	  tile_lookahead_computation_time	  router_lookahead_computation_time	 
- k6_frac_N10_40nm.xml	  apex4.pre-vpr.blif	  common	  4.74	  vpr	  75.72 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  81	  9	  -1	  -1	  success	  v8.0.0-12398-g63e0de52b-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-10T16:22:34	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  77540	  9	  19	  897	  28	  0	  562	  109	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  9742	  6119	  10249	  1760	  5821	  2668	  75.7 MiB	  3.70	  0.01	  6.60912	  5.26997	  -81.789	  -5.26997	  nan	  0.09	  0.0035052	  0.00298022	  0.180058	  0.153756	  75.7 MiB	  3.70	  75.7 MiB	  2.39	  9723	  17.3316	  2505	  4.46524	  4006	  19859	  666446	  110600	  1.05632e+07	  4.36541e+06	  1.26944e+06	  4958.75	  17	  28900	  206586	  -1	  5.51321	  nan	  -87.5291	  -5.51321	  0	  0	  0.32	  -1	  -1	  75.7 MiB	  0.44	  0.38029	  0.335234	  75.7 MiB	  -1	  0.09	 
- k6_frac_N10_40nm.xml	  des.pre-vpr.blif	  common	  2.13	  vpr	  76.22 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  52	  256	  -1	  -1	  success	  v8.0.0-12398-g63e0de52b-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-10T16:22:34	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  78052	  256	  245	  954	  501	  0	  582	  553	  22	  22	  484	  -1	  mcnc_large	  -1	  -1	  8094	  7501	  39126	  389	  7567	  31170	  76.2 MiB	  1.12	  0.02	  5.73036	  4.09857	  -784.452	  -4.09857	  nan	  0.13	  0.00329462	  0.00292336	  0.0814643	  0.073498	  76.2 MiB	  1.12	  76.2 MiB	  0.62	  10270	  17.6460	  2810	  4.82818	  2238	  5018	  286471	  63337	  2.15576e+07	  2.80249e+06	  1.49107e+06	  3080.73	  14	  47664	  245996	  -1	  4.45761	  nan	  -846.555	  -4.45761	  0	  0	  0.44	  -1	  -1	  76.2 MiB	  0.26	  0.228991	  0.210429	  76.2 MiB	  -1	  0.13	 
- k6_frac_N10_40nm.xml	  ex1010.pre-vpr.blif	  common	  14.37	  vpr	  106.05 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  290	  10	  -1	  -1	  success	  v8.0.0-12398-g63e0de52b-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-10T16:22:34	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  108600	  10	  10	  2659	  20	  0	  1285	  310	  22	  22	  484	  -1	  mcnc_large	  -1	  -1	  35642	  24564	  56902	  15498	  35924	  5480	  106.1 MiB	  11.86	  0.02	  9.2649	  6.61089	  -64.2928	  -6.61089	  nan	  0.16	  0.00709645	  0.00577285	  0.43209	  0.360098	  106.1 MiB	  11.86	  106.1 MiB	  6.76	  37798	  29.4148	  9576	  7.45214	  8278	  52602	  2224659	  293057	  2.15576e+07	  1.56293e+07	  3.51389e+06	  7260.09	  17	  64568	  594370	  -1	  6.83554	  nan	  -66.0686	  -6.83554	  0	  0	  1.10	  -1	  -1	  106.1 MiB	  0.84	  0.802982	  0.692043	  106.1 MiB	  -1	  0.16	 
- k6_frac_N10_40nm.xml	  seq.pre-vpr.blif	  common	  4.72	  vpr	  76.63 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  82	  41	  -1	  -1	  success	  v8.0.0-12398-g63e0de52b-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-10T16:22:34	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  78472	  41	  35	  1006	  76	  0	  578	  158	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  10490	  6475	  10406	  884	  4940	  4582	  76.6 MiB	  3.56	  0.01	  6.29657	  4.68967	  -140.848	  -4.68967	  nan	  0.09	  0.00423796	  0.00353974	  0.144045	  0.126533	  76.6 MiB	  3.56	  76.6 MiB	  2.22	  10487	  18.1436	  2747	  4.75259	  4099	  21208	  684107	  115230	  1.05632e+07	  4.41931e+06	  1.26944e+06	  4958.75	  18	  28900	  206586	  -1	  4.97595	  nan	  -146.106	  -4.97595	  0	  0	  0.35	  -1	  -1	  76.6 MiB	  0.49	  0.365708	  0.327139	  76.6 MiB	  -1	  0.09	 
+ k6_frac_N10_40nm.xml	  apex4.pre-vpr.blif	  common	  4.88	  vpr	  75.36 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  83	  9	  -1	  -1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  77168	  9	  19	  897	  28	  0	  565	  111	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  6985	  6104	  4899	  468	  3178	  1253	  75.4 MiB	  3.73	  0.01	  5.45737	  4.88762	  -81.315	  -4.88762	  nan	  0.09	  0.00371221	  0.00305644	  0.097355	  0.0840965	  75.4 MiB	  3.73	  75.4 MiB	  2.65	  9609	  17.0372	  2580	  4.57447	  4604	  23759	  790399	  131608	  1.05632e+07	  4.4732e+06	  1.26944e+06	  4958.75	  18	  28900	  206586	  -1	  5.07748	  nan	  -84.5559	  -5.07748	  0	  0	  0.34	  -1	  -1	  75.4 MiB	  0.50	  0.299102	  0.265267	  75.4 MiB	  -1	  0.09	 
+ k6_frac_N10_40nm.xml	  des.pre-vpr.blif	  common	  2.04	  vpr	  75.95 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  58	  256	  -1	  -1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  77776	  256	  245	  954	  501	  0	  584	  559	  22	  22	  484	  -1	  mcnc_large	  -1	  -1	  7428	  7369	  18967	  157	  2360	  16450	  76.0 MiB	  1.04	  0.02	  4.87092	  4.07054	  -789.645	  -4.07054	  nan	  0.13	  0.00356373	  0.00322411	  0.0543939	  0.0472155	  76.0 MiB	  1.04	  76.0 MiB	  0.69	  10168	  17.4110	  2803	  4.79966	  2303	  5353	  301769	  65803	  2.15576e+07	  3.12585e+06	  1.49107e+06	  3080.73	  13	  47664	  245996	  -1	  4.58117	  nan	  -866.844	  -4.58117	  0	  0	  0.39	  -1	  -1	  76.0 MiB	  0.32	  0.22263	  0.205375	  76.0 MiB	  -1	  0.13	 
+ k6_frac_N10_40nm.xml	  ex1010.pre-vpr.blif	  common	  14.50	  vpr	  105.74 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  289	  10	  -1	  -1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  108280	  10	  10	  2659	  20	  0	  1312	  309	  22	  22	  484	  -1	  mcnc_large	  -1	  -1	  30891	  24822	  37893	  7171	  26674	  4048	  105.7 MiB	  11.89	  0.02	  9.04847	  6.65923	  -63.8387	  -6.65923	  nan	  0.16	  0.0066784	  0.00535245	  0.30231	  0.252682	  105.7 MiB	  11.89	  105.7 MiB	  7.07	  37153	  28.3178	  9567	  7.29192	  8219	  52828	  2194741	  285748	  2.15576e+07	  1.55754e+07	  3.51389e+06	  7260.09	  18	  64568	  594370	  -1	  7.35737	  nan	  -66.9799	  -7.35737	  0	  0	  1.11	  -1	  -1	  105.7 MiB	  0.94	  0.707357	  0.615217	  105.7 MiB	  -1	  0.16	 
+ k6_frac_N10_40nm.xml	  seq.pre-vpr.blif	  common	  4.83	  vpr	  76.43 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  84	  41	  -1	  -1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  78264	  41	  35	  1006	  76	  0	  573	  160	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  7311	  6476	  7538	  345	  3855	  3338	  76.4 MiB	  3.68	  0.01	  5.73065	  5.08486	  -143.975	  -5.08486	  nan	  0.11	  0.00384755	  0.00327555	  0.103123	  0.0900634	  76.4 MiB	  3.68	  76.4 MiB	  2.39	  10018	  17.4834	  2728	  4.76091	  4171	  21468	  688416	  120931	  1.05632e+07	  4.5271e+06	  1.26944e+06	  4958.75	  18	  28900	  206586	  -1	  5.29306	  nan	  -148.307	  -5.29306	  0	  0	  0.35	  -1	  -1	  76.4 MiB	  0.48	  0.323332	  0.288275	  76.4 MiB	  -1	  0.11	 
diff --git a/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/bipartitioning_partial_legalizer/config/golden_results.txt b/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/bipartitioning_partial_legalizer/config/golden_results.txt
index fd84ac2c275..e03594be3ed 100644
--- a/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/bipartitioning_partial_legalizer/config/golden_results.txt
+++ b/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/bipartitioning_partial_legalizer/config/golden_results.txt
@@ -1,5 +1,5 @@
  arch	  circuit	  script_params	  vtr_flow_elapsed_time	  vtr_max_mem_stage	  vtr_max_mem	  error	  odin_synth_time	  max_odin_mem	  parmys_synth_time	  max_parmys_mem	  abc_depth	  abc_synth_time	  abc_cec_time	  abc_sec_time	  max_abc_mem	  ace_time	  max_ace_mem	  num_clb	  num_io	  num_memories	  num_mult	  vpr_status	  vpr_revision	  vpr_build_info	  vpr_compiler	  vpr_compiled	  hostname	  rundir	  max_vpr_mem	  num_primary_inputs	  num_primary_outputs	  num_pre_packed_nets	  num_pre_packed_blocks	  num_netlist_clocks	  num_post_packed_nets	  num_post_packed_blocks	  device_width	  device_height	  device_grid_tiles	  device_limiting_resources	  device_name	  pack_mem	  pack_time	  initial_placed_wirelength_est	  placed_wirelength_est	  total_swap	  accepted_swap	  rejected_swap	  aborted_swap	  place_mem	  place_time	  place_quench_time	  initial_placed_CPD_est	  placed_CPD_est	  placed_setup_TNS_est	  placed_setup_WNS_est	  placed_geomean_nonvirtual_intradomain_critical_path_delay_est	  place_delay_matrix_lookup_time	  place_quench_timing_analysis_time	  place_quench_sta_time	  place_total_timing_analysis_time	  place_total_sta_time	  ap_mem	  ap_time	  ap_full_legalizer_mem	  ap_full_legalizer_time	  routed_wirelength	  avg_routed_wirelength	  routed_wiresegment	  avg_routed_wiresegment	  total_nets_routed	  total_connections_routed	  total_heap_pushes	  total_heap_pops	  logic_block_area_total	  logic_block_area_used	  routing_area_total	  routing_area_per_tile	  crit_path_route_success_iteration	  num_rr_graph_nodes	  num_rr_graph_edges	  collapsed_nodes	  critical_path_delay	  geomean_nonvirtual_intradomain_critical_path_delay	  setup_TNS	  setup_WNS	  hold_TNS	  hold_WNS	  create_rr_graph_time	  create_intra_cluster_rr_graph_time	  adding_internal_edges	  route_mem	  crit_path_route_time	  crit_path_total_timing_analysis_time	  crit_path_total_sta_time	  router_lookahead_mem	  tile_lookahead_computation_time	  router_lookahead_computation_time	 
- k6_frac_N10_40nm.xml	  apex4.pre-vpr.blif	  common	  4.83	  vpr	  75.60 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  81	  9	  -1	  -1	  success	  v8.0.0-12398-g63e0de52b-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-10T16:22:34	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  77412	  9	  19	  897	  28	  0	  562	  109	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  9742	  6119	  10249	  1760	  5821	  2668	  75.6 MiB	  3.75	  0.01	  6.60912	  5.26997	  -81.789	  -5.26997	  nan	  0.09	  0.00361843	  0.00310078	  0.177919	  0.151899	  75.6 MiB	  3.75	  75.6 MiB	  2.43	  9723	  17.3316	  2505	  4.46524	  4006	  19859	  666446	  110600	  1.05632e+07	  4.36541e+06	  1.26944e+06	  4958.75	  17	  28900	  206586	  -1	  5.51321	  nan	  -87.5291	  -5.51321	  0	  0	  0.34	  -1	  -1	  75.6 MiB	  0.45	  0.377186	  0.332405	  75.6 MiB	  -1	  0.09	 
- k6_frac_N10_40nm.xml	  des.pre-vpr.blif	  common	  2.00	  vpr	  76.24 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  52	  256	  -1	  -1	  success	  v8.0.0-12398-g63e0de52b-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-10T16:22:34	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  78072	  256	  245	  954	  501	  0	  582	  553	  22	  22	  484	  -1	  mcnc_large	  -1	  -1	  8094	  7501	  39126	  389	  7567	  31170	  76.2 MiB	  1.12	  0.02	  5.73036	  4.09857	  -784.452	  -4.09857	  nan	  0.13	  0.00374322	  0.0033467	  0.0845942	  0.0761009	  76.2 MiB	  1.12	  76.2 MiB	  0.62	  10270	  17.6460	  2810	  4.82818	  2238	  5018	  286471	  63337	  2.15576e+07	  2.80249e+06	  1.49107e+06	  3080.73	  14	  47664	  245996	  -1	  4.45761	  nan	  -846.555	  -4.45761	  0	  0	  0.38	  -1	  -1	  76.2 MiB	  0.26	  0.230663	  0.21125	  76.2 MiB	  -1	  0.13	 
- k6_frac_N10_40nm.xml	  ex1010.pre-vpr.blif	  common	  16.71	  vpr	  106.05 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  290	  10	  -1	  -1	  success	  v8.0.0-12398-g63e0de52b-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-10T16:22:34	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  108596	  10	  10	  2659	  20	  0	  1285	  310	  22	  22	  484	  -1	  mcnc_large	  -1	  -1	  35642	  24564	  56902	  15498	  35924	  5480	  106.1 MiB	  14.09	  0.02	  9.2649	  6.61089	  -64.2928	  -6.61089	  nan	  0.30	  0.00665661	  0.00535536	  0.666172	  0.560129	  106.1 MiB	  14.09	  106.1 MiB	  7.75	  37798	  29.4148	  9576	  7.45214	  8278	  52602	  2224659	  293057	  2.15576e+07	  1.56293e+07	  3.51389e+06	  7260.09	  17	  64568	  594370	  -1	  6.83554	  nan	  -66.0686	  -6.83554	  0	  0	  1.12	  -1	  -1	  106.1 MiB	  0.93	  1.06756	  0.920617	  106.1 MiB	  -1	  0.30	 
- k6_frac_N10_40nm.xml	  seq.pre-vpr.blif	  common	  4.72	  vpr	  76.76 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  82	  41	  -1	  -1	  success	  v8.0.0-12398-g63e0de52b-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-10T16:22:34	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  78604	  41	  35	  1006	  76	  0	  578	  158	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  10490	  6475	  10406	  884	  4940	  4582	  76.8 MiB	  3.58	  0.01	  6.29657	  4.68967	  -140.848	  -4.68967	  nan	  0.09	  0.00435878	  0.0036697	  0.124285	  0.107404	  76.8 MiB	  3.58	  76.8 MiB	  2.26	  10487	  18.1436	  2747	  4.75259	  4099	  21208	  684107	  115230	  1.05632e+07	  4.41931e+06	  1.26944e+06	  4958.75	  18	  28900	  206586	  -1	  4.97595	  nan	  -146.106	  -4.97595	  0	  0	  0.35	  -1	  -1	  76.8 MiB	  0.48	  0.351249	  0.313025	  76.8 MiB	  -1	  0.09	 
+ k6_frac_N10_40nm.xml	  apex4.pre-vpr.blif	  common	  4.66	  vpr	  75.36 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  83	  9	  -1	  -1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  77168	  9	  19	  897	  28	  0	  565	  111	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  6985	  6104	  4899	  468	  3178	  1253	  75.4 MiB	  3.54	  0.01	  5.45737	  4.88762	  -81.315	  -4.88762	  nan	  0.09	  0.00377685	  0.0031064	  0.0971738	  0.0840095	  75.4 MiB	  3.54	  75.4 MiB	  2.44	  9609	  17.0372	  2580	  4.57447	  4604	  23759	  790399	  131608	  1.05632e+07	  4.4732e+06	  1.26944e+06	  4958.75	  18	  28900	  206586	  -1	  5.07748	  nan	  -84.5559	  -5.07748	  0	  0	  0.35	  -1	  -1	  75.4 MiB	  0.49	  0.299893	  0.266532	  75.4 MiB	  -1	  0.09	 
+ k6_frac_N10_40nm.xml	  des.pre-vpr.blif	  common	  1.87	  vpr	  76.21 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  58	  256	  -1	  -1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  78040	  256	  245	  954	  501	  0	  584	  559	  22	  22	  484	  -1	  mcnc_large	  -1	  -1	  7428	  7369	  18967	  157	  2360	  16450	  76.2 MiB	  0.95	  0.02	  4.87092	  4.07054	  -789.645	  -4.07054	  nan	  0.12	  0.00361228	  0.00324116	  0.0472811	  0.0432415	  76.2 MiB	  0.95	  76.2 MiB	  0.63	  10168	  17.4110	  2803	  4.79966	  2303	  5353	  301769	  65803	  2.15576e+07	  3.12585e+06	  1.49107e+06	  3080.73	  13	  47664	  245996	  -1	  4.58117	  nan	  -866.844	  -4.58117	  0	  0	  0.40	  -1	  -1	  76.2 MiB	  0.27	  0.192439	  0.178374	  76.2 MiB	  -1	  0.12	 
+ k6_frac_N10_40nm.xml	  ex1010.pre-vpr.blif	  common	  15.92	  vpr	  105.80 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  289	  10	  -1	  -1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  108344	  10	  10	  2659	  20	  0	  1312	  309	  22	  22	  484	  -1	  mcnc_large	  -1	  -1	  30891	  24822	  37893	  7171	  26674	  4048	  105.8 MiB	  13.27	  0.02	  9.04847	  6.65923	  -63.8387	  -6.65923	  nan	  0.27	  0.0064285	  0.00513075	  0.474187	  0.399734	  105.8 MiB	  13.27	  105.8 MiB	  7.54	  37153	  28.3178	  9567	  7.29192	  8219	  52828	  2194741	  285748	  2.15576e+07	  1.55754e+07	  3.51389e+06	  7260.09	  18	  64568	  594370	  -1	  7.35737	  nan	  -66.9799	  -7.35737	  0	  0	  1.15	  -1	  -1	  105.8 MiB	  0.91	  0.870133	  0.753188	  105.8 MiB	  -1	  0.27	 
+ k6_frac_N10_40nm.xml	  seq.pre-vpr.blif	  common	  4.70	  vpr	  76.73 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  84	  41	  -1	  -1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  78576	  41	  35	  1006	  76	  0	  573	  160	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  7311	  6476	  7538	  345	  3855	  3338	  76.7 MiB	  3.57	  0.01	  5.73065	  5.08486	  -143.975	  -5.08486	  nan	  0.10	  0.00387961	  0.00328771	  0.108944	  0.0952913	  76.7 MiB	  3.57	  76.7 MiB	  2.29	  10018	  17.4834	  2728	  4.76091	  4171	  21468	  688416	  120931	  1.05632e+07	  4.5271e+06	  1.26944e+06	  4958.75	  18	  28900	  206586	  -1	  5.29306	  nan	  -148.307	  -5.29306	  0	  0	  0.32	  -1	  -1	  76.7 MiB	  0.51	  0.337895	  0.301103	  76.7 MiB	  -1	  0.10	 
diff --git a/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/flowbased_partial_legalizer/config/golden_results.txt b/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/flowbased_partial_legalizer/config/golden_results.txt
index 6d4d19ae438..260e0e2c056 100644
--- a/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/flowbased_partial_legalizer/config/golden_results.txt
+++ b/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/flowbased_partial_legalizer/config/golden_results.txt
@@ -1,5 +1,5 @@
  arch	  circuit	  script_params	  vtr_flow_elapsed_time	  vtr_max_mem_stage	  vtr_max_mem	  error	  odin_synth_time	  max_odin_mem	  parmys_synth_time	  max_parmys_mem	  abc_depth	  abc_synth_time	  abc_cec_time	  abc_sec_time	  max_abc_mem	  ace_time	  max_ace_mem	  num_clb	  num_io	  num_memories	  num_mult	  vpr_status	  vpr_revision	  vpr_build_info	  vpr_compiler	  vpr_compiled	  hostname	  rundir	  max_vpr_mem	  num_primary_inputs	  num_primary_outputs	  num_pre_packed_nets	  num_pre_packed_blocks	  num_netlist_clocks	  num_post_packed_nets	  num_post_packed_blocks	  device_width	  device_height	  device_grid_tiles	  device_limiting_resources	  device_name	  pack_mem	  pack_time	  initial_placed_wirelength_est	  placed_wirelength_est	  total_swap	  accepted_swap	  rejected_swap	  aborted_swap	  place_mem	  place_time	  place_quench_time	  initial_placed_CPD_est	  placed_CPD_est	  placed_setup_TNS_est	  placed_setup_WNS_est	  placed_geomean_nonvirtual_intradomain_critical_path_delay_est	  place_delay_matrix_lookup_time	  place_quench_timing_analysis_time	  place_quench_sta_time	  place_total_timing_analysis_time	  place_total_sta_time	  ap_mem	  ap_time	  ap_full_legalizer_mem	  ap_full_legalizer_time	  routed_wirelength	  avg_routed_wirelength	  routed_wiresegment	  avg_routed_wiresegment	  total_nets_routed	  total_connections_routed	  total_heap_pushes	  total_heap_pops	  logic_block_area_total	  logic_block_area_used	  routing_area_total	  routing_area_per_tile	  crit_path_route_success_iteration	  num_rr_graph_nodes	  num_rr_graph_edges	  collapsed_nodes	  critical_path_delay	  geomean_nonvirtual_intradomain_critical_path_delay	  setup_TNS	  setup_WNS	  hold_TNS	  hold_WNS	  create_rr_graph_time	  create_intra_cluster_rr_graph_time	  adding_internal_edges	  route_mem	  crit_path_route_time	  crit_path_total_timing_analysis_time	  crit_path_total_sta_time	  router_lookahead_mem	  tile_lookahead_computation_time	  router_lookahead_computation_time	 
- k6_frac_N10_40nm.xml	  apex4.pre-vpr.blif	  common	  12.62	  vpr	  74.31 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  80	  9	  -1	  -1	  success	  v8.0.0-12360-gc452b7d62-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.2.0 on Linux-6.8.0-49-generic x86_64	  2025-03-31T20:05:43	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  76096	  9	  19	  897	  28	  0	  584	  108	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  9926	  6388	  9360	  1577	  5386	  2397	  74.3 MiB	  5.70	  0.01	  6.43571	  5.02313	  -83.9819	  -5.02313	  nan	  0.06	  0.00185978	  0.00147058	  0.0799794	  0.0660381	  74.3 MiB	  5.70	  74.3 MiB	  1.43	  10240	  17.5643	  2650	  4.54545	  4343	  20498	  701095	  117730	  1.05632e+07	  4.31152e+06	  1.26944e+06	  4958.75	  19	  28900	  206586	  -1	  5.38542	  nan	  -87.7064	  -5.38542	  0	  0	  0.19	  -1	  -1	  74.3 MiB	  0.26	  0.197396	  0.17025	  74.3 MiB	  -1	  0.05	 
- k6_frac_N10_40nm.xml	  des.pre-vpr.blif	  common	  2.32	  vpr	  75.27 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  57	  256	  -1	  -1	  success	  v8.0.0-12360-gc452b7d62-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.2.0 on Linux-6.8.0-49-generic x86_64	  2025-03-31T20:05:43	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  77076	  256	  245	  954	  501	  0	  594	  558	  22	  22	  484	  -1	  mcnc_large	  -1	  -1	  8638	  7318	  44182	  518	  9501	  34163	  75.3 MiB	  0.67	  0.01	  5.66617	  4.14214	  -792.809	  -4.14214	  nan	  0.07	  0.00208712	  0.00185181	  0.0537576	  0.048756	  75.3 MiB	  0.67	  75.3 MiB	  0.37	  10133	  17.0589	  2794	  4.70370	  2430	  5324	  301583	  66661	  2.15576e+07	  3.07196e+06	  1.49107e+06	  3080.73	  12	  47664	  245996	  -1	  4.75649	  nan	  -895.431	  -4.75649	  0	  0	  0.21	  -1	  -1	  75.3 MiB	  0.15	  0.141255	  0.130583	  75.3 MiB	  -1	  0.07	 
- k6_frac_N10_40nm.xml	  ex1010.pre-vpr.blif	  common	  51.54	  vpr	  102.98 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  291	  10	  -1	  -1	  success	  v8.0.0-12360-gc452b7d62-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.2.0 on Linux-6.8.0-49-generic x86_64	  2025-03-31T20:05:43	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  105452	  10	  10	  2659	  20	  0	  1408	  311	  22	  22	  484	  -1	  mcnc_large	  -1	  -1	  37550	  26161	  58226	  15798	  37153	  5275	  103.0 MiB	  23.78	  0.03	  9.68078	  6.57123	  -63.8025	  -6.57123	  nan	  0.16	  0.0065839	  0.00526862	  0.429236	  0.356006	  103.0 MiB	  23.78	  103.0 MiB	  4.32	  39984	  28.3977	  10109	  7.17969	  10202	  60703	  2773126	  353665	  2.15576e+07	  1.56832e+07	  3.51389e+06	  7260.09	  18	  64568	  594370	  -1	  6.79723	  nan	  -65.6391	  -6.79723	  0	  0	  0.63	  -1	  -1	  103.0 MiB	  1.05	  0.82393	  0.707849	  103.0 MiB	  -1	  0.16	 
- k6_frac_N10_40nm.xml	  seq.pre-vpr.blif	  common	  12.93	  vpr	  75.62 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  87	  41	  -1	  -1	  success	  v8.0.0-12360-gc452b7d62-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.2.0 on Linux-6.8.0-49-generic x86_64	  2025-03-31T20:05:43	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  77440	  41	  35	  1006	  76	  0	  593	  163	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  10931	  6699	  10398	  846	  4997	  4555	  75.6 MiB	  5.83	  0.01	  6.29407	  4.89173	  -140.548	  -4.89173	  nan	  0.05	  0.00178239	  0.00141272	  0.0611088	  0.0513396	  75.6 MiB	  5.83	  75.6 MiB	  1.26	  10678	  18.0067	  2822	  4.75885	  4682	  24845	  807602	  138478	  1.05632e+07	  4.68878e+06	  1.26944e+06	  4958.75	  18	  28900	  206586	  -1	  5.05377	  nan	  -146.422	  -5.05377	  0	  0	  0.19	  -1	  -1	  75.6 MiB	  0.27	  0.180074	  0.157058	  75.6 MiB	  -1	  0.05	 
+ k6_frac_N10_40nm.xml	  apex4.pre-vpr.blif	  common	  11.76	  vpr	  75.41 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  81	  9	  -1	  -1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  77216	  9	  19	  897	  28	  0	  575	  109	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  7102	  6246	  3749	  356	  2360	  1033	  75.4 MiB	  10.60	  0.01	  5.59875	  5.15754	  -83.6777	  -5.15754	  nan	  0.09	  0.00367809	  0.00303729	  0.0800582	  0.0701494	  75.4 MiB	  10.60	  75.4 MiB	  2.58	  9765	  17.0122	  2613	  4.55226	  4147	  20677	  658214	  114215	  1.05632e+07	  4.36541e+06	  1.26944e+06	  4958.75	  18	  28900	  206586	  -1	  5.35541	  nan	  -88.358	  -5.35541	  0	  0	  0.32	  -1	  -1	  75.4 MiB	  0.48	  0.288075	  0.253539	  75.4 MiB	  -1	  0.09	 
+ k6_frac_N10_40nm.xml	  des.pre-vpr.blif	  common	  1.95	  vpr	  76.07 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  57	  256	  -1	  -1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  77892	  256	  245	  954	  501	  0	  585	  558	  22	  22	  484	  -1	  mcnc_large	  -1	  -1	  7568	  7468	  23518	  202	  3225	  20091	  76.1 MiB	  1.06	  0.02	  4.58215	  4.06321	  -789.076	  -4.06321	  nan	  0.17	  0.00395794	  0.00352194	  0.0546633	  0.0494666	  76.1 MiB	  1.06	  76.1 MiB	  0.64	  10448	  17.8598	  2871	  4.90769	  2610	  5820	  337031	  73978	  2.15576e+07	  3.07196e+06	  1.49107e+06	  3080.73	  15	  47664	  245996	  -1	  4.29926	  nan	  -860.162	  -4.29926	  0	  0	  0.37	  -1	  -1	  76.1 MiB	  0.29	  0.21912	  0.199431	  76.1 MiB	  -1	  0.17	 
+ k6_frac_N10_40nm.xml	  ex1010.pre-vpr.blif	  common	  34.79	  vpr	  105.75 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  284	  10	  -1	  -1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  108284	  10	  10	  2659	  20	  0	  1371	  304	  22	  22	  484	  -1	  mcnc_large	  -1	  -1	  32736	  26176	  50333	  12484	  33100	  4749	  105.7 MiB	  32.12	  0.02	  8.62387	  6.83404	  -65.9282	  -6.83404	  nan	  0.15	  0.0053571	  0.00415525	  0.333874	  0.272699	  105.7 MiB	  32.12	  105.7 MiB	  4.39	  39078	  28.5033	  10004	  7.29686	  9032	  54400	  2294214	  310826	  2.15576e+07	  1.53059e+07	  3.51389e+06	  7260.09	  18	  64568	  594370	  -1	  7.03175	  nan	  -67.1956	  -7.03175	  0	  0	  1.19	  -1	  -1	  105.7 MiB	  0.86	  0.709263	  0.607527	  105.7 MiB	  -1	  0.15	 
+ k6_frac_N10_40nm.xml	  seq.pre-vpr.blif	  common	  12.51	  vpr	  76.27 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  85	  41	  -1	  -1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  78100	  41	  35	  1006	  76	  0	  566	  161	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  7257	  6649	  5842	  273	  2922	  2647	  76.3 MiB	  11.37	  0.02	  5.58018	  4.9431	  -137.944	  -4.9431	  nan	  0.09	  0.00696141	  0.00638215	  0.115593	  0.094552	  76.3 MiB	  11.37	  76.3 MiB	  2.39	  10043	  17.7438	  2739	  4.83922	  3885	  20440	  636556	  113525	  1.05632e+07	  4.58099e+06	  1.26944e+06	  4958.75	  17	  28900	  206586	  -1	  5.06598	  nan	  -144.027	  -5.06598	  0	  0	  0.35	  -1	  -1	  76.3 MiB	  0.47	  0.340764	  0.297617	  76.3 MiB	  -1	  0.09	 
diff --git a/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/lp_b2b_analytical_solver/config/golden_results.txt b/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/lp_b2b_analytical_solver/config/golden_results.txt
index de30f274bbf..e9dd4dbf472 100644
--- a/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/lp_b2b_analytical_solver/config/golden_results.txt
+++ b/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/lp_b2b_analytical_solver/config/golden_results.txt
@@ -1,5 +1,5 @@
  arch	  circuit	  script_params	  vtr_flow_elapsed_time	  vtr_max_mem_stage	  vtr_max_mem	  error	  odin_synth_time	  max_odin_mem	  parmys_synth_time	  max_parmys_mem	  abc_depth	  abc_synth_time	  abc_cec_time	  abc_sec_time	  max_abc_mem	  ace_time	  max_ace_mem	  num_clb	  num_io	  num_memories	  num_mult	  vpr_status	  vpr_revision	  vpr_build_info	  vpr_compiler	  vpr_compiled	  hostname	  rundir	  max_vpr_mem	  num_primary_inputs	  num_primary_outputs	  num_pre_packed_nets	  num_pre_packed_blocks	  num_netlist_clocks	  num_post_packed_nets	  num_post_packed_blocks	  device_width	  device_height	  device_grid_tiles	  device_limiting_resources	  device_name	  pack_mem	  pack_time	  initial_placed_wirelength_est	  placed_wirelength_est	  total_swap	  accepted_swap	  rejected_swap	  aborted_swap	  place_mem	  place_time	  place_quench_time	  initial_placed_CPD_est	  placed_CPD_est	  placed_setup_TNS_est	  placed_setup_WNS_est	  placed_geomean_nonvirtual_intradomain_critical_path_delay_est	  place_delay_matrix_lookup_time	  place_quench_timing_analysis_time	  place_quench_sta_time	  place_total_timing_analysis_time	  place_total_sta_time	  ap_mem	  ap_time	  ap_full_legalizer_mem	  ap_full_legalizer_time	  routed_wirelength	  avg_routed_wirelength	  routed_wiresegment	  avg_routed_wiresegment	  total_nets_routed	  total_connections_routed	  total_heap_pushes	  total_heap_pops	  logic_block_area_total	  logic_block_area_used	  routing_area_total	  routing_area_per_tile	  crit_path_route_success_iteration	  num_rr_graph_nodes	  num_rr_graph_edges	  collapsed_nodes	  critical_path_delay	  geomean_nonvirtual_intradomain_critical_path_delay	  setup_TNS	  setup_WNS	  hold_TNS	  hold_WNS	  create_rr_graph_time	  create_intra_cluster_rr_graph_time	  adding_internal_edges	  route_mem	  crit_path_route_time	  crit_path_total_timing_analysis_time	  crit_path_total_sta_time	  router_lookahead_mem	  tile_lookahead_computation_time	  router_lookahead_computation_time	 
- k6_frac_N10_40nm.xml	  apex4.pre-vpr.blif	  common	  4.72	  vpr	  75.72 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  81	  9	  -1	  -1	  success	  v8.0.0-12398-g63e0de52b-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-10T16:22:34	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  77540	  9	  19	  897	  28	  0	  562	  109	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  9742	  6119	  10249	  1760	  5821	  2668	  75.7 MiB	  3.68	  0.01	  6.60912	  5.26997	  -81.789	  -5.26997	  nan	  0.08	  0.00350713	  0.00300109	  0.161716	  0.138088	  75.7 MiB	  3.68	  75.7 MiB	  2.36	  9723	  17.3316	  2505	  4.46524	  4006	  19859	  666446	  110600	  1.05632e+07	  4.36541e+06	  1.26944e+06	  4958.75	  17	  28900	  206586	  -1	  5.51321	  nan	  -87.5291	  -5.51321	  0	  0	  0.33	  -1	  -1	  75.7 MiB	  0.43	  0.350348	  0.308618	  75.7 MiB	  -1	  0.08	 
- k6_frac_N10_40nm.xml	  des.pre-vpr.blif	  common	  1.98	  vpr	  76.11 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  52	  256	  -1	  -1	  success	  v8.0.0-12398-g63e0de52b-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-10T16:22:34	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  77936	  256	  245	  954	  501	  0	  582	  553	  22	  22	  484	  -1	  mcnc_large	  -1	  -1	  8094	  7501	  39126	  389	  7567	  31170	  76.1 MiB	  1.10	  0.02	  5.73036	  4.09857	  -784.452	  -4.09857	  nan	  0.13	  0.00370737	  0.00330932	  0.0842991	  0.0760928	  76.1 MiB	  1.10	  76.1 MiB	  0.59	  10270	  17.6460	  2810	  4.82818	  2238	  5018	  286471	  63337	  2.15576e+07	  2.80249e+06	  1.49107e+06	  3080.73	  14	  47664	  245996	  -1	  4.45761	  nan	  -846.555	  -4.45761	  0	  0	  0.38	  -1	  -1	  76.1 MiB	  0.27	  0.233583	  0.214694	  76.1 MiB	  -1	  0.13	 
- k6_frac_N10_40nm.xml	  ex1010.pre-vpr.blif	  common	  17.80	  vpr	  105.57 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  290	  10	  -1	  -1	  success	  v8.0.0-12398-g63e0de52b-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-10T16:22:34	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  108108	  10	  10	  2659	  20	  0	  1285	  310	  22	  22	  484	  -1	  mcnc_large	  -1	  -1	  35642	  24564	  56902	  15498	  35924	  5480	  105.6 MiB	  14.32	  0.04	  9.2649	  6.61089	  -64.2928	  -6.61089	  nan	  0.28	  0.0111602	  0.00917763	  0.734799	  0.619682	  105.6 MiB	  14.32	  105.6 MiB	  7.72	  37798	  29.4148	  9576	  7.45214	  8278	  52602	  2224659	  293057	  2.15576e+07	  1.56293e+07	  3.51389e+06	  7260.09	  17	  64568	  594370	  -1	  6.83554	  nan	  -66.0686	  -6.83554	  0	  0	  1.18	  -1	  -1	  105.6 MiB	  1.46	  1.37597	  1.19895	  105.6 MiB	  -1	  0.28	 
- k6_frac_N10_40nm.xml	  seq.pre-vpr.blif	  common	  4.61	  vpr	  76.64 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  82	  41	  -1	  -1	  success	  v8.0.0-12398-g63e0de52b-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-10T16:22:34	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  78480	  41	  35	  1006	  76	  0	  578	  158	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  10490	  6475	  10406	  884	  4940	  4582	  76.6 MiB	  3.50	  0.01	  6.29657	  4.68967	  -140.848	  -4.68967	  nan	  0.09	  0.00396579	  0.00332055	  0.127703	  0.110502	  76.6 MiB	  3.50	  76.6 MiB	  2.19	  10487	  18.1436	  2747	  4.75259	  4099	  21208	  684107	  115230	  1.05632e+07	  4.41931e+06	  1.26944e+06	  4958.75	  18	  28900	  206586	  -1	  4.97595	  nan	  -146.106	  -4.97595	  0	  0	  0.33	  -1	  -1	  76.6 MiB	  0.48	  0.3515	  0.312821	  76.6 MiB	  -1	  0.09	 
+ k6_frac_N10_40nm.xml	  apex4.pre-vpr.blif	  common	  4.77	  vpr	  75.73 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  83	  9	  -1	  -1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  77552	  9	  19	  897	  28	  0	  565	  111	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  6985	  6104	  4899	  468	  3178	  1253	  75.7 MiB	  3.65	  0.01	  5.45737	  4.88762	  -81.315	  -4.88762	  nan	  0.09	  0.00374471	  0.00311178	  0.0942637	  0.0815881	  75.7 MiB	  3.65	  75.7 MiB	  2.54	  9609	  17.0372	  2580	  4.57447	  4604	  23759	  790399	  131608	  1.05632e+07	  4.4732e+06	  1.26944e+06	  4958.75	  18	  28900	  206586	  -1	  5.07748	  nan	  -84.5559	  -5.07748	  0	  0	  0.34	  -1	  -1	  75.7 MiB	  0.49	  0.296978	  0.264335	  75.7 MiB	  -1	  0.09	 
+ k6_frac_N10_40nm.xml	  des.pre-vpr.blif	  common	  1.88	  vpr	  76.21 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  58	  256	  -1	  -1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  78040	  256	  245	  954	  501	  0	  584	  559	  22	  22	  484	  -1	  mcnc_large	  -1	  -1	  7428	  7369	  18967	  157	  2360	  16450	  76.2 MiB	  0.98	  0.02	  4.87092	  4.07054	  -789.645	  -4.07054	  nan	  0.14	  0.0035648	  0.00318679	  0.0499558	  0.0460383	  76.2 MiB	  0.98	  76.2 MiB	  0.63	  10168	  17.4110	  2803	  4.79966	  2303	  5353	  301769	  65803	  2.15576e+07	  3.12585e+06	  1.49107e+06	  3080.73	  13	  47664	  245996	  -1	  4.58117	  nan	  -866.844	  -4.58117	  0	  0	  0.38	  -1	  -1	  76.2 MiB	  0.27	  0.197871	  0.183716	  76.2 MiB	  -1	  0.14	 
+ k6_frac_N10_40nm.xml	  ex1010.pre-vpr.blif	  common	  16.47	  vpr	  105.51 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  289	  10	  -1	  -1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  108040	  10	  10	  2659	  20	  0	  1312	  309	  22	  22	  484	  -1	  mcnc_large	  -1	  -1	  30891	  24822	  37893	  7171	  26674	  4048	  105.5 MiB	  12.86	  0.04	  9.04847	  6.65923	  -63.8387	  -6.65923	  nan	  0.29	  0.0116739	  0.00965721	  0.534688	  0.455619	  105.5 MiB	  12.86	  105.5 MiB	  7.17	  37153	  28.3178	  9567	  7.29192	  8219	  52828	  2194741	  285748	  2.15576e+07	  1.55754e+07	  3.51389e+06	  7260.09	  18	  64568	  594370	  -1	  7.35737	  nan	  -66.9799	  -7.35737	  0	  0	  1.12	  -1	  -1	  105.5 MiB	  1.62	  1.25142	  1.10117	  105.5 MiB	  -1	  0.28	 
+ k6_frac_N10_40nm.xml	  seq.pre-vpr.blif	  common	  4.88	  vpr	  76.80 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  84	  41	  -1	  -1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  78644	  41	  35	  1006	  76	  0	  573	  160	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  7311	  6476	  7538	  345	  3855	  3338	  76.8 MiB	  3.64	  0.01	  5.73065	  5.08486	  -143.975	  -5.08486	  nan	  0.10	  0.00418085	  0.00352692	  0.113479	  0.0974767	  76.8 MiB	  3.64	  76.8 MiB	  2.34	  10018	  17.4834	  2728	  4.76091	  4171	  21468	  688416	  120931	  1.05632e+07	  4.5271e+06	  1.26944e+06	  4958.75	  18	  28900	  206586	  -1	  5.29306	  nan	  -148.307	  -5.29306	  0	  0	  0.35	  -1	  -1	  76.8 MiB	  0.56	  0.365085	  0.323172	  76.8 MiB	  -1	  0.10	 
diff --git a/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/mcnc/config/golden_results.txt b/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/mcnc/config/golden_results.txt
index 26aa2b1f6f2..c179a99eb71 100644
--- a/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/mcnc/config/golden_results.txt
+++ b/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/mcnc/config/golden_results.txt
@@ -1,5 +1,5 @@
  arch	  circuit	  script_params	  vtr_flow_elapsed_time	  vtr_max_mem_stage	  vtr_max_mem	  error	  odin_synth_time	  max_odin_mem	  parmys_synth_time	  max_parmys_mem	  abc_depth	  abc_synth_time	  abc_cec_time	  abc_sec_time	  max_abc_mem	  ace_time	  max_ace_mem	  num_clb	  num_io	  num_memories	  num_mult	  vpr_status	  vpr_revision	  vpr_build_info	  vpr_compiler	  vpr_compiled	  hostname	  rundir	  max_vpr_mem	  num_primary_inputs	  num_primary_outputs	  num_pre_packed_nets	  num_pre_packed_blocks	  num_netlist_clocks	  num_post_packed_nets	  num_post_packed_blocks	  device_width	  device_height	  device_grid_tiles	  device_limiting_resources	  device_name	  pack_mem	  pack_time	  initial_placed_wirelength_est	  placed_wirelength_est	  total_swap	  accepted_swap	  rejected_swap	  aborted_swap	  place_mem	  place_time	  place_quench_time	  initial_placed_CPD_est	  placed_CPD_est	  placed_setup_TNS_est	  placed_setup_WNS_est	  placed_geomean_nonvirtual_intradomain_critical_path_delay_est	  place_delay_matrix_lookup_time	  place_quench_timing_analysis_time	  place_quench_sta_time	  place_total_timing_analysis_time	  place_total_sta_time	  ap_mem	  ap_time	  ap_full_legalizer_mem	  ap_full_legalizer_time	  routed_wirelength	  avg_routed_wirelength	  routed_wiresegment	  avg_routed_wiresegment	  total_nets_routed	  total_connections_routed	  total_heap_pushes	  total_heap_pops	  logic_block_area_total	  logic_block_area_used	  routing_area_total	  routing_area_per_tile	  crit_path_route_success_iteration	  num_rr_graph_nodes	  num_rr_graph_edges	  collapsed_nodes	  critical_path_delay	  geomean_nonvirtual_intradomain_critical_path_delay	  setup_TNS	  setup_WNS	  hold_TNS	  hold_WNS	  create_rr_graph_time	  create_intra_cluster_rr_graph_time	  adding_internal_edges	  route_mem	  crit_path_route_time	  crit_path_total_timing_analysis_time	  crit_path_total_sta_time	  router_lookahead_mem	  tile_lookahead_computation_time	  router_lookahead_computation_time	 
- k6_frac_N10_40nm.xml	  apex4.pre-vpr.blif	  common	  4.59	  vpr	  75.21 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  81	  9	  -1	  -1	  success	  v8.0.0-12398-g63e0de52b-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-10T16:22:34	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  77016	  9	  19	  897	  28	  0	  562	  109	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  9742	  6119	  10249	  1760	  5821	  2668	  75.2 MiB	  3.54	  0.01	  6.60912	  5.26997	  -81.789	  -5.26997	  nan	  0.09	  0.00354286	  0.00301655	  0.171129	  0.146473	  75.2 MiB	  3.54	  75.2 MiB	  2.27	  9723	  17.3316	  2505	  4.46524	  4006	  19859	  666446	  110600	  1.05632e+07	  4.36541e+06	  1.26944e+06	  4958.75	  17	  28900	  206586	  -1	  5.51321	  nan	  -87.5291	  -5.51321	  0	  0	  0.35	  -1	  -1	  75.2 MiB	  0.43	  0.36251	  0.319941	  75.2 MiB	  -1	  0.09	 
- k6_frac_N10_40nm.xml	  des.pre-vpr.blif	  common	  1.99	  vpr	  75.96 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  52	  256	  -1	  -1	  success	  v8.0.0-12398-g63e0de52b-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-10T16:22:34	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  77788	  256	  245	  954	  501	  0	  582	  553	  22	  22	  484	  -1	  mcnc_large	  -1	  -1	  8094	  7501	  39126	  389	  7567	  31170	  76.0 MiB	  1.11	  0.02	  5.73036	  4.09857	  -784.452	  -4.09857	  nan	  0.13	  0.00368892	  0.00328333	  0.0831872	  0.0750083	  76.0 MiB	  1.11	  76.0 MiB	  0.60	  10270	  17.6460	  2810	  4.82818	  2238	  5018	  286471	  63337	  2.15576e+07	  2.80249e+06	  1.49107e+06	  3080.73	  14	  47664	  245996	  -1	  4.45761	  nan	  -846.555	  -4.45761	  0	  0	  0.38	  -1	  -1	  76.0 MiB	  0.27	  0.234296	  0.215278	  76.0 MiB	  -1	  0.13	 
- k6_frac_N10_40nm.xml	  ex1010.pre-vpr.blif	  common	  17.92	  vpr	  105.93 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  290	  10	  -1	  -1	  success	  v8.0.0-12398-g63e0de52b-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-10T16:22:34	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  108468	  10	  10	  2659	  20	  0	  1285	  310	  22	  22	  484	  -1	  mcnc_large	  -1	  -1	  35642	  24564	  56902	  15498	  35924	  5480	  105.9 MiB	  14.36	  0.04	  9.2649	  6.61089	  -64.2928	  -6.61089	  nan	  0.28	  0.0116327	  0.00955067	  0.723654	  0.605356	  105.9 MiB	  14.36	  105.9 MiB	  7.81	  37798	  29.4148	  9576	  7.45214	  8278	  52602	  2224659	  293057	  2.15576e+07	  1.56293e+07	  3.51389e+06	  7260.09	  17	  64568	  594370	  -1	  6.83554	  nan	  -66.0686	  -6.83554	  0	  0	  1.15	  -1	  -1	  105.9 MiB	  1.56	  1.40718	  1.22223	  105.9 MiB	  -1	  0.28	 
- k6_frac_N10_40nm.xml	  seq.pre-vpr.blif	  common	  4.84	  vpr	  76.64 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  82	  41	  -1	  -1	  success	  v8.0.0-12398-g63e0de52b-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-10T16:22:34	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  78484	  41	  35	  1006	  76	  0	  578	  158	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  10490	  6475	  10406	  884	  4940	  4582	  76.6 MiB	  3.62	  0.01	  6.29657	  4.68967	  -140.848	  -4.68967	  nan	  0.09	  0.00411942	  0.00341582	  0.129154	  0.11135	  76.6 MiB	  3.62	  76.6 MiB	  2.26	  10487	  18.1436	  2747	  4.75259	  4099	  21208	  684107	  115230	  1.05632e+07	  4.41931e+06	  1.26944e+06	  4958.75	  18	  28900	  206586	  -1	  4.97595	  nan	  -146.106	  -4.97595	  0	  0	  0.34	  -1	  -1	  76.6 MiB	  0.56	  0.390736	  0.347936	  76.6 MiB	  -1	  0.09	 
+ k6_frac_N10_40nm.xml	  apex4.pre-vpr.blif	  common	  5.02	  vpr	  75.58 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  83	  9	  -1	  -1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  77392	  9	  19	  897	  28	  0	  565	  111	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  6985	  6104	  4899	  468	  3178	  1253	  75.6 MiB	  3.80	  0.01	  5.45737	  4.88762	  -81.315	  -4.88762	  nan	  0.10	  0.00366255	  0.00300248	  0.0988722	  0.0856346	  75.6 MiB	  3.80	  75.6 MiB	  2.67	  9609	  17.0372	  2580	  4.57447	  4604	  23759	  790399	  131608	  1.05632e+07	  4.4732e+06	  1.26944e+06	  4958.75	  18	  28900	  206586	  -1	  5.07748	  nan	  -84.5559	  -5.07748	  0	  0	  0.33	  -1	  -1	  75.6 MiB	  0.58	  0.329873	  0.296269	  75.6 MiB	  -1	  0.10	 
+ k6_frac_N10_40nm.xml	  des.pre-vpr.blif	  common	  1.88	  vpr	  76.08 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  58	  256	  -1	  -1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  77908	  256	  245	  954	  501	  0	  584	  559	  22	  22	  484	  -1	  mcnc_large	  -1	  -1	  7428	  7369	  18967	  157	  2360	  16450	  76.1 MiB	  0.98	  0.02	  4.87092	  4.07054	  -789.645	  -4.07054	  nan	  0.13	  0.00361625	  0.00323438	  0.0481778	  0.0440548	  76.1 MiB	  0.98	  76.1 MiB	  0.62	  10168	  17.4110	  2803	  4.79966	  2303	  5353	  301769	  65803	  2.15576e+07	  3.12585e+06	  1.49107e+06	  3080.73	  13	  47664	  245996	  -1	  4.58117	  nan	  -866.844	  -4.58117	  0	  0	  0.38	  -1	  -1	  76.1 MiB	  0.27	  0.193703	  0.179342	  76.1 MiB	  -1	  0.13	 
+ k6_frac_N10_40nm.xml	  ex1010.pre-vpr.blif	  common	  16.93	  vpr	  105.69 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  289	  10	  -1	  -1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  108228	  10	  10	  2659	  20	  0	  1312	  309	  22	  22	  484	  -1	  mcnc_large	  -1	  -1	  30891	  24822	  37893	  7171	  26674	  4048	  105.7 MiB	  13.43	  0.04	  9.04847	  6.65923	  -63.8387	  -6.65923	  nan	  0.25	  0.0114469	  0.00942196	  0.523317	  0.437298	  105.7 MiB	  13.43	  105.7 MiB	  7.67	  37153	  28.3178	  9567	  7.29192	  8219	  52828	  2194741	  285748	  2.15576e+07	  1.55754e+07	  3.51389e+06	  7260.09	  18	  64568	  594370	  -1	  7.35737	  nan	  -66.9799	  -7.35737	  0	  0	  1.08	  -1	  -1	  105.7 MiB	  1.54	  1.21056	  1.05802	  105.7 MiB	  -1	  0.25	 
+ k6_frac_N10_40nm.xml	  seq.pre-vpr.blif	  common	  4.95	  vpr	  76.93 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  84	  41	  -1	  -1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  78780	  41	  35	  1006	  76	  0	  573	  160	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  7311	  6476	  7538	  345	  3855	  3338	  76.9 MiB	  3.70	  0.01	  5.73065	  5.08486	  -143.975	  -5.08486	  nan	  0.11	  0.00501429	  0.0044287	  0.113755	  0.0975648	  76.9 MiB	  3.70	  76.9 MiB	  2.39	  10018	  17.4834	  2728	  4.76091	  4171	  21468	  688416	  120931	  1.05632e+07	  4.5271e+06	  1.26944e+06	  4958.75	  18	  28900	  206586	  -1	  5.29306	  nan	  -148.307	  -5.29306	  0	  0	  0.35	  -1	  -1	  76.9 MiB	  0.54	  0.357802	  0.31714	  76.9 MiB	  -1	  0.11	 
diff --git a/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/naive_full_legalizer/config/golden_results.txt b/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/naive_full_legalizer/config/golden_results.txt
index 3ad8c6f807c..5bcf12189e9 100644
--- a/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/naive_full_legalizer/config/golden_results.txt
+++ b/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/naive_full_legalizer/config/golden_results.txt
@@ -1,5 +1,5 @@
  arch	  circuit	  script_params	  vtr_flow_elapsed_time	  vtr_max_mem_stage	  vtr_max_mem	  error	  odin_synth_time	  max_odin_mem	  parmys_synth_time	  max_parmys_mem	  abc_depth	  abc_synth_time	  abc_cec_time	  abc_sec_time	  max_abc_mem	  ace_time	  max_ace_mem	  num_clb	  num_io	  num_memories	  num_mult	  vpr_status	  vpr_revision	  vpr_build_info	  vpr_compiler	  vpr_compiled	  hostname	  rundir	  max_vpr_mem	  num_primary_inputs	  num_primary_outputs	  num_pre_packed_nets	  num_pre_packed_blocks	  num_netlist_clocks	  num_post_packed_nets	  num_post_packed_blocks	  device_width	  device_height	  device_grid_tiles	  device_limiting_resources	  device_name	  pack_mem	  pack_time	  initial_placed_wirelength_est	  placed_wirelength_est	  total_swap	  accepted_swap	  rejected_swap	  aborted_swap	  place_mem	  place_time	  place_quench_time	  initial_placed_CPD_est	  placed_CPD_est	  placed_setup_TNS_est	  placed_setup_WNS_est	  placed_geomean_nonvirtual_intradomain_critical_path_delay_est	  place_delay_matrix_lookup_time	  place_quench_timing_analysis_time	  place_quench_sta_time	  place_total_timing_analysis_time	  place_total_sta_time	  ap_mem	  ap_time	  ap_full_legalizer_mem	  ap_full_legalizer_time	  routed_wirelength	  avg_routed_wirelength	  routed_wiresegment	  avg_routed_wiresegment	  total_nets_routed	  total_connections_routed	  total_heap_pushes	  total_heap_pops	  logic_block_area_total	  logic_block_area_used	  routing_area_total	  routing_area_per_tile	  crit_path_route_success_iteration	  num_rr_graph_nodes	  num_rr_graph_edges	  collapsed_nodes	  critical_path_delay	  geomean_nonvirtual_intradomain_critical_path_delay	  setup_TNS	  setup_WNS	  hold_TNS	  hold_WNS	  create_rr_graph_time	  create_intra_cluster_rr_graph_time	  adding_internal_edges	  route_mem	  crit_path_route_time	  crit_path_total_timing_analysis_time	  crit_path_total_sta_time	  router_lookahead_mem	  tile_lookahead_computation_time	  router_lookahead_computation_time	 
- k6_frac_N10_40nm.xml	  apex4.pre-vpr.blif	  common	  5.69	  vpr	  74.50 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  115	  9	  -1	  -1	  success	  v8.0.0-12360-gc452b7d62-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.2.0 on Linux-6.8.0-49-generic x86_64	  2025-03-31T20:05:43	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  76288	  9	  19	  897	  28	  0	  625	  143	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  6992	  7002	  889	  24	  707	  158	  74.5 MiB	  2.23	  0.01	  6.13867	  6.20142	  -92.8983	  -6.20142	  nan	  0.05	  0.00184963	  0.00146703	  0.0215325	  0.020109	  74.5 MiB	  2.23	  74.5 MiB	  1.71	  10686	  17.1250	  2867	  4.59455	  3963	  19221	  604164	  101962	  1.05632e+07	  6.19781e+06	  1.26944e+06	  4958.75	  18	  28900	  206586	  -1	  6.1539	  nan	  -95.8095	  -6.1539	  0	  0	  0.19	  -1	  -1	  74.5 MiB	  0.25	  0.13457	  0.120906	  74.5 MiB	  -1	  0.05	 
- k6_frac_N10_40nm.xml	  des.pre-vpr.blif	  common	  3.69	  vpr	  75.73 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  185	  256	  -1	  -1	  success	  v8.0.0-12360-gc452b7d62-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.2.0 on Linux-6.8.0-49-generic x86_64	  2025-03-31T20:05:43	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  77544	  256	  245	  954	  501	  0	  734	  686	  22	  22	  484	  -1	  mcnc_large	  -1	  -1	  9207	  7848	  61166	  2485	  20802	  37879	  75.7 MiB	  1.31	  0.01	  5.67226	  4.51297	  -851.423	  -4.51297	  nan	  0.07	  0.0021372	  0.00191331	  0.0557081	  0.0503795	  75.7 MiB	  1.31	  75.7 MiB	  0.93	  11170	  15.2180	  3089	  4.20845	  2751	  7995	  332142	  75196	  2.15576e+07	  9.97039e+06	  1.49107e+06	  3080.73	  18	  47664	  245996	  -1	  4.65299	  nan	  -879.156	  -4.65299	  0	  0	  0.21	  -1	  -1	  75.7 MiB	  0.18	  0.15988	  0.14711	  75.7 MiB	  -1	  0.07	 
- k6_frac_N10_40nm.xml	  ex1010.pre-vpr.blif	  common	  20.29	  vpr	  102.36 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  359	  10	  -1	  -1	  success	  v8.0.0-12360-gc452b7d62-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.2.0 on Linux-6.8.0-49-generic x86_64	  2025-03-31T20:05:43	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  104816	  10	  10	  2659	  20	  0	  1425	  379	  22	  22	  484	  -1	  mcnc_large	  -1	  -1	  30397	  26717	  37396	  4935	  29068	  3393	  102.4 MiB	  8.00	  0.03	  9.198	  6.91182	  -66.484	  -6.91182	  nan	  0.16	  0.00639975	  0.00510351	  0.233175	  0.196302	  102.4 MiB	  8.00	  102.4 MiB	  4.74	  41052	  28.8084	  10538	  7.39509	  8821	  60607	  2626808	  334508	  2.15576e+07	  1.93479e+07	  3.51389e+06	  7260.09	  17	  64568	  594370	  -1	  7.39449	  nan	  -70.2262	  -7.39449	  0	  0	  0.64	  -1	  -1	  102.4 MiB	  1.00	  0.609161	  0.533892	  102.4 MiB	  -1	  0.16	 
- k6_frac_N10_40nm.xml	  seq.pre-vpr.blif	  common	  6.43	  vpr	  75.60 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  130	  41	  -1	  -1	  success	  v8.0.0-12360-gc452b7d62-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.2.0 on Linux-6.8.0-49-generic x86_64	  2025-03-31T20:05:43	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  77412	  41	  35	  1006	  76	  0	  677	  206	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  8944	  7755	  9326	  447	  5503	  3376	  75.6 MiB	  2.51	  0.01	  6.51137	  5.32473	  -151.971	  -5.32473	  nan	  0.05	  0.0023814	  0.00192808	  0.0582225	  0.0502958	  75.6 MiB	  2.51	  75.6 MiB	  1.78	  12758	  18.8449	  3345	  4.94092	  4671	  25130	  849904	  141761	  1.05632e+07	  7.00622e+06	  1.26944e+06	  4958.75	  19	  28900	  206586	  -1	  5.69529	  nan	  -161.815	  -5.69529	  0	  0	  0.19	  -1	  -1	  75.6 MiB	  0.33	  0.188837	  0.166976	  75.6 MiB	  -1	  0.05	 
+ k6_frac_N10_40nm.xml	  apex4.pre-vpr.blif	  common	  5.03	  vpr	  75.78 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  114	  9	  -1	  -1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  77596	  9	  19	  897	  28	  0	  606	  142	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  6550	  6536	  3472	  155	  2648	  669	  75.8 MiB	  3.88	  0.01	  5.7154	  5.4597	  -89.3112	  -5.4597	  nan	  0.10	  0.00370216	  0.00307222	  0.0661479	  0.0591146	  75.8 MiB	  3.88	  75.8 MiB	  2.88	  10481	  17.3240	  2782	  4.59835	  4539	  23483	  740476	  125213	  1.05632e+07	  6.14392e+06	  1.26944e+06	  4958.75	  19	  28900	  206586	  -1	  5.72947	  nan	  -94.1462	  -5.72947	  0	  0	  0.32	  -1	  -1	  75.8 MiB	  0.50	  0.310788	  0.282654	  75.8 MiB	  -1	  0.10	 
+ k6_frac_N10_40nm.xml	  des.pre-vpr.blif	  common	  3.32	  vpr	  76.63 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  179	  256	  -1	  -1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  78468	  256	  245	  954	  501	  0	  742	  680	  22	  22	  484	  -1	  mcnc_large	  -1	  -1	  9274	  7572	  60460	  2284	  20333	  37843	  76.6 MiB	  2.36	  0.02	  5.23911	  4.2903	  -840.323	  -4.2903	  nan	  0.13	  0.00384619	  0.00344153	  0.09353	  0.0842417	  76.6 MiB	  2.36	  76.6 MiB	  1.70	  11049	  14.8908	  3078	  4.14825	  2733	  6987	  297544	  68761	  2.15576e+07	  9.64703e+06	  1.49107e+06	  3080.73	  14	  47664	  245996	  -1	  4.65189	  nan	  -884.263	  -4.65189	  0	  0	  0.41	  -1	  -1	  76.6 MiB	  0.28	  0.244915	  0.224675	  76.6 MiB	  -1	  0.13	 
+ k6_frac_N10_40nm.xml	  ex1010.pre-vpr.blif	  common	  18.12	  vpr	  106.16 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  362	  10	  -1	  -1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  108712	  10	  10	  2659	  20	  0	  1430	  382	  22	  22	  484	  -1	  mcnc_large	  -1	  -1	  30097	  26681	  50242	  8485	  37651	  4106	  106.2 MiB	  14.49	  0.06	  9.5895	  7.11784	  -67.5602	  -7.11784	  nan	  0.29	  0.0120588	  0.0101618	  0.577448	  0.487406	  106.2 MiB	  14.49	  106.2 MiB	  8.21	  40770	  28.5105	  10462	  7.31608	  8938	  61030	  2640427	  332495	  2.15576e+07	  1.95096e+07	  3.51389e+06	  7260.09	  17	  64568	  594370	  -1	  7.68543	  nan	  -70.9452	  -7.68543	  0	  0	  1.09	  -1	  -1	  106.2 MiB	  1.70	  1.23429	  1.08029	  106.2 MiB	  -1	  0.29	 
+ k6_frac_N10_40nm.xml	  seq.pre-vpr.blif	  common	  5.65	  vpr	  76.93 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  124	  41	  -1	  -1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  78780	  41	  35	  1006	  76	  0	  665	  200	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  8699	  7144	  11296	  577	  6471	  4248	  76.9 MiB	  4.33	  0.02	  6.42009	  5.14527	  -151.192	  -5.14527	  nan	  0.09	  0.0040038	  0.00343256	  0.111382	  0.0964207	  76.9 MiB	  4.33	  76.9 MiB	  3.06	  11808	  17.7564	  3134	  4.71278	  5035	  27959	  918932	  152826	  1.05632e+07	  6.68286e+06	  1.26944e+06	  4958.75	  20	  28900	  206586	  -1	  5.4847	  nan	  -160.203	  -5.4847	  0	  0	  0.34	  -1	  -1	  76.9 MiB	  0.64	  0.362116	  0.322037	  76.9 MiB	  -1	  0.09	 
diff --git a/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/no_fixed_blocks/config/golden_results.txt b/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/no_fixed_blocks/config/golden_results.txt
index 2d46961d25a..e8dd91ee6ae 100644
--- a/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/no_fixed_blocks/config/golden_results.txt
+++ b/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/no_fixed_blocks/config/golden_results.txt
@@ -1,6 +1,6 @@
  arch	  circuit	  script_params	  vtr_flow_elapsed_time	  vtr_max_mem_stage	  vtr_max_mem	  error	  odin_synth_time	  max_odin_mem	  parmys_synth_time	  max_parmys_mem	  abc_depth	  abc_synth_time	  abc_cec_time	  abc_sec_time	  max_abc_mem	  ace_time	  max_ace_mem	  num_clb	  num_io	  num_memories	  num_mult	  vpr_status	  vpr_revision	  vpr_build_info	  vpr_compiler	  vpr_compiled	  hostname	  rundir	  max_vpr_mem	  num_primary_inputs	  num_primary_outputs	  num_pre_packed_nets	  num_pre_packed_blocks	  num_netlist_clocks	  num_post_packed_nets	  num_post_packed_blocks	  device_width	  device_height	  device_grid_tiles	  device_limiting_resources	  device_name	  pack_mem	  pack_time	  initial_placed_wirelength_est	  placed_wirelength_est	  total_swap	  accepted_swap	  rejected_swap	  aborted_swap	  place_mem	  place_time	  place_quench_time	  initial_placed_CPD_est	  placed_CPD_est	  placed_setup_TNS_est	  placed_setup_WNS_est	  placed_geomean_nonvirtual_intradomain_critical_path_delay_est	  place_delay_matrix_lookup_time	  place_quench_timing_analysis_time	  place_quench_sta_time	  place_total_timing_analysis_time	  place_total_sta_time	  ap_mem	  ap_time	  ap_full_legalizer_mem	  ap_full_legalizer_time	  routed_wirelength	  avg_routed_wirelength	  routed_wiresegment	  avg_routed_wiresegment	  total_nets_routed	  total_connections_routed	  total_heap_pushes	  total_heap_pops	  logic_block_area_total	  logic_block_area_used	  routing_area_total	  routing_area_per_tile	  crit_path_route_success_iteration	  num_rr_graph_nodes	  num_rr_graph_edges	  collapsed_nodes	  critical_path_delay	  geomean_nonvirtual_intradomain_critical_path_delay	  setup_TNS	  setup_WNS	  hold_TNS	  hold_WNS	  create_rr_graph_time	  create_intra_cluster_rr_graph_time	  adding_internal_edges	  route_mem	  crit_path_route_time	  crit_path_total_timing_analysis_time	  crit_path_total_sta_time	  router_lookahead_mem	  tile_lookahead_computation_time	  router_lookahead_computation_time	 
- k6_frac_N10_frac_chain_mem32K_40nm.xml	  boundtop.v	  common	  16.05	  vpr	  81.89 MiB	  	  -1	  -1	  9.85	  47916	  3	  0.64	  -1	  -1	  38724	  -1	  -1	  49	  196	  1	  0	  success	  v8.0.0-12360-gc452b7d62-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.2.0 on Linux-6.8.0-49-generic x86_64	  2025-03-31T20:05:43	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  83860	  196	  193	  800	  0	  1	  604	  439	  20	  20	  400	  -1	  vtr_extra_small	  -1	  -1	  10093	  3077	  163805	  47163	  101234	  15408	  81.9 MiB	  2.17	  0.01	  3.77247	  2.52274	  -1147.74	  -2.52274	  2.52274	  0.06	  0.00196642	  0.00169503	  0.211716	  0.183254	  81.9 MiB	  2.17	  81.9 MiB	  0.91	  4991	  8.38824	  1457	  2.44874	  1466	  2076	  118441	  34928	  2.07112e+07	  3.18881e+06	  1.26946e+06	  3173.65	  11	  38988	  203232	  -1	  2.92237	  2.92237	  -1223.08	  -2.92237	  0	  0	  0.18	  -1	  -1	  81.9 MiB	  0.10	  0.293888	  0.259253	  81.9 MiB	  -1	  0.06	 
- k6_frac_N10_frac_chain_mem32K_40nm.xml	  ch_intrinsics.v	  common	  2.52	  vpr	  77.02 MiB	  	  -1	  -1	  0.23	  22192	  3	  0.07	  -1	  -1	  36924	  -1	  -1	  68	  99	  1	  0	  success	  v8.0.0-12360-gc452b7d62-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.2.0 on Linux-6.8.0-49-generic x86_64	  2025-03-31T20:05:43	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  78868	  99	  130	  264	  0	  1	  225	  298	  20	  20	  400	  -1	  vtr_extra_small	  -1	  -1	  2849	  742	  80893	  25565	  39657	  15671	  77.0 MiB	  0.72	  0.00	  2.69645	  1.91463	  -131.03	  -1.91463	  1.91463	  0.06	  0.00061311	  0.000539815	  0.0522956	  0.0461293	  77.0 MiB	  0.72	  77.0 MiB	  0.30	  1353	  8.15060	  436	  2.62651	  392	  659	  28979	  8639	  2.07112e+07	  4.21279e+06	  1.31074e+06	  3276.84	  11	  39388	  210115	  -1	  1.9348	  1.9348	  -148.444	  -1.9348	  0	  0	  0.19	  -1	  -1	  77.0 MiB	  0.03	  0.0744741	  0.0665954	  77.0 MiB	  -1	  0.06	 
- k6_frac_N10_frac_chain_mem32K_40nm.xml	  or1200.v	  common	  46.11	  vpr	  128.92 MiB	  	  -1	  -1	  3.56	  65444	  8	  3.03	  -1	  -1	  44832	  -1	  -1	  244	  385	  2	  1	  success	  v8.0.0-12360-gc452b7d62-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.2.0 on Linux-6.8.0-49-generic x86_64	  2025-03-31T20:05:43	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  132012	  385	  362	  3324	  0	  1	  2376	  994	  30	  30	  900	  -1	  vtr_small	  -1	  -1	  69736	  30282	  586038	  225550	  334252	  26236	  128.9 MiB	  16.71	  0.07	  13.325	  9.27568	  -9839.79	  -9.27568	  9.27568	  0.29	  0.0114598	  0.0100068	  1.39228	  1.22079	  128.9 MiB	  16.71	  128.9 MiB	  7.82	  41183	  17.4430	  10522	  4.45659	  9533	  31343	  1664287	  305798	  4.8774e+07	  1.46421e+07	  6.56785e+06	  7297.61	  15	  120772	  1084977	  -1	  9.37975	  9.37975	  -10177.2	  -9.37975	  0	  0	  1.26	  -1	  -1	  128.9 MiB	  0.87	  1.92037	  1.71045	  128.9 MiB	  -1	  0.29	 
- k6_frac_N10_frac_chain_mem32K_40nm.xml	  spree.v	  common	  12.43	  vpr	  85.28 MiB	  	  -1	  -1	  2.05	  35232	  16	  0.41	  -1	  -1	  38816	  -1	  -1	  60	  45	  3	  1	  success	  v8.0.0-12360-gc452b7d62-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.2.0 on Linux-6.8.0-49-generic x86_64	  2025-03-31T20:05:43	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  87328	  45	  32	  936	  0	  1	  769	  141	  20	  20	  400	  -1	  vtr_extra_small	  -1	  -1	  15469	  6745	  22467	  6247	  15063	  1157	  85.3 MiB	  4.07	  0.01	  15.7888	  11.0431	  -6847.48	  -11.0431	  11.0431	  0.09	  0.00231814	  0.00189861	  0.173349	  0.143749	  85.3 MiB	  4.07	  85.3 MiB	  2.71	  11393	  14.8734	  2918	  3.80940	  3365	  9605	  739135	  176293	  2.07112e+07	  5.27364e+06	  1.91495e+06	  4787.38	  16	  44576	  305072	  -1	  11.6428	  11.6428	  -7437.92	  -11.6428	  0	  0	  0.31	  -1	  -1	  85.3 MiB	  0.28	  0.320691	  0.276954	  85.3 MiB	  -1	  0.08	 
- k6_frac_N10_frac_chain_mem32K_40nm.xml	  stereovision3.v	  common	  2.26	  vpr	  76.48 MiB	  	  -1	  -1	  0.46	  26544	  4	  0.11	  -1	  -1	  36856	  -1	  -1	  15	  11	  0	  0	  success	  v8.0.0-12360-gc452b7d62-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.2.0 on Linux-6.8.0-49-generic x86_64	  2025-03-31T20:05:43	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  78320	  11	  2	  140	  0	  2	  79	  28	  20	  20	  400	  -1	  vtr_extra_small	  -1	  -1	  1310	  261	  1624	  429	  1055	  140	  76.5 MiB	  0.43	  0.00	  3.12927	  2.10685	  -169.756	  -2.10685	  1.95087	  0.05	  0.00043178	  0.00035591	  0.0204188	  0.0171776	  76.5 MiB	  0.43	  76.5 MiB	  0.25	  405	  5.54795	  119	  1.63014	  169	  297	  5541	  1641	  2.07112e+07	  808410	  1.12964e+06	  2824.09	  13	  37792	  180905	  -1	  2.21425	  2.04843	  -176.222	  -2.21425	  0	  0	  0.16	  -1	  -1	  76.5 MiB	  0.02	  0.0414951	  0.0361465	  76.5 MiB	  -1	  0.05	 
+ k6_frac_N10_frac_chain_mem32K_40nm.xml	  boundtop.v	  common	  25.85	  vpr	  83.03 MiB	  	  -1	  -1	  18.57	  47636	  3	  1.01	  -1	  -1	  38980	  -1	  -1	  48	  196	  1	  0	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  85020	  196	  193	  800	  0	  1	  594	  438	  20	  20	  400	  -1	  vtr_extra_small	  -1	  -1	  4169	  3142	  106806	  24519	  69152	  13135	  83.0 MiB	  3.45	  0.01	  2.78642	  2.3599	  -1119.38	  -2.3599	  2.3599	  0.11	  0.00336886	  0.00290601	  0.267623	  0.235425	  83.0 MiB	  3.45	  83.0 MiB	  1.54	  5164	  8.82735	  1542	  2.63590	  1808	  2713	  166829	  48700	  2.07112e+07	  3.13491e+06	  1.26946e+06	  3173.65	  11	  38988	  203232	  -1	  2.79177	  2.79177	  -1205.37	  -2.79177	  0	  0	  0.33	  -1	  -1	  83.0 MiB	  0.20	  0.427611	  0.384897	  83.0 MiB	  -1	  0.11	 
+ k6_frac_N10_frac_chain_mem32K_40nm.xml	  ch_intrinsics.v	  common	  2.71	  vpr	  77.02 MiB	  	  -1	  -1	  0.44	  22136	  3	  0.13	  -1	  -1	  37044	  -1	  -1	  68	  99	  1	  0	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  78864	  99	  130	  264	  0	  1	  227	  298	  20	  20	  400	  -1	  vtr_extra_small	  -1	  -1	  1534	  732	  61988	  20558	  27121	  14309	  77.0 MiB	  1.17	  0.01	  1.84094	  1.63182	  -117.029	  -1.63182	  1.63182	  0.10	  0.00116098	  0.00102609	  0.0719437	  0.0636329	  77.0 MiB	  1.17	  77.0 MiB	  0.48	  1289	  7.67262	  408	  2.42857	  432	  671	  35594	  10787	  2.07112e+07	  4.21279e+06	  1.31074e+06	  3276.84	  12	  39388	  210115	  -1	  2.0326	  2.0326	  -137.711	  -2.0326	  0	  0	  0.32	  -1	  -1	  77.0 MiB	  0.12	  0.146262	  0.115522	  77.0 MiB	  -1	  0.10	 
+ k6_frac_N10_frac_chain_mem32K_40nm.xml	  or1200.v	  common	  45.09	  vpr	  132.19 MiB	  	  -1	  -1	  6.50	  65292	  8	  5.27	  -1	  -1	  44656	  -1	  -1	  246	  385	  2	  1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  135364	  385	  362	  3324	  0	  1	  2378	  996	  30	  30	  900	  -1	  vtr_small	  -1	  -1	  45961	  31243	  503168	  167206	  308523	  27439	  132.2 MiB	  27.49	  0.08	  11.3485	  9.24445	  -10104.3	  -9.24445	  9.24445	  0.52	  0.0110533	  0.00983869	  1.90464	  1.67809	  132.2 MiB	  27.49	  132.2 MiB	  14.11	  42437	  17.9590	  11048	  4.67541	  10359	  33405	  1843617	  333376	  4.8774e+07	  1.47499e+07	  6.56785e+06	  7297.61	  17	  120772	  1084977	  -1	  9.50495	  9.50495	  -10508.2	  -9.50495	  0	  0	  2.27	  -1	  -1	  132.2 MiB	  0.99	  2.49904	  2.2274	  132.2 MiB	  -1	  0.52	 
+ k6_frac_N10_frac_chain_mem32K_40nm.xml	  spree.v	  common	  13.73	  vpr	  86.61 MiB	  	  -1	  -1	  3.85	  35472	  16	  0.66	  -1	  -1	  39332	  -1	  -1	  61	  45	  3	  1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  88684	  45	  32	  936	  0	  1	  764	  142	  20	  20	  400	  -1	  vtr_extra_small	  -1	  -1	  7941	  6580	  16792	  4505	  10418	  1869	  86.6 MiB	  7.12	  0.02	  11.8934	  10.8778	  -6730.96	  -10.8778	  10.8778	  0.15	  0.00604523	  0.0052746	  0.299411	  0.249607	  86.6 MiB	  7.12	  86.6 MiB	  4.84	  11265	  14.8029	  2859	  3.75690	  3304	  9224	  705116	  168424	  2.07112e+07	  5.32753e+06	  1.91495e+06	  4787.38	  16	  44576	  305072	  -1	  11.1238	  11.1238	  -7296.13	  -11.1238	  0	  0	  0.55	  -1	  -1	  86.6 MiB	  0.49	  0.557197	  0.483674	  86.6 MiB	  -1	  0.15	 
+ k6_frac_N10_frac_chain_mem32K_40nm.xml	  stereovision3.v	  common	  2.92	  vpr	  76.71 MiB	  	  -1	  -1	  0.85	  26400	  4	  0.19	  -1	  -1	  36732	  -1	  -1	  15	  11	  0	  0	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  78556	  11	  2	  140	  0	  2	  80	  28	  20	  20	  400	  -1	  vtr_extra_small	  -1	  -1	  371	  277	  994	  274	  621	  99	  76.7 MiB	  0.79	  0.00	  2.14417	  2.10685	  -170.205	  -2.10685	  1.95087	  0.09	  0.000829747	  0.000696435	  0.0253099	  0.0218497	  76.7 MiB	  0.79	  76.7 MiB	  0.47	  484	  6.54054	  125	  1.68919	  154	  271	  5642	  1534	  2.07112e+07	  808410	  1.12964e+06	  2824.09	  10	  37792	  180905	  -1	  2.24362	  1.99822	  -177.023	  -2.24362	  0	  0	  0.28	  -1	  -1	  76.7 MiB	  0.04	  0.058266	  0.0520206	  76.7 MiB	  -1	  0.09	 
diff --git a/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/none_detailed_placer/config/golden_results.txt b/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/none_detailed_placer/config/golden_results.txt
index 884cd26d780..9155e1a0c29 100644
--- a/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/none_detailed_placer/config/golden_results.txt
+++ b/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/none_detailed_placer/config/golden_results.txt
@@ -1,4 +1,4 @@
  arch	  circuit	  script_params	  vtr_flow_elapsed_time	  vtr_max_mem_stage	  vtr_max_mem	  error	  odin_synth_time	  max_odin_mem	  parmys_synth_time	  max_parmys_mem	  abc_depth	  abc_synth_time	  abc_cec_time	  abc_sec_time	  max_abc_mem	  ace_time	  max_ace_mem	  num_clb	  num_io	  num_memories	  num_mult	  vpr_status	  vpr_revision	  vpr_build_info	  vpr_compiler	  vpr_compiled	  hostname	  rundir	  max_vpr_mem	  num_primary_inputs	  num_primary_outputs	  num_pre_packed_nets	  num_pre_packed_blocks	  num_netlist_clocks	  num_post_packed_nets	  num_post_packed_blocks	  device_width	  device_height	  device_grid_tiles	  device_limiting_resources	  device_name	  pack_mem	  pack_time	  initial_placed_wirelength_est	  placed_wirelength_est	  total_swap	  accepted_swap	  rejected_swap	  aborted_swap	  place_mem	  place_time	  place_quench_time	  initial_placed_CPD_est	  placed_CPD_est	  placed_setup_TNS_est	  placed_setup_WNS_est	  placed_geomean_nonvirtual_intradomain_critical_path_delay_est	  place_delay_matrix_lookup_time	  place_quench_timing_analysis_time	  place_quench_sta_time	  place_total_timing_analysis_time	  place_total_sta_time	  ap_mem	  ap_time	  ap_full_legalizer_mem	  ap_full_legalizer_time	  routed_wirelength	  avg_routed_wirelength	  routed_wiresegment	  avg_routed_wiresegment	  total_nets_routed	  total_connections_routed	  total_heap_pushes	  total_heap_pops	  logic_block_area_total	  logic_block_area_used	  routing_area_total	  routing_area_per_tile	  crit_path_route_success_iteration	  num_rr_graph_nodes	  num_rr_graph_edges	  collapsed_nodes	  critical_path_delay	  geomean_nonvirtual_intradomain_critical_path_delay	  setup_TNS	  setup_WNS	  hold_TNS	  hold_WNS	  create_rr_graph_time	  create_intra_cluster_rr_graph_time	  adding_internal_edges	  route_mem	  crit_path_route_time	  crit_path_total_timing_analysis_time	  crit_path_total_sta_time	  router_lookahead_mem	  tile_lookahead_computation_time	  router_lookahead_computation_time	 
- k6_frac_N10_40nm.xml	  apex4.pre-vpr.blif	  common	  4.09	  vpr	  75.85 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  81	  9	  -1	  -1	  success	  v8.0.0-12398-g63e0de52b-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-10T16:22:34	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  77668	  9	  19	  897	  28	  0	  562	  109	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  75.8 MiB	  2.98	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  75.8 MiB	  2.98	  75.8 MiB	  2.29	  13700	  24.4207	  3605	  6.42602	  3824	  18535	  740174	  111014	  1.05632e+07	  4.36541e+06	  1.26944e+06	  4958.75	  17	  28900	  206586	  -1	  6.68571	  nan	  -104.773	  -6.68571	  0	  0	  0.32	  -1	  -1	  75.8 MiB	  0.43	  0.182813	  0.165173	  75.8 MiB	  -1	  0.09	 
- k6_frac_N10_40nm.xml	  des.pre-vpr.blif	  common	  1.72	  vpr	  76.20 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  52	  256	  -1	  -1	  success	  v8.0.0-12398-g63e0de52b-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-10T16:22:34	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  78028	  256	  245	  954	  501	  0	  582	  553	  22	  22	  484	  -1	  mcnc_large	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  76.2 MiB	  0.68	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  76.2 MiB	  0.68	  76.2 MiB	  0.60	  10878	  18.6907	  2992	  5.14089	  2230	  4782	  309509	  70390	  2.15576e+07	  2.80249e+06	  1.49107e+06	  3080.73	  15	  47664	  245996	  -1	  5.48159	  nan	  -917.381	  -5.48159	  0	  0	  0.39	  -1	  -1	  76.2 MiB	  0.27	  0.151724	  0.140523	  76.2 MiB	  -1	  0.13	 
- k6_frac_N10_40nm.xml	  seq.pre-vpr.blif	  common	  4.23	  vpr	  76.32 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  82	  41	  -1	  -1	  success	  v8.0.0-12398-g63e0de52b-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-10T16:22:34	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  78152	  41	  35	  1006	  76	  0	  578	  158	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  76.3 MiB	  2.99	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  76.3 MiB	  2.99	  76.3 MiB	  2.17	  15044	  26.0277	  4012	  6.94118	  4183	  20973	  821310	  128455	  1.05632e+07	  4.41931e+06	  1.26944e+06	  4958.75	  17	  28900	  206586	  -1	  6.07325	  nan	  -173.533	  -6.07325	  0	  0	  0.35	  -1	  -1	  76.3 MiB	  0.49	  0.206091	  0.186137	  76.3 MiB	  -1	  0.09	 
+ k6_frac_N10_40nm.xml	  apex4.pre-vpr.blif	  common	  4.37	  vpr	  75.71 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  83	  9	  -1	  -1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  77532	  9	  19	  897	  28	  0	  565	  111	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  75.7 MiB	  3.24	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  75.7 MiB	  3.24	  75.7 MiB	  2.52	  10470	  18.5638	  2823	  5.00532	  4441	  21451	  721238	  120368	  1.05632e+07	  4.4732e+06	  1.26944e+06	  4958.75	  17	  28900	  206586	  -1	  5.44204	  nan	  -88.1999	  -5.44204	  0	  0	  0.32	  -1	  -1	  75.7 MiB	  0.45	  0.190621	  0.172257	  75.7 MiB	  -1	  0.09	 
+ k6_frac_N10_40nm.xml	  des.pre-vpr.blif	  common	  1.70	  vpr	  76.20 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  58	  256	  -1	  -1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  78028	  256	  245	  954	  501	  0	  584	  559	  22	  22	  484	  -1	  mcnc_large	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  76.2 MiB	  0.69	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  76.2 MiB	  0.69	  76.2 MiB	  0.61	  10067	  17.2380	  2785	  4.76884	  2224	  4785	  262051	  58317	  2.15576e+07	  3.12585e+06	  1.49107e+06	  3080.73	  14	  47664	  245996	  -1	  5.09713	  nan	  -915.356	  -5.09713	  0	  0	  0.38	  -1	  -1	  76.2 MiB	  0.25	  0.146815	  0.136123	  76.2 MiB	  -1	  0.13	 
+ k6_frac_N10_40nm.xml	  seq.pre-vpr.blif	  common	  4.28	  vpr	  76.66 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  84	  41	  -1	  -1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  78496	  41	  35	  1006	  76	  0	  573	  160	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  76.7 MiB	  3.09	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  76.7 MiB	  3.09	  76.7 MiB	  2.27	  10759	  18.7766	  2936	  5.12391	  3972	  20025	  643838	  113062	  1.05632e+07	  4.5271e+06	  1.26944e+06	  4958.75	  17	  28900	  206586	  -1	  5.52727	  nan	  -151.75	  -5.52727	  0	  0	  0.34	  -1	  -1	  76.7 MiB	  0.46	  0.206081	  0.184898	  76.7 MiB	  -1	  0.09	 
diff --git a/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/qp_hybrid_analytical_solver/config/golden_results.txt b/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/qp_hybrid_analytical_solver/config/golden_results.txt
index 30011e0b715..bd1a356f7b3 100644
--- a/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/qp_hybrid_analytical_solver/config/golden_results.txt
+++ b/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/qp_hybrid_analytical_solver/config/golden_results.txt
@@ -1,5 +1,5 @@
  arch	  circuit	  script_params	  vtr_flow_elapsed_time	  vtr_max_mem_stage	  vtr_max_mem	  error	  odin_synth_time	  max_odin_mem	  parmys_synth_time	  max_parmys_mem	  abc_depth	  abc_synth_time	  abc_cec_time	  abc_sec_time	  max_abc_mem	  ace_time	  max_ace_mem	  num_clb	  num_io	  num_memories	  num_mult	  vpr_status	  vpr_revision	  vpr_build_info	  vpr_compiler	  vpr_compiled	  hostname	  rundir	  max_vpr_mem	  num_primary_inputs	  num_primary_outputs	  num_pre_packed_nets	  num_pre_packed_blocks	  num_netlist_clocks	  num_post_packed_nets	  num_post_packed_blocks	  device_width	  device_height	  device_grid_tiles	  device_limiting_resources	  device_name	  pack_mem	  pack_time	  initial_placed_wirelength_est	  placed_wirelength_est	  total_swap	  accepted_swap	  rejected_swap	  aborted_swap	  place_mem	  place_time	  place_quench_time	  initial_placed_CPD_est	  placed_CPD_est	  placed_setup_TNS_est	  placed_setup_WNS_est	  placed_geomean_nonvirtual_intradomain_critical_path_delay_est	  place_delay_matrix_lookup_time	  place_quench_timing_analysis_time	  place_quench_sta_time	  place_total_timing_analysis_time	  place_total_sta_time	  ap_mem	  ap_time	  ap_full_legalizer_mem	  ap_full_legalizer_time	  routed_wirelength	  avg_routed_wirelength	  routed_wiresegment	  avg_routed_wiresegment	  total_nets_routed	  total_connections_routed	  total_heap_pushes	  total_heap_pops	  logic_block_area_total	  logic_block_area_used	  routing_area_total	  routing_area_per_tile	  crit_path_route_success_iteration	  num_rr_graph_nodes	  num_rr_graph_edges	  collapsed_nodes	  critical_path_delay	  geomean_nonvirtual_intradomain_critical_path_delay	  setup_TNS	  setup_WNS	  hold_TNS	  hold_WNS	  create_rr_graph_time	  create_intra_cluster_rr_graph_time	  adding_internal_edges	  route_mem	  crit_path_route_time	  crit_path_total_timing_analysis_time	  crit_path_total_sta_time	  router_lookahead_mem	  tile_lookahead_computation_time	  router_lookahead_computation_time	 
- k6_frac_N10_40nm.xml	  apex4.pre-vpr.blif	  common	  4.86	  vpr	  74.66 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  81	  9	  -1	  -1	  success	  v8.0.0-12360-gc452b7d62-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.2.0 on Linux-6.8.0-49-generic x86_64	  2025-03-31T20:05:43	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  76452	  9	  19	  897	  28	  0	  625	  109	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  10323	  6649	  8689	  1316	  5113	  2260	  74.7 MiB	  1.76	  0.01	  6.54619	  5.17635	  -85.9934	  -5.17635	  nan	  0.05	  0.00164315	  0.00128057	  0.0733612	  0.0605987	  74.7 MiB	  1.76	  74.7 MiB	  1.32	  10840	  17.3718	  2768	  4.43590	  5407	  24284	  870241	  141685	  1.05632e+07	  4.36541e+06	  1.26944e+06	  4958.75	  20	  28900	  206586	  -1	  5.42577	  nan	  -88.8116	  -5.42577	  0	  0	  0.19	  -1	  -1	  74.7 MiB	  0.29	  0.19409	  0.166936	  74.7 MiB	  -1	  0.05	 
- k6_frac_N10_40nm.xml	  des.pre-vpr.blif	  common	  2.43	  vpr	  75.52 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  59	  256	  -1	  -1	  success	  v8.0.0-12360-gc452b7d62-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.2.0 on Linux-6.8.0-49-generic x86_64	  2025-03-31T20:05:43	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  77328	  256	  245	  954	  501	  0	  600	  560	  22	  22	  484	  -1	  mcnc_large	  -1	  -1	  10402	  8307	  53621	  1204	  10298	  42119	  75.5 MiB	  0.68	  0.01	  6.38809	  4.16523	  -791.785	  -4.16523	  nan	  0.07	  0.00208179	  0.00185463	  0.0618928	  0.0557901	  75.5 MiB	  0.68	  75.5 MiB	  0.38	  11135	  18.5583	  3005	  5.00833	  2530	  5567	  337524	  73209	  2.15576e+07	  3.17975e+06	  1.49107e+06	  3080.73	  21	  47664	  245996	  -1	  4.4894	  nan	  -841.028	  -4.4894	  0	  0	  0.21	  -1	  -1	  75.5 MiB	  0.19	  0.179241	  0.164601	  75.5 MiB	  -1	  0.07	 
- k6_frac_N10_40nm.xml	  ex1010.pre-vpr.blif	  common	  17.75	  vpr	  102.67 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  288	  10	  -1	  -1	  success	  v8.0.0-12360-gc452b7d62-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.2.0 on Linux-6.8.0-49-generic x86_64	  2025-03-31T20:05:43	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  105136	  10	  10	  2659	  20	  0	  1538	  308	  22	  22	  484	  -1	  mcnc_large	  -1	  -1	  38253	  26944	  58492	  15799	  37362	  5331	  102.7 MiB	  6.73	  0.02	  9.41303	  6.40421	  -62.5348	  -6.40421	  nan	  0.17	  0.00666069	  0.00532918	  0.430291	  0.355679	  102.7 MiB	  6.73	  102.7 MiB	  4.45	  40258	  26.1756	  10190	  6.62549	  10650	  57950	  2684197	  344292	  2.15576e+07	  1.55215e+07	  3.51389e+06	  7260.09	  18	  64568	  594370	  -1	  6.57818	  nan	  -63.8839	  -6.57818	  0	  0	  0.64	  -1	  -1	  102.7 MiB	  1.04	  0.843305	  0.725958	  102.7 MiB	  -1	  0.17	 
- k6_frac_N10_40nm.xml	  seq.pre-vpr.blif	  common	  4.78	  vpr	  75.54 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  84	  41	  -1	  -1	  success	  v8.0.0-12360-gc452b7d62-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.2.0 on Linux-6.8.0-49-generic x86_64	  2025-03-31T20:05:43	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  77348	  41	  35	  1006	  76	  0	  665	  160	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  11168	  6794	  11444	  944	  5497	  5003	  75.5 MiB	  1.73	  0.01	  6.69562	  4.81085	  -140.774	  -4.81085	  nan	  0.06	  0.00183692	  0.00145063	  0.0754977	  0.0634854	  75.5 MiB	  1.73	  75.5 MiB	  1.27	  10731	  16.1368	  2840	  4.27068	  5065	  23288	  779371	  134867	  1.05632e+07	  4.5271e+06	  1.26944e+06	  4958.75	  20	  28900	  206586	  -1	  5.06219	  nan	  -147.938	  -5.06219	  0	  0	  0.19	  -1	  -1	  75.5 MiB	  0.30	  0.209884	  0.182524	  75.5 MiB	  -1	  0.06	 
+ k6_frac_N10_40nm.xml	  apex4.pre-vpr.blif	  common	  4.48	  vpr	  75.64 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  79	  9	  -1	  -1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  77452	  9	  19	  897	  28	  0	  613	  107	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  7227	  6446	  4661	  444	  2922	  1295	  75.6 MiB	  3.30	  0.01	  5.83587	  5.20235	  -84.7514	  -5.20235	  nan	  0.09	  0.00365365	  0.00308713	  0.0953072	  0.0828485	  75.6 MiB	  3.30	  75.6 MiB	  2.61	  9964	  16.2810	  2709	  4.42647	  4690	  20859	  701687	  124089	  1.05632e+07	  4.25763e+06	  1.26944e+06	  4958.75	  19	  28900	  206586	  -1	  5.47836	  nan	  -87.8661	  -5.47836	  0	  0	  0.35	  -1	  -1	  75.6 MiB	  0.51	  0.314162	  0.28034	  75.6 MiB	  -1	  0.09	 
+ k6_frac_N10_40nm.xml	  des.pre-vpr.blif	  common	  1.82	  vpr	  76.20 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  56	  256	  -1	  -1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  78032	  256	  245	  954	  501	  0	  598	  557	  22	  22	  484	  -1	  mcnc_large	  -1	  -1	  8430	  8247	  28037	  277	  4264	  23496	  76.2 MiB	  0.95	  0.02	  5.00844	  4.05195	  -786.983	  -4.05195	  nan	  0.13	  0.00372964	  0.0033122	  0.0643989	  0.0586623	  76.2 MiB	  0.95	  76.2 MiB	  0.58	  10883	  18.1990	  2937	  4.91137	  2442	  5565	  332488	  69751	  2.15576e+07	  3.01806e+06	  1.49107e+06	  3080.73	  12	  47664	  245996	  -1	  4.40791	  nan	  -837.951	  -4.40791	  0	  0	  0.37	  -1	  -1	  76.2 MiB	  0.26	  0.206289	  0.19121	  76.2 MiB	  -1	  0.13	 
+ k6_frac_N10_40nm.xml	  ex1010.pre-vpr.blif	  common	  15.95	  vpr	  105.57 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  288	  10	  -1	  -1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  108108	  10	  10	  2659	  20	  0	  1500	  308	  22	  22	  484	  -1	  mcnc_large	  -1	  -1	  33647	  26777	  51219	  12453	  33951	  4815	  105.6 MiB	  12.21	  0.05	  7.95426	  6.65363	  -64.7441	  -6.65363	  nan	  0.32	  0.01158	  0.00952696	  0.683148	  0.577318	  105.6 MiB	  12.21	  105.6 MiB	  8.23	  39550	  26.3667	  10138	  6.75867	  10136	  56388	  2554636	  337283	  2.15576e+07	  1.55215e+07	  3.51389e+06	  7260.09	  18	  64568	  594370	  -1	  7.10986	  nan	  -67.2122	  -7.10986	  0	  0	  1.12	  -1	  -1	  105.6 MiB	  1.79	  1.41673	  1.23449	  105.6 MiB	  -1	  0.32	 
+ k6_frac_N10_40nm.xml	  seq.pre-vpr.blif	  common	  3.96	  vpr	  76.78 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  85	  41	  -1	  -1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  78624	  41	  35	  1006	  76	  0	  665	  161	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  7612	  6958	  7590	  343	  3947	  3300	  76.8 MiB	  2.84	  0.02	  6.23108	  5.15201	  -145.389	  -5.15201	  nan	  0.09	  0.00454121	  0.00387629	  0.099122	  0.086103	  76.8 MiB	  2.84	  76.8 MiB	  2.13	  10685	  16.0677	  2885	  4.33835	  4384	  18462	  592965	  106217	  1.05632e+07	  4.58099e+06	  1.26944e+06	  4958.75	  19	  28900	  206586	  -1	  5.45169	  nan	  -154.246	  -5.45169	  0	  0	  0.32	  -1	  -1	  76.8 MiB	  0.51	  0.354223	  0.314944	  76.8 MiB	  -1	  0.09	 
diff --git a/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/unrelated_clustering/config/golden_results.txt b/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/unrelated_clustering/config/golden_results.txt
index 21279f9641b..353d272ff5e 100644
--- a/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/unrelated_clustering/config/golden_results.txt
+++ b/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/unrelated_clustering/config/golden_results.txt
@@ -1,5 +1,5 @@
  arch	  circuit	  script_params	  vtr_flow_elapsed_time	  vtr_max_mem_stage	  vtr_max_mem	  error	  odin_synth_time	  max_odin_mem	  parmys_synth_time	  max_parmys_mem	  abc_depth	  abc_synth_time	  abc_cec_time	  abc_sec_time	  max_abc_mem	  ace_time	  max_ace_mem	  num_clb	  num_io	  num_memories	  num_mult	  vpr_status	  vpr_revision	  vpr_build_info	  vpr_compiler	  vpr_compiled	  hostname	  rundir	  max_vpr_mem	  num_primary_inputs	  num_primary_outputs	  num_pre_packed_nets	  num_pre_packed_blocks	  num_netlist_clocks	  num_post_packed_nets	  num_post_packed_blocks	  device_width	  device_height	  device_grid_tiles	  device_limiting_resources	  device_name	  pack_mem	  pack_time	  initial_placed_wirelength_est	  placed_wirelength_est	  total_swap	  accepted_swap	  rejected_swap	  aborted_swap	  place_mem	  place_time	  place_quench_time	  initial_placed_CPD_est	  placed_CPD_est	  placed_setup_TNS_est	  placed_setup_WNS_est	  placed_geomean_nonvirtual_intradomain_critical_path_delay_est	  place_delay_matrix_lookup_time	  place_quench_timing_analysis_time	  place_quench_sta_time	  place_total_timing_analysis_time	  place_total_sta_time	  ap_mem	  ap_time	  ap_full_legalizer_mem	  ap_full_legalizer_time	  routed_wirelength	  avg_routed_wirelength	  routed_wiresegment	  avg_routed_wiresegment	  total_nets_routed	  total_connections_routed	  total_heap_pushes	  total_heap_pops	  logic_block_area_total	  logic_block_area_used	  routing_area_total	  routing_area_per_tile	  crit_path_route_success_iteration	  num_rr_graph_nodes	  num_rr_graph_edges	  collapsed_nodes	  critical_path_delay	  geomean_nonvirtual_intradomain_critical_path_delay	  setup_TNS	  setup_WNS	  hold_TNS	  hold_WNS	  create_rr_graph_time	  create_intra_cluster_rr_graph_time	  adding_internal_edges	  route_mem	  crit_path_route_time	  crit_path_total_timing_analysis_time	  crit_path_total_sta_time	  router_lookahead_mem	  tile_lookahead_computation_time	  router_lookahead_computation_time	 
- k6_frac_N10_40nm.xml	  apex4.pre-vpr.blif	  common	  5.66	  vpr	  74.28 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  80	  9	  -1	  -1	  success	  v8.0.0-12360-gc452b7d62-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.2.0 on Linux-6.8.0-49-generic x86_64	  2025-03-31T20:05:43	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  76064	  9	  19	  897	  28	  0	  552	  108	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  9620	  6071	  8332	  1239	  4827	  2266	  74.3 MiB	  2.17	  0.01	  6.55226	  5.04869	  -82.451	  -5.04869	  nan	  0.05	  0.0019148	  0.00151416	  0.084397	  0.070615	  74.3 MiB	  2.17	  74.3 MiB	  1.47	  9940	  18.0399	  2561	  4.64791	  4585	  23342	  802970	  130868	  1.05632e+07	  4.31152e+06	  1.26944e+06	  4958.75	  19	  28900	  206586	  -1	  5.35516	  nan	  -87.5909	  -5.35516	  0	  0	  0.19	  -1	  -1	  74.3 MiB	  0.29	  0.206681	  0.179393	  74.3 MiB	  -1	  0.05	 
- k6_frac_N10_40nm.xml	  des.pre-vpr.blif	  common	  2.48	  vpr	  75.52 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  54	  256	  -1	  -1	  success	  v8.0.0-12360-gc452b7d62-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.2.0 on Linux-6.8.0-49-generic x86_64	  2025-03-31T20:05:43	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  77328	  256	  245	  954	  501	  0	  597	  555	  22	  22	  484	  -1	  mcnc_large	  -1	  -1	  8708	  7524	  52995	  794	  11676	  40525	  75.5 MiB	  0.72	  0.01	  6.97905	  4.04686	  -782.79	  -4.04686	  nan	  0.07	  0.00208549	  0.00185005	  0.062528	  0.0562697	  75.5 MiB	  0.72	  75.5 MiB	  0.38	  10306	  17.2630	  2820	  4.72362	  2656	  5838	  326120	  72001	  2.15576e+07	  2.91028e+06	  1.49107e+06	  3080.73	  17	  47664	  245996	  -1	  4.59024	  nan	  -888.995	  -4.59024	  0	  0	  0.22	  -1	  -1	  75.5 MiB	  0.17	  0.166107	  0.152372	  75.5 MiB	  -1	  0.07	 
- k6_frac_N10_40nm.xml	  ex1010.pre-vpr.blif	  common	  21.33	  vpr	  102.66 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  265	  10	  -1	  -1	  success	  v8.0.0-12360-gc452b7d62-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.2.0 on Linux-6.8.0-49-generic x86_64	  2025-03-31T20:05:43	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  105120	  10	  10	  2659	  20	  0	  1294	  285	  22	  22	  484	  -1	  mcnc_large	  -1	  -1	  34837	  24481	  50883	  13051	  33647	  4185	  102.7 MiB	  8.60	  0.02	  9.12647	  6.35221	  -62.1391	  -6.35221	  nan	  0.17	  0.00648785	  0.00516362	  0.408006	  0.337214	  102.7 MiB	  8.60	  102.7 MiB	  4.77	  37135	  28.6978	  9413	  7.27434	  8847	  56356	  2392185	  311871	  2.15576e+07	  1.42819e+07	  3.51389e+06	  7260.09	  18	  64568	  594370	  -1	  6.77434	  nan	  -65.0555	  -6.77434	  0	  0	  0.64	  -1	  -1	  102.7 MiB	  0.94	  0.795649	  0.684273	  102.7 MiB	  -1	  0.17	 
- k6_frac_N10_40nm.xml	  seq.pre-vpr.blif	  common	  5.46	  vpr	  75.41 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  83	  41	  -1	  -1	  success	  v8.0.0-12360-gc452b7d62-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.2.0 on Linux-6.8.0-49-generic x86_64	  2025-03-31T20:05:43	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  77220	  41	  35	  1006	  76	  0	  569	  159	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  10409	  6244	  10049	  777	  4823	  4449	  75.4 MiB	  2.09	  0.01	  6.53346	  4.67383	  -140.875	  -4.67383	  nan	  0.05	  0.00230132	  0.00185378	  0.0709884	  0.0598796	  75.4 MiB	  2.09	  75.4 MiB	  1.33	  10049	  17.6608	  2652	  4.66081	  4131	  22014	  689676	  118454	  1.05632e+07	  4.4732e+06	  1.26944e+06	  4958.75	  18	  28900	  206586	  -1	  5.15385	  nan	  -149.76	  -5.15385	  0	  0	  0.19	  -1	  -1	  75.4 MiB	  0.27	  0.198813	  0.173339	  75.4 MiB	  -1	  0.05	 
+ k6_frac_N10_40nm.xml	  apex4.pre-vpr.blif	  common	  4.96	  vpr	  75.33 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  81	  9	  -1	  -1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  77136	  9	  19	  897	  28	  0	  571	  109	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  6849	  6197	  3749	  306	  2447	  996	  75.3 MiB	  3.80	  0.01	  5.6777	  5.15854	  -84.4388	  -5.15854	  nan	  0.12	  0.00372518	  0.00308527	  0.0851251	  0.0744623	  75.3 MiB	  3.80	  75.3 MiB	  2.72	  9547	  16.7491	  2591	  4.54561	  4007	  19117	  612422	  105847	  1.05632e+07	  4.36541e+06	  1.26944e+06	  4958.75	  18	  28900	  206586	  -1	  5.57046	  nan	  -89.3939	  -5.57046	  0	  0	  0.36	  -1	  -1	  75.3 MiB	  0.45	  0.290389	  0.260271	  75.3 MiB	  -1	  0.12	 
+ k6_frac_N10_40nm.xml	  des.pre-vpr.blif	  common	  1.92	  vpr	  76.21 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  55	  256	  -1	  -1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  78044	  256	  245	  954	  501	  0	  584	  556	  22	  22	  484	  -1	  mcnc_large	  -1	  -1	  7414	  7336	  16551	  117	  1750	  14684	  76.2 MiB	  0.96	  0.02	  4.79868	  3.95956	  -780.296	  -3.95956	  nan	  0.14	  0.0037776	  0.00334019	  0.0431145	  0.0394451	  76.2 MiB	  0.96	  76.2 MiB	  0.63	  10156	  17.3904	  2785	  4.76884	  2499	  5829	  309976	  67350	  2.15576e+07	  2.96417e+06	  1.49107e+06	  3080.73	  17	  47664	  245996	  -1	  4.43922	  nan	  -858.538	  -4.43922	  0	  0	  0.40	  -1	  -1	  76.2 MiB	  0.31	  0.225991	  0.20914	  76.2 MiB	  -1	  0.13	 
+ k6_frac_N10_40nm.xml	  ex1010.pre-vpr.blif	  common	  18.50	  vpr	  105.55 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  263	  10	  -1	  -1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  108088	  10	  10	  2659	  20	  0	  1335	  283	  22	  22	  484	  -1	  mcnc_large	  -1	  -1	  29142	  24368	  34619	  6112	  24966	  3541	  105.6 MiB	  14.79	  0.04	  8.99039	  6.64595	  -64.2305	  -6.64595	  nan	  0.30	  0.011351	  0.00921126	  0.534655	  0.453947	  105.6 MiB	  14.79	  105.6 MiB	  8.92	  36909	  27.6472	  9531	  7.13933	  8973	  57196	  2436221	  318880	  2.15576e+07	  1.41741e+07	  3.51389e+06	  7260.09	  18	  64568	  594370	  -1	  7.07899	  nan	  -66.0192	  -7.07899	  0	  0	  1.11	  -1	  -1	  105.6 MiB	  1.75	  1.29851	  1.13315	  105.6 MiB	  -1	  0.30	 
+ k6_frac_N10_40nm.xml	  seq.pre-vpr.blif	  common	  5.12	  vpr	  76.36 MiB	  	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  -1	  84	  41	  -1	  -1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  78196	  41	  35	  1006	  76	  0	  573	  160	  16	  16	  256	  -1	  mcnc_medium	  -1	  -1	  7414	  6419	  7538	  405	  3643	  3490	  76.4 MiB	  3.99	  0.01	  5.66659	  5.10396	  -142.048	  -5.10396	  nan	  0.09	  0.00395858	  0.00331812	  0.0974473	  0.0845959	  76.4 MiB	  3.99	  76.4 MiB	  2.72	  9920	  17.3124	  2710	  4.72949	  3957	  20035	  633461	  111527	  1.05632e+07	  4.5271e+06	  1.26944e+06	  4958.75	  17	  28900	  206586	  -1	  5.31293	  nan	  -148.764	  -5.31293	  0	  0	  0.36	  -1	  -1	  76.4 MiB	  0.47	  0.311907	  0.278187	  76.4 MiB	  -1	  0.09	 
diff --git a/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/vtr_chain/config/golden_results.txt b/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/vtr_chain/config/golden_results.txt
index c66935a46ca..d7bb035e33d 100644
--- a/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/vtr_chain/config/golden_results.txt
+++ b/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/vtr_chain/config/golden_results.txt
@@ -1,5 +1,5 @@
  arch	  circuit	  script_params	  vtr_flow_elapsed_time	  vtr_max_mem_stage	  vtr_max_mem	  error	  odin_synth_time	  max_odin_mem	  parmys_synth_time	  max_parmys_mem	  abc_depth	  abc_synth_time	  abc_cec_time	  abc_sec_time	  max_abc_mem	  ace_time	  max_ace_mem	  num_clb	  num_io	  num_memories	  num_mult	  vpr_status	  vpr_revision	  vpr_build_info	  vpr_compiler	  vpr_compiled	  hostname	  rundir	  max_vpr_mem	  num_primary_inputs	  num_primary_outputs	  num_pre_packed_nets	  num_pre_packed_blocks	  num_netlist_clocks	  num_post_packed_nets	  num_post_packed_blocks	  device_width	  device_height	  device_grid_tiles	  device_limiting_resources	  device_name	  pack_mem	  pack_time	  initial_placed_wirelength_est	  placed_wirelength_est	  total_swap	  accepted_swap	  rejected_swap	  aborted_swap	  place_mem	  place_time	  place_quench_time	  initial_placed_CPD_est	  placed_CPD_est	  placed_setup_TNS_est	  placed_setup_WNS_est	  placed_geomean_nonvirtual_intradomain_critical_path_delay_est	  place_delay_matrix_lookup_time	  place_quench_timing_analysis_time	  place_quench_sta_time	  place_total_timing_analysis_time	  place_total_sta_time	  ap_mem	  ap_time	  ap_full_legalizer_mem	  ap_full_legalizer_time	  routed_wirelength	  avg_routed_wirelength	  routed_wiresegment	  avg_routed_wiresegment	  total_nets_routed	  total_connections_routed	  total_heap_pushes	  total_heap_pops	  logic_block_area_total	  logic_block_area_used	  routing_area_total	  routing_area_per_tile	  crit_path_route_success_iteration	  num_rr_graph_nodes	  num_rr_graph_edges	  collapsed_nodes	  critical_path_delay	  geomean_nonvirtual_intradomain_critical_path_delay	  setup_TNS	  setup_WNS	  hold_TNS	  hold_WNS	  create_rr_graph_time	  create_intra_cluster_rr_graph_time	  adding_internal_edges	  route_mem	  crit_path_route_time	  crit_path_total_timing_analysis_time	  crit_path_total_sta_time	  router_lookahead_mem	  tile_lookahead_computation_time	  router_lookahead_computation_time	 
- k6_frac_N10_frac_chain_mem32K_40nm.xml	  boundtop.v	  common	  14.54	  vpr	  82.28 MiB	  	  -1	  -1	  9.96	  48020	  3	  0.65	  -1	  -1	  38940	  -1	  -1	  50	  196	  1	  0	  success	  v8.0.0-12360-gc452b7d62-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.2.0 on Linux-6.8.0-49-generic x86_64	  2025-03-31T20:05:43	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  84252	  196	  193	  800	  389	  1	  590	  440	  20	  20	  400	  -1	  vtr_extra_small	  -1	  -1	  7269	  3604	  43912	  758	  11772	  31382	  82.3 MiB	  1.30	  0.01	  3.30822	  2.43048	  -1151.9	  -2.43048	  2.43048	  0.06	  0.002079	  0.00181368	  0.0695641	  0.0612043	  82.3 MiB	  1.30	  82.3 MiB	  0.79	  5442	  9.36661	  1584	  2.72633	  1683	  2660	  177523	  49523	  2.07112e+07	  3.2427e+06	  1.26946e+06	  3173.65	  11	  38988	  203232	  -1	  2.79324	  2.79324	  -1254.69	  -2.79324	  0	  0	  0.18	  -1	  -1	  82.3 MiB	  0.11	  0.152818	  0.138384	  82.3 MiB	  -1	  0.06	 
- k6_frac_N10_frac_chain_mem32K_40nm.xml	  ch_intrinsics.v	  common	  1.96	  vpr	  76.81 MiB	  	  -1	  -1	  0.24	  22036	  3	  0.07	  -1	  -1	  36928	  -1	  -1	  69	  99	  1	  0	  success	  v8.0.0-12360-gc452b7d62-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.2.0 on Linux-6.8.0-49-generic x86_64	  2025-03-31T20:05:43	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  78656	  99	  130	  240	  229	  1	  219	  299	  20	  20	  400	  -1	  vtr_extra_small	  -1	  -1	  1563	  884	  19280	  2443	  1505	  15332	  76.8 MiB	  0.44	  0.00	  2.55206	  1.84785	  -144.016	  -1.84785	  1.84785	  0.06	  0.00060969	  0.000536584	  0.0151999	  0.0136238	  76.8 MiB	  0.44	  76.8 MiB	  0.28	  1526	  9.53750	  450	  2.81250	  376	  634	  31170	  8726	  2.07112e+07	  4.26669e+06	  1.31074e+06	  3276.84	  9	  39388	  210115	  -1	  2.05232	  2.05232	  -168.138	  -2.05232	  0	  0	  0.20	  -1	  -1	  76.8 MiB	  0.03	  0.0352944	  0.0322354	  76.8 MiB	  -1	  0.06	 
- k6_frac_N10_frac_chain_mem32K_40nm.xml	  spree.v	  common	  11.54	  vpr	  85.29 MiB	  	  -1	  -1	  2.07	  35360	  16	  0.41	  -1	  -1	  39076	  -1	  -1	  60	  45	  3	  1	  success	  v8.0.0-12360-gc452b7d62-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.2.0 on Linux-6.8.0-49-generic x86_64	  2025-03-31T20:05:43	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  87340	  45	  32	  936	  77	  1	  760	  141	  20	  20	  400	  -1	  vtr_extra_small	  -1	  -1	  12953	  7089	  10389	  560	  5264	  4565	  85.3 MiB	  3.54	  0.01	  14.301	  11.2847	  -7086.79	  -11.2847	  11.2847	  0.08	  0.00255674	  0.00213543	  0.0910557	  0.0765308	  85.3 MiB	  3.54	  85.3 MiB	  2.53	  11912	  15.7358	  3017	  3.98547	  3350	  8724	  874737	  208453	  2.07112e+07	  5.27364e+06	  1.91495e+06	  4787.38	  16	  44576	  305072	  -1	  11.3994	  11.3994	  -7436.43	  -11.3994	  0	  0	  0.31	  -1	  -1	  85.3 MiB	  0.30	  0.233278	  0.204917	  85.3 MiB	  -1	  0.08	 
- k6_frac_N10_frac_chain_mem32K_40nm.xml	  stereovision3.v	  common	  2.14	  vpr	  76.73 MiB	  	  -1	  -1	  0.46	  26260	  4	  0.11	  -1	  -1	  36560	  -1	  -1	  15	  11	  0	  0	  success	  v8.0.0-12360-gc452b7d62-dirty	  release VTR_ASSERT_LEVEL=3	  GNU 13.2.0 on Linux-6.8.0-49-generic x86_64	  2025-03-31T20:05:43	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  78576	  11	  2	  140	  13	  2	  79	  28	  20	  20	  400	  -1	  vtr_extra_small	  -1	  -1	  1104	  344	  1078	  166	  479	  433	  76.7 MiB	  0.38	  0.00	  2.93945	  2.10685	  -181.865	  -2.10685	  1.95087	  0.05	  0.000440544	  0.000363655	  0.0147992	  0.0126302	  76.7 MiB	  0.38	  76.7 MiB	  0.24	  524	  7.17808	  134	  1.83562	  128	  184	  4055	  1077	  2.07112e+07	  808410	  1.12964e+06	  2824.09	  5	  37792	  180905	  -1	  2.22187	  1.97161	  -193.349	  -2.22187	  0	  0	  0.16	  -1	  -1	  76.7 MiB	  0.02	  0.0304812	  0.0272338	  76.7 MiB	  -1	  0.05	 
+ k6_frac_N10_frac_chain_mem32K_40nm.xml	  boundtop.v	  common	  24.78	  vpr	  83.23 MiB	  	  -1	  -1	  18.50	  47880	  3	  1.03	  -1	  -1	  38848	  -1	  -1	  50	  196	  1	  0	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  85228	  196	  193	  800	  389	  1	  591	  440	  20	  20	  400	  -1	  vtr_extra_small	  -1	  -1	  3715	  3554	  3784	  38	  823	  2923	  83.2 MiB	  2.24	  0.02	  2.85588	  2.57265	  -1175.96	  -2.57265	  2.57265	  0.10	  0.00362627	  0.00313967	  0.0281499	  0.026191	  83.2 MiB	  2.24	  83.2 MiB	  1.59	  5468	  9.39519	  1600	  2.74914	  1643	  2642	  175568	  48502	  2.07112e+07	  3.2427e+06	  1.26946e+06	  3173.65	  13	  38988	  203232	  -1	  2.92546	  2.92546	  -1279.3	  -2.92546	  0	  0	  0.33	  -1	  -1	  83.2 MiB	  0.23	  0.194282	  0.17603	  83.2 MiB	  -1	  0.10	 
+ k6_frac_N10_frac_chain_mem32K_40nm.xml	  ch_intrinsics.v	  common	  2.30	  vpr	  77.05 MiB	  	  -1	  -1	  0.46	  21648	  3	  0.11	  -1	  -1	  36796	  -1	  -1	  69	  99	  1	  0	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  78904	  99	  130	  240	  229	  1	  219	  299	  20	  20	  400	  -1	  vtr_extra_small	  -1	  -1	  897	  855	  16283	  1900	  1766	  12617	  77.1 MiB	  0.85	  0.01	  1.95754	  1.93615	  -150.064	  -1.93615	  1.93615	  0.10	  0.00114824	  0.00101953	  0.0225391	  0.0202679	  77.1 MiB	  0.85	  77.1 MiB	  0.55	  1415	  8.84375	  420	  2.62500	  390	  656	  29567	  8292	  2.07112e+07	  4.26669e+06	  1.31074e+06	  3276.84	  10	  39388	  210115	  -1	  1.99132	  1.99132	  -170.793	  -1.99132	  0	  0	  0.34	  -1	  -1	  77.1 MiB	  0.05	  0.0576019	  0.0526431	  77.1 MiB	  -1	  0.10	 
+ k6_frac_N10_frac_chain_mem32K_40nm.xml	  spree.v	  common	  12.74	  vpr	  86.56 MiB	  	  -1	  -1	  3.84	  35864	  16	  0.69	  -1	  -1	  39076	  -1	  -1	  61	  45	  3	  1	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  88636	  45	  32	  936	  77	  1	  765	  142	  20	  20	  400	  -1	  vtr_extra_small	  -1	  -1	  7990	  6993	  2362	  101	  1016	  1245	  86.6 MiB	  6.20	  0.02	  12.1921	  10.5297	  -7133.55	  -10.5297	  10.5297	  0.16	  0.00556384	  0.00434574	  0.083545	  0.0720334	  86.6 MiB	  6.20	  86.6 MiB	  4.77	  11420	  14.9869	  2979	  3.90945	  3498	  9480	  737557	  180691	  2.07112e+07	  5.32753e+06	  1.91495e+06	  4787.38	  14	  44576	  305072	  -1	  10.8282	  10.8282	  -7490.44	  -10.8282	  0	  0	  0.55	  -1	  -1	  86.6 MiB	  0.48	  0.322984	  0.290732	  86.6 MiB	  -1	  0.16	 
+ k6_frac_N10_frac_chain_mem32K_40nm.xml	  stereovision3.v	  common	  2.69	  vpr	  76.73 MiB	  	  -1	  -1	  0.87	  26256	  4	  0.17	  -1	  -1	  36604	  -1	  -1	  15	  11	  0	  0	  success	  v8.0.0-12490-ge99a5ee8c	  release VTR_ASSERT_LEVEL=3	  GNU 13.3.0 on Linux-6.8.0-57-generic x86_64	  2025-04-21T16:53:01	  srivatsan-Precision-Tower-5810	  /home/alex/vtr-verilog-to-routing	  78576	  11	  2	  140	  13	  2	  79	  28	  20	  20	  400	  -1	  vtr_extra_small	  -1	  -1	  425	  276	  658	  98	  289	  271	  76.7 MiB	  0.68	  0.00	  2.38519	  2.10685	  -169.375	  -2.10685	  1.95087	  0.09	  0.000833002	  0.000701647	  0.018572	  0.0162134	  76.7 MiB	  0.68	  76.7 MiB	  0.44	  404	  5.53425	  120	  1.64384	  174	  291	  5454	  1630	  2.07112e+07	  808410	  1.12964e+06	  2824.09	  11	  37792	  180905	  -1	  2.17742	  1.95241	  -171.997	  -2.17742	  0	  0	  0.30	  -1	  -1	  76.7 MiB	  0.04	  0.0564754	  0.0510591	  76.7 MiB	  -1	  0.09	 


Reviews:
user: login: vaughnbetz
body: Nice improvement!
state: APPROVED
author_association: CONTRIBUTOR
submitted_at: 2025-04-22T04:31:47Z
user: login: amin1377
state: APPROVED
author_association: CONTRIBUTOR
submitted_at: 2025-04-22T10:00:06Z
user: login: AlexandreSinger
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-22T13:44:55Z
user: login: AlexandreSinger
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-22T13:49:45Z

Review comments:
diff_hunk: @@ -89,8 +89,13 @@ APNetlist gen_ap_netlist_from_atoms(const AtomNetlist& atom_netlist,
             const vtr::Rect<int>& region_rect = region.get_rect();
             VTR_ASSERT(region_rect.xmin() == region_rect.xmax() && "AP: Expect each region to be a single point in x!");
             VTR_ASSERT(region_rect.ymin() == region_rect.ymax() && "AP: Expect each region to be a single point in y!");
-            int blk_x_loc = region_rect.xmin();
-            int blk_y_loc = region_rect.ymin();
+            // Here we offset by 0.5 to put the fixed point in the center of the
+            // tile (assuming the tile is 1x1).
+            // TODO: Think about what to do when the user fixes blocks to large
+            //       tiles. However, this solution will at least keep the atoms
+            //       away from the edge of tiles.
+            float blk_x_loc = region_rect.xmin() + 0.5f;
path: vpr/src/analytical_place/gen_ap_netlist_from_atoms.cpp
user: login: vaughnbetz
body: Do you look up pin offsets (i.e. where a pin is on a large block) when computing where a net is attracted to a fixed pin? (It will be elsewhere in the code.)  I think that should be done.
Same question for floating block too -- do you take pin offsets into account?
For 1x1 tiles a (0.5,0.5) offset seems right. When pin_offsets are taken into account for large blocks it would be good to check though; I think a (0.5,0.5) offset would still make sense but am not sure -- it depends how we set the offsets for pins on the periphery of a large block.


created_at: 2025-04-22T04:31:12Z
author_association: CONTRIBUTOR
diff_hunk: @@ -89,8 +89,13 @@ APNetlist gen_ap_netlist_from_atoms(const AtomNetlist& atom_netlist,
             const vtr::Rect<int>& region_rect = region.get_rect();
             VTR_ASSERT(region_rect.xmin() == region_rect.xmax() && "AP: Expect each region to be a single point in x!");
             VTR_ASSERT(region_rect.ymin() == region_rect.ymax() && "AP: Expect each region to be a single point in y!");
-            int blk_x_loc = region_rect.xmin();
-            int blk_y_loc = region_rect.ymin();
+            // Here we offset by 0.5 to put the fixed point in the center of the
+            // tile (assuming the tile is 1x1).
+            // TODO: Think about what to do when the user fixes blocks to large
+            //       tiles. However, this solution will at least keep the atoms
+            //       away from the edge of tiles.
+            float blk_x_loc = region_rect.xmin() + 0.5f;
path: vpr/src/analytical_place/gen_ap_netlist_from_atoms.cpp
user: login: AlexandreSinger
body: That is a good point! We currently do absolutely nothing with pin offsets. All blocks in the AP Netlist are currently treated as points of zero area which have mass. I will raise an issue to track this as a strong TODO item to look into. This would be a good long-term fix for the 0.5 offset and it would improve the mass-legalized solution.
created_at: 2025-04-22T13:44:55Z
author_association: CONTRIBUTOR
diff_hunk: @@ -89,8 +89,13 @@ APNetlist gen_ap_netlist_from_atoms(const AtomNetlist& atom_netlist,
             const vtr::Rect<int>& region_rect = region.get_rect();
             VTR_ASSERT(region_rect.xmin() == region_rect.xmax() && "AP: Expect each region to be a single point in x!");
             VTR_ASSERT(region_rect.ymin() == region_rect.ymax() && "AP: Expect each region to be a single point in y!");
-            int blk_x_loc = region_rect.xmin();
-            int blk_y_loc = region_rect.ymin();
+            // Here we offset by 0.5 to put the fixed point in the center of the
+            // tile (assuming the tile is 1x1).
+            // TODO: Think about what to do when the user fixes blocks to large
+            //       tiles. However, this solution will at least keep the atoms
+            //       away from the edge of tiles.
+            float blk_x_loc = region_rect.xmin() + 0.5f;
path: vpr/src/analytical_place/gen_ap_netlist_from_atoms.cpp
user: login: AlexandreSinger
body: Issue raised: https://github.com/verilog-to-routing/vtr-verilog-to-routing/issues/2995
created_at: 2025-04-22T13:49:45Z
author_association: CONTRIBUTOR

PR comments:
user: login: AlexandreSinger
created_at: 2025-04-22T01:48:48Z
body: Results on Titan (no fixed blocks):

Metric | Change over baseline
-- | --
post_gp_hpwl | 0.975
post_fl_hpwl | 0.743
total_wirelength | 0.994
post_fl_avg_disp | 0.656
post_fl_max_disp | 0.793
total_runtime | 0.983

I am actually surprised by how much of a profound affect putting blocks into the center of the device had on the quality of the solution. My guess is that putting blocks in the center of the device make it easier for the partial legalizer to legalize. I have noticed that the partial legalizer does not converge on a fully mass-legal solution. I always chocked that up to numerical issues, but I wonder if there may be an issue with that code.

Regardless, this change is nothing but good!

@vaughnbetz FYI
author_association: CONTRIBUTOR
user: login: amin1377
created_at: 2025-04-22T10:03:10Z
body: > Results on Titan (no fixed blocks):
> 
> Metric	Change over baseline
> post_gp_hpwl	0.975
> post_fl_hpwl	0.743
> total_wirelength	0.994
> post_fl_avg_disp	0.656
> post_fl_max_disp	0.793
> total_runtime	0.983
> I am actually surprised by how much of a profound affect putting blocks into the center of the device had on the quality of the solution. My guess is that putting blocks in the center of the device make it easier for the partial legalizer to legalize. I have noticed that the partial legalizer does not converge on a fully mass-legal solution. I always chocked that up to numerical issues, but I wonder if there may be an issue with that code.
> 
> Regardless, this change is nothing but good!
> 
> @vaughnbetz FYI

Thanks, Alex! Quick question: I assume that for these results, timing analysis was not enabled, and the reported total wirelength is the post-routing wirelength. Is that correct?
author_association: CONTRIBUTOR
user: login: AlexandreSinger
created_at: 2025-04-22T13:42:04Z
body: > Thanks, Alex! Quick question: I assume that for these results, timing analysis was not enabled, and the reported total wirelength is the post-routing wirelength. Is that correct?

@amin1377 That is correct. I literally just ran the Nightly Test which has timing analysis disabled and total_wirelength is the final, post-routing wirelength.
author_association: CONTRIBUTOR