diff --git a/vpr/src/analytical_place/global_placer.cpp b/vpr/src/analytical_place/global_placer.cpp index ebc00cd9c04..8e4045ce32f 100644 --- a/vpr/src/analytical_place/global_placer.cpp +++ b/vpr/src/analytical_place/global_placer.cpp @@ -411,7 +411,15 @@ PartialPlacement SimPLGlobalPlacer::place() { // Exit condition: If the upper-bound and lower-bound HPWLs are // sufficiently close together then stop. - double hpwl_relative_gap = (ub_hpwl - lb_hpwl) / ub_hpwl; + double hpwl_gap = ub_hpwl - lb_hpwl; + double hpwl_relative_gap; + if (ub_hpwl != 0.0) + hpwl_relative_gap = hpwl_gap / ub_hpwl; + else if (lb_hpwl != 0.0) + hpwl_relative_gap = hpwl_gap / lb_hpwl; + else + hpwl_relative_gap = 0.0; + if (hpwl_relative_gap < target_hpwl_relative_gap_) break; } diff --git a/vpr/src/base/flat_placement_utils.h b/vpr/src/base/flat_placement_utils.h index 1772585e92f..85f0635640d 100644 --- a/vpr/src/base/flat_placement_utils.h +++ b/vpr/src/base/flat_placement_utils.h @@ -41,10 +41,14 @@ inline float get_manhattan_distance_to_tile(const t_flat_pl_loc& src_flat_loc, // the src_flat_loc. To do this, we project the point in L1 space. float proj_x = std::clamp(src_flat_loc.x, tile_xmin, tile_xmax); float proj_y = std::clamp(src_flat_loc.y, tile_ymin, tile_ymax); + // Note: We assume that tiles do not cross layers, so the projected layer + // is just the layer that contains the tile. + float proj_layer = tile_loc.layer_num; // Then compute the L1 distance from the src_flat_loc to the projected // position. This will be the minimum distance this point needs to move. float dx = std::abs(proj_x - src_flat_loc.x); float dy = std::abs(proj_y - src_flat_loc.y); - return dx + dy; + float dlayer = std::abs(proj_layer - src_flat_loc.layer); + return dx + dy + dlayer; } diff --git a/vpr/src/pack/greedy_candidate_selector.cpp b/vpr/src/pack/greedy_candidate_selector.cpp index 3a5fd57875a..4ab7aae867a 100644 --- a/vpr/src/pack/greedy_candidate_selector.cpp +++ b/vpr/src/pack/greedy_candidate_selector.cpp @@ -153,23 +153,23 @@ void GreedyCandidateSelector::initialize_unrelated_clustering_data(const t_molec max_loc.layer = std::max(max_loc.layer, mol_pos.layer); } - VTR_ASSERT_MSG(max_loc.layer == 0, - "APPack unrelated clustering does not support 3D " - "FPGAs yet"); - // Initialize the data structure with empty arrays with enough space // for each molecule. + size_t flat_grid_num_layers = max_loc.layer + 1; size_t flat_grid_width = max_loc.x + 1; size_t flat_grid_height = max_loc.y + 1; appack_unrelated_clustering_data_ = - vtr::NdMatrix>, 2>({flat_grid_width, + vtr::NdMatrix>, 3>({flat_grid_num_layers, + flat_grid_width, flat_grid_height}); - for (size_t x = 0; x < flat_grid_width; x++) { - for (size_t y = 0; y < flat_grid_height; y++) { - // Resize to the maximum number of used external pins. This is - // to ensure that every molecule below can be inserted into a - // valid list based on their number of external pins. - appack_unrelated_clustering_data_[x][y].resize(max_molecule_stats.num_used_ext_pins + 1); + for (size_t layer_num = 0; layer_num < flat_grid_num_layers; layer_num++) { + for (size_t x = 0; x < flat_grid_width; x++) { + for (size_t y = 0; y < flat_grid_height; y++) { + // Resize to the maximum number of used external pins. This is + // to ensure that every molecule below can be inserted into a + // valid list based on their number of external pins. + appack_unrelated_clustering_data_[layer_num][x][y].resize(max_molecule_stats.num_used_ext_pins + 1); + } } } @@ -185,7 +185,7 @@ void GreedyCandidateSelector::initialize_unrelated_clustering_data(const t_molec int ext_inps = molecule_stats.num_used_ext_inputs; //Insert the molecule into the unclustered lists by number of external inputs - auto& tile_uc_data = appack_unrelated_clustering_data_[mol_pos.x][mol_pos.y]; + auto& tile_uc_data = appack_unrelated_clustering_data_[mol_pos.layer][mol_pos.x][mol_pos.y]; tile_uc_data[ext_inps].push_back(mol_id); } } else { @@ -1258,21 +1258,33 @@ PackMoleculeId GreedyCandidateSelector::get_unrelated_candidate_for_cluster_appa // to the max number of inputs a molecule could have. size_t inputs_avail = cluster_legalizer.get_num_cluster_inputs_available(cluster_id); VTR_ASSERT_SAFE(!appack_unrelated_clustering_data_.empty()); - size_t max_molecule_inputs_avail = appack_unrelated_clustering_data_[0][0].size() - 1; + size_t max_molecule_inputs_avail = appack_unrelated_clustering_data_[0][0][0].size() - 1; + size_t flat_grid_num_layers = appack_unrelated_clustering_data_.dim_size(0); + size_t flat_grid_width = appack_unrelated_clustering_data_.dim_size(1); + size_t flat_grid_height = appack_unrelated_clustering_data_.dim_size(2); if (inputs_avail >= max_molecule_inputs_avail) { inputs_avail = max_molecule_inputs_avail; } // Create a queue of locations to search and a map of visited grid locations. std::queue search_queue; - vtr::NdMatrix visited({appack_unrelated_clustering_data_.dim_size(0), - appack_unrelated_clustering_data_.dim_size(1)}, - false); - // Push the position of the cluster to the queue. + vtr::NdMatrix visited({flat_grid_num_layers, + flat_grid_width, + flat_grid_height}, + false); + t_physical_tile_loc cluster_tile_loc(cluster_gain_stats.flat_cluster_position.x, cluster_gain_stats.flat_cluster_position.y, cluster_gain_stats.flat_cluster_position.layer); - search_queue.push(cluster_tile_loc); + + // Push the position of the cluster to the queue. We push this position on + // each layer such that each layer is searched independently. + for (size_t layer_num = 0; layer_num < flat_grid_num_layers; layer_num++) { + t_physical_tile_loc tile_loc(cluster_tile_loc.x, + cluster_tile_loc.y, + layer_num); + search_queue.push(tile_loc); + } // Get the max unrelated tile distance for the block type of this cluster. t_logical_block_type_ptr cluster_type = cluster_legalizer.get_cluster_type(cluster_id); @@ -1288,10 +1300,12 @@ PackMoleculeId GreedyCandidateSelector::get_unrelated_candidate_for_cluster_appa while (!search_queue.empty()) { // Pop a position to search from the queue. const t_physical_tile_loc& node_loc = search_queue.front(); - VTR_ASSERT_SAFE(node_loc.layer_num == 0); // Get the distance from the cluster to the current tile in tiles. - float dist = std::abs(node_loc.x - cluster_tile_loc.x) + std::abs(node_loc.y - cluster_tile_loc.y); + float node_dx = std::abs(node_loc.x - cluster_tile_loc.x); + float node_dy = std::abs(node_loc.y - cluster_tile_loc.y); + float node_dlayer = std::abs(node_loc.layer_num - cluster_tile_loc.layer_num); + float dist = node_dx + node_dy + node_dlayer; // If this position is too far from the source, skip it. if (dist > max_dist) { @@ -1309,18 +1323,18 @@ PackMoleculeId GreedyCandidateSelector::get_unrelated_candidate_for_cluster_appa } // If this position has been visited, skip it. - if (visited[node_loc.x][node_loc.y]) { + if (visited[node_loc.layer_num][node_loc.x][node_loc.y]) { search_queue.pop(); continue; } - visited[node_loc.x][node_loc.y] = true; + visited[node_loc.layer_num][node_loc.x][node_loc.y] = true; // Explore this position from highest number of inputs available to lowest. // Here, we are trying to find the closest compatible molecule, where we // break ties based on whoever has more external inputs. PackMoleculeId best_candidate = PackMoleculeId::INVALID(); float best_candidate_distance = std::numeric_limits::max(); - const auto& uc_data = appack_unrelated_clustering_data_[node_loc.x][node_loc.y]; + const auto& uc_data = appack_unrelated_clustering_data_[node_loc.layer_num][node_loc.x][node_loc.y]; VTR_ASSERT_SAFE(inputs_avail < uc_data.size()); for (int ext_inps = inputs_avail; ext_inps >= 0; ext_inps--) { // Get the molecule by the number of external inputs. diff --git a/vpr/src/pack/greedy_candidate_selector.h b/vpr/src/pack/greedy_candidate_selector.h index 9888cca5697..4e547a58de6 100644 --- a/vpr/src/pack/greedy_candidate_selector.h +++ b/vpr/src/pack/greedy_candidate_selector.h @@ -596,14 +596,14 @@ class GreedyCandidateSelector { /// @brief Data pre-computed to help select unrelated molecules when APPack /// is being used. This is the same data as unrelated_clustering_data_, /// but it is spatially distributed over the device. - /// For each grid location on the device (x, y), this provides a list of + /// For each grid location on the device (layer, x, y), this provides a list of /// molecules sorted by their gain, where the first dimension is the number /// of external outputs of the molecule. /// When APPack is not used, this will be uninitialized. - /// [0..flat_grid_width][0..flat_grid_height][0..max_num_used_ext_pins] + /// [0..flat_grid_num_layers][0..flat_grid_width][0..flat_grid_height][0..max_num_used_ext_pins] /// Here, flat_grid width/height is the maximum x and y positions given in /// the flat placement. - vtr::NdMatrix>, 2> appack_unrelated_clustering_data_; + vtr::NdMatrix>, 3> appack_unrelated_clustering_data_; /// @brief The APPack state which contains the options used to configure /// APPack and the flat placement. diff --git a/vpr/src/place/initial_placement.cpp b/vpr/src/place/initial_placement.cpp index 89aaba96ca1..2f87310217c 100644 --- a/vpr/src/place/initial_placement.cpp +++ b/vpr/src/place/initial_placement.cpp @@ -738,35 +738,39 @@ static inline t_pl_loc find_nearest_compatible_loc(const t_flat_pl_loc& src_flat const auto& compressed_block_grid = g_vpr_ctx.placement().compressed_block_grids[block_type->index]; const DeviceGrid& device_grid = g_vpr_ctx.device().grid; const int num_layers = device_grid.get_num_layers(); - // This method does not support 3D FPGAs yet. The search performed will only - // traverse the same layer as the src_loc. - VTR_ASSERT(num_layers == 1); - constexpr int layer = 0; - - // Get the closest (approximately) compressed location to the src location. - // This does not need to be perfect (in fact I do not think it is), but the - // closer it is, the faster the BFS will find the best solution. - t_physical_tile_loc src_grid_loc(src_flat_loc.x, src_flat_loc.y, src_flat_loc.layer); - const t_physical_tile_loc compressed_src_loc = compressed_block_grid.grid_loc_to_compressed_loc_approx(src_grid_loc); // Weighted-BFS search the compressed grid for an empty compatible subtile. - size_t num_rows = compressed_block_grid.get_num_rows(layer); - size_t num_cols = compressed_block_grid.get_num_columns(layer); - vtr::NdMatrix visited({num_cols, num_rows}, false); + std::vector> per_layer_visited(num_layers); + for (int layer = 0; layer < num_layers; layer++) { + size_t num_rows = compressed_block_grid.get_num_rows(layer); + size_t num_cols = compressed_block_grid.get_num_columns(layer); + per_layer_visited[layer].resize({num_cols, num_rows}, false); + } float best_dist = std::numeric_limits::max(); t_pl_loc best_loc(OPEN, OPEN, OPEN, OPEN); + // Get the closest (approximately) compressed location to the src location + // on each layer and enqueue them. We only want to enqueue locations onto + // layers that can feasibly implement this block. + // This does not need to be perfect (in fact I do not think it is), but the + // closer it is, the faster the BFS will find the best solution. std::queue loc_queue; - loc_queue.push(compressed_src_loc); + for (int layer_num : compressed_block_grid.get_layer_nums()) { + t_physical_tile_loc src_grid_loc(src_flat_loc.x, src_flat_loc.y, layer_num); + const t_physical_tile_loc compressed_src_loc = compressed_block_grid.grid_loc_to_compressed_loc_approx(src_grid_loc); + if (compressed_src_loc.x != OPEN && compressed_src_loc.y != OPEN) + loc_queue.push(compressed_src_loc); + } + while (!loc_queue.empty()) { // Pop the top element off the queue. t_physical_tile_loc loc = loc_queue.front(); loc_queue.pop(); // If this location has already been visited, skip it. - if (visited[loc.x][loc.y]) + if (per_layer_visited[loc.layer_num][loc.x][loc.y]) continue; - visited[loc.x][loc.y] = true; + per_layer_visited[loc.layer_num][loc.x][loc.y] = true; // Get the minimum distance the cluster would need to move (relative to // its global placement solution) to be within the tile at the given @@ -795,7 +799,7 @@ static inline t_pl_loc find_nearest_compatible_loc(const t_flat_pl_loc& src_flat // (i.e. no tile exists there). This is fine, we just need to check for // them to ensure we never try to put a cluster there. bool is_valid_compressed_loc = false; - const auto& compressed_col_blk_map = compressed_block_grid.get_column_block_map(loc.x, layer); + const auto& compressed_col_blk_map = compressed_block_grid.get_column_block_map(loc.x, loc.layer_num); if (compressed_col_blk_map.count(loc.y) != 0) is_valid_compressed_loc = true; @@ -837,6 +841,8 @@ static inline t_pl_loc find_nearest_compatible_loc(const t_flat_pl_loc& src_flat // been visited. The code above checks for these cases to prevent extra // work and invalid lookups. This must be done this way to ensure that // the closest location can be found efficiently. + size_t num_rows = compressed_block_grid.get_num_rows(loc.layer_num); + size_t num_cols = compressed_block_grid.get_num_columns(loc.layer_num); if (loc.x > 0) { t_physical_tile_loc new_comp_loc = t_physical_tile_loc(loc.x - 1, loc.y, diff --git a/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/basic_3d_ap/config/config.txt b/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/basic_3d_ap/config/config.txt new file mode 100644 index 00000000000..80d8b5b770b --- /dev/null +++ b/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/basic_3d_ap/config/config.txt @@ -0,0 +1,45 @@ +############################################## +# Configuration file for running experiments +############################################## + +# Path to directory of circuits to use +circuits_dir=benchmarks/blif/4 + +# Path to directory of architectures to use +archs_dir=arch/multi_die/simple_arch + +# Add architectures to list to sweep +arch_list_add=3d_k4_N4_90nm.xml + +# Add circuits to list to sweep +# This is a sweep of blif files which pack to a density between 50% and 90% of +# the max density on this device. +circuit_list_add=s820.blif +circuit_list_add=s838.1.blif +circuit_list_add=bw.blif +circuit_list_add=rd84.blif +circuit_list_add=s832.blif +circuit_list_add=mm9a.blif +circuit_list_add=alu2.blif +circuit_list_add=x1.blif +circuit_list_add=t481.blif +circuit_list_add=mm9b.blif +circuit_list_add=styr.blif +circuit_list_add=s953.blif + +# Parse info and how to parse +parse_file=vpr_fixed_chan_width.txt + +# How to parse QoR info +qor_parse_file=qor_ap_fixed_chan_width.txt + +# Pass requirements +pass_requirements_file=pass_requirements_ap_fixed_chan_width.txt + +script_params_common=-starting_stage vpr -track_memory_usage --analytical_place --route --device FPGA3D --route_chan_width 100 + +# Test only the packer and the initial placer of the AP flow. +script_params_list_add=--ap_analytical_solver identity --ap_partial_legalizer none +# Force unrelated clustering on. +script_params_list_add=--ap_analytical_solver identity --ap_partial_legalizer none --allow_unrelated_clustering on + diff --git a/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/basic_3d_ap/config/golden_results.txt b/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/basic_3d_ap/config/golden_results.txt new file mode 100644 index 00000000000..d9874bc4dfb --- /dev/null +++ b/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/basic_3d_ap/config/golden_results.txt @@ -0,0 +1,25 @@ +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 +3d_k4_N4_90nm.xml s820.blif common_--ap_analytical_solver_identity_--ap_partial_legalizer_none 0.41 vpr 67.45 MiB -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 35 19 -1 -1 success v8.0.0-13596-g7ff2fdbdb-dirty release VTR_ASSERT_LEVEL=3 GNU 13.3.0 on Linux-6.8.0-63-generic x86_64 2025-08-20T21:23:20 srivatsan-Precision-Tower-5810 /home/alex/vtr-verilog-to-routing/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/basic_3d_ap 69068 19 19 136 0 1 99 73 10 10 200 -1 FPGA3D -1 -1 871.641 751 681 57 398 226 67.4 MiB 0.12 0.00 3.372 3.04604 -44.3501 -3.04604 3.04604 0.00 0.000256444 0.000213235 0.00238126 0.00211997 67.4 MiB 0.12 67.4 MiB 0.09 844 8.61224 844 8.61224 475 1406 401495 170476 142676 78026.2 975514. 4877.57 10 30528 128848 -1 3.15206 3.15206 -50.6277 -3.15206 0 0 0.17 -1 -1 67.4 MiB 0.07 0.0125619 0.0113107 28.5 MiB -1 0.02 +3d_k4_N4_90nm.xml s820.blif common_--ap_analytical_solver_identity_--ap_partial_legalizer_none_--allow_unrelated_clustering_on 0.44 vpr 67.45 MiB -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 34 19 -1 -1 success v8.0.0-13596-g7ff2fdbdb-dirty release VTR_ASSERT_LEVEL=3 GNU 13.3.0 on Linux-6.8.0-63-generic x86_64 2025-08-20T21:23:20 srivatsan-Precision-Tower-5810 /home/alex/vtr-verilog-to-routing/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/basic_3d_ap 69064 19 19 136 0 1 99 72 10 10 200 -1 FPGA3D -1 -1 879.713 754 817 82 480 255 67.4 MiB 0.12 0.00 3.372 3.00456 -44.8378 -3.00456 3.00456 0.00 0.000283054 0.000240054 0.00277318 0.002473 67.4 MiB 0.12 67.4 MiB 0.09 843 8.60204 843 8.60204 462 1338 564593 271588 142676 75796.9 975514. 4877.57 11 30528 128848 -1 3.1757 3.1757 -50.7348 -3.1757 0 0 0.17 -1 -1 67.4 MiB 0.10 0.0131351 0.0117164 28.5 MiB -1 0.02 +3d_k4_N4_90nm.xml s838.1.blif common_--ap_analytical_solver_identity_--ap_partial_legalizer_none 0.37 vpr 67.06 MiB -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 31 35 -1 -1 success v8.0.0-13596-g7ff2fdbdb-dirty release VTR_ASSERT_LEVEL=3 GNU 13.3.0 on Linux-6.8.0-63-generic x86_64 2025-08-20T21:23:20 srivatsan-Precision-Tower-5810 /home/alex/vtr-verilog-to-routing/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/basic_3d_ap 68668 35 1 129 0 1 108 67 10 10 200 -1 FPGA3D -1 -1 829.372 592 1699 155 1001 543 67.1 MiB 0.13 0.00 5.56099 4.9431 -98.8807 -4.9431 4.9431 0.00 0.000260731 0.00022283 0.00434779 0.00379044 67.1 MiB 0.13 67.1 MiB 0.09 647 6.04673 647 6.04673 420 831 175142 62634 142676 69108.9 975514. 4877.57 7 30528 128848 -1 5.41618 5.41618 -101.368 -5.41618 0 0 0.17 -1 -1 67.1 MiB 0.03 0.0119957 0.0106859 28.4 MiB -1 0.02 +3d_k4_N4_90nm.xml s838.1.blif common_--ap_analytical_solver_identity_--ap_partial_legalizer_none_--allow_unrelated_clustering_on 0.39 vpr 67.20 MiB -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 30 35 -1 -1 success v8.0.0-13596-g7ff2fdbdb-dirty release VTR_ASSERT_LEVEL=3 GNU 13.3.0 on Linux-6.8.0-63-generic x86_64 2025-08-20T21:23:20 srivatsan-Precision-Tower-5810 /home/alex/vtr-verilog-to-routing/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/basic_3d_ap 68816 35 1 129 0 1 108 66 10 10 200 -1 FPGA3D -1 -1 831.372 588 1396 138 801 457 67.2 MiB 0.12 0.00 5.56099 4.96986 -98.2942 -4.96986 4.96986 0.00 0.000285683 0.000248542 0.00394139 0.0034509 67.2 MiB 0.12 67.2 MiB 0.09 635 5.93458 635 5.93458 433 911 201419 73665 142676 66879.6 975514. 4877.57 13 30528 128848 -1 5.04154 5.04154 -98.9333 -5.04154 0 0 0.18 -1 -1 67.2 MiB 0.04 0.0145015 0.0127822 28.4 MiB -1 0.02 +3d_k4_N4_90nm.xml bw.blif common_--ap_analytical_solver_identity_--ap_partial_legalizer_none 0.43 vpr 67.57 MiB -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 37 5 -1 -1 success v8.0.0-13596-g7ff2fdbdb-dirty release VTR_ASSERT_LEVEL=3 GNU 13.3.0 on Linux-6.8.0-63-generic x86_64 2025-08-20T21:23:20 srivatsan-Precision-Tower-5810 /home/alex/vtr-verilog-to-routing/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/basic_3d_ap 69196 5 28 137 0 0 95 70 10 10 200 -1 FPGA3D -1 -1 811.663 751 358 32 170 156 67.6 MiB 0.12 0.00 3.83992 3.52385 -67.1587 -3.52385 nan 0.00 0.000261393 0.000216879 0.00197599 0.00179054 67.6 MiB 0.12 67.6 MiB 0.09 791 8.32632 791 8.32632 422 999 445501 228266 142676 82484.8 975514. 4877.57 8 30528 128848 -1 3.59016 nan -75.0344 -3.59016 0 0 0.17 -1 -1 67.6 MiB 0.08 0.0113797 0.0102712 28.6 MiB -1 0.02 +3d_k4_N4_90nm.xml bw.blif common_--ap_analytical_solver_identity_--ap_partial_legalizer_none_--allow_unrelated_clustering_on 0.43 vpr 67.03 MiB -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 36 5 -1 -1 success v8.0.0-13596-g7ff2fdbdb-dirty release VTR_ASSERT_LEVEL=3 GNU 13.3.0 on Linux-6.8.0-63-generic x86_64 2025-08-20T21:23:20 srivatsan-Precision-Tower-5810 /home/alex/vtr-verilog-to-routing/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/basic_3d_ap 68640 5 28 137 0 0 95 69 10 10 200 -1 FPGA3D -1 -1 815.277 716 774 65 382 327 67.0 MiB 0.13 0.00 3.83992 2.81327 -62.7158 -2.81327 nan 0.00 0.000267235 0.000222035 0.00277126 0.00244752 67.0 MiB 0.13 67.0 MiB 0.10 771 8.11579 771 8.11579 396 963 453652 232363 142676 80255.5 975514. 4877.57 11 30528 128848 -1 3.21552 nan -71.8798 -3.21552 0 0 0.17 -1 -1 67.0 MiB 0.09 0.0136186 0.0121416 28.1 MiB -1 0.02 +3d_k4_N4_90nm.xml rd84.blif common_--ap_analytical_solver_identity_--ap_partial_legalizer_none 0.43 vpr 67.13 MiB -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 48 8 -1 -1 success v8.0.0-13596-g7ff2fdbdb-dirty release VTR_ASSERT_LEVEL=3 GNU 13.3.0 on Linux-6.8.0-63-generic x86_64 2025-08-20T21:23:20 srivatsan-Precision-Tower-5810 /home/alex/vtr-verilog-to-routing/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/basic_3d_ap 68744 8 4 165 0 0 122 60 10 10 200 -1 FPGA3D -1 -1 1159.54 968 1464 166 1059 239 67.1 MiB 0.14 0.00 4.49381 3.68783 -12.7612 -3.68783 nan 0.00 0.00029022 0.000240743 0.00533876 0.00462497 67.1 MiB 0.14 67.1 MiB 0.10 1146 9.39344 1146 9.39344 694 2071 441536 150803 142676 107007 975514. 4877.57 12 30528 128848 -1 4.14058 nan -13.8699 -4.14058 0 0 0.17 -1 -1 67.1 MiB 0.08 0.0179728 0.0158994 28.1 MiB -1 0.02 +3d_k4_N4_90nm.xml rd84.blif common_--ap_analytical_solver_identity_--ap_partial_legalizer_none_--allow_unrelated_clustering_on 0.44 vpr 67.46 MiB -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 48 8 -1 -1 success v8.0.0-13596-g7ff2fdbdb-dirty release VTR_ASSERT_LEVEL=3 GNU 13.3.0 on Linux-6.8.0-63-generic x86_64 2025-08-20T21:23:20 srivatsan-Precision-Tower-5810 /home/alex/vtr-verilog-to-routing/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/basic_3d_ap 69084 8 4 165 0 0 122 60 10 10 200 -1 FPGA3D -1 -1 1159.54 968 1464 166 1059 239 67.5 MiB 0.14 0.00 4.49381 3.68783 -12.7612 -3.68783 nan 0.00 0.000307288 0.000256225 0.00559788 0.00484354 67.5 MiB 0.14 67.5 MiB 0.10 1146 9.39344 1146 9.39344 694 2071 441536 150803 142676 107007 975514. 4877.57 12 30528 128848 -1 4.14058 nan -13.8699 -4.14058 0 0 0.18 -1 -1 67.5 MiB 0.08 0.0184545 0.0163003 28.5 MiB -1 0.02 +3d_k4_N4_90nm.xml s832.blif common_--ap_analytical_solver_identity_--ap_partial_legalizer_none 0.42 vpr 67.20 MiB -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 40 19 -1 -1 success v8.0.0-13596-g7ff2fdbdb-dirty release VTR_ASSERT_LEVEL=3 GNU 13.3.0 on Linux-6.8.0-63-generic x86_64 2025-08-20T21:23:20 srivatsan-Precision-Tower-5810 /home/alex/vtr-verilog-to-routing/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/basic_3d_ap 68812 19 19 161 0 1 113 78 10 10 200 -1 FPGA3D -1 -1 1035.88 805 1904 218 1090 596 67.2 MiB 0.13 0.00 3.56182 3.05406 -45.7438 -3.05406 3.05406 0.00 0.000305934 0.000255416 0.00470479 0.00409149 67.2 MiB 0.13 67.2 MiB 0.10 886 7.91071 886 7.91071 534 1697 391552 158224 142676 89172.8 975514. 4877.57 12 30528 128848 -1 3.2145 3.2145 -50.1138 -3.2145 0 0 0.17 -1 -1 67.2 MiB 0.07 0.0166514 0.0147489 28.1 MiB -1 0.02 +3d_k4_N4_90nm.xml s832.blif common_--ap_analytical_solver_identity_--ap_partial_legalizer_none_--allow_unrelated_clustering_on 0.45 vpr 67.51 MiB -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 39 19 -1 -1 success v8.0.0-13596-g7ff2fdbdb-dirty release VTR_ASSERT_LEVEL=3 GNU 13.3.0 on Linux-6.8.0-63-generic x86_64 2025-08-20T21:23:20 srivatsan-Precision-Tower-5810 /home/alex/vtr-verilog-to-routing/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/basic_3d_ap 69132 19 19 161 0 1 113 77 10 10 200 -1 FPGA3D -1 -1 1033.88 826 1544 157 892 495 67.5 MiB 0.13 0.00 3.56182 3.21504 -46.5131 -3.21504 3.21504 0.00 0.000316625 0.000267708 0.00430746 0.0037363 67.5 MiB 0.13 67.5 MiB 0.10 965 8.61607 965 8.61607 548 1651 574859 233525 142676 86943.5 975514. 4877.57 10 30528 128848 -1 3.27694 3.27694 -52.9059 -3.27694 0 0 0.17 -1 -1 67.5 MiB 0.10 0.0161037 0.0142779 28.5 MiB -1 0.02 +3d_k4_N4_90nm.xml mm9a.blif common_--ap_analytical_solver_identity_--ap_partial_legalizer_none 0.44 vpr 67.39 MiB -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 43 13 -1 -1 success v8.0.0-13596-g7ff2fdbdb-dirty release VTR_ASSERT_LEVEL=3 GNU 13.3.0 on Linux-6.8.0-63-generic x86_64 2025-08-20T21:23:20 srivatsan-Precision-Tower-5810 /home/alex/vtr-verilog-to-routing/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/basic_3d_ap 69004 13 9 165 0 1 116 65 10 10 200 -1 FPGA3D -1 -1 1058.49 813 1755 173 1219 363 67.4 MiB 0.15 0.00 10.3774 8.83659 -159.14 -8.83659 8.83659 0.00 0.000385324 0.000335514 0.00680145 0.00598277 67.4 MiB 0.15 67.4 MiB 0.10 959 8.33913 959 8.33913 536 1578 390106 170128 142676 95860.8 975514. 4877.57 9 30528 128848 -1 9.76606 9.76606 -166.142 -9.76606 0 0 0.17 -1 -1 67.4 MiB 0.07 0.019374 0.0173704 28.4 MiB -1 0.02 +3d_k4_N4_90nm.xml mm9a.blif common_--ap_analytical_solver_identity_--ap_partial_legalizer_none_--allow_unrelated_clustering_on 0.44 vpr 67.26 MiB -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 43 13 -1 -1 success v8.0.0-13596-g7ff2fdbdb-dirty release VTR_ASSERT_LEVEL=3 GNU 13.3.0 on Linux-6.8.0-63-generic x86_64 2025-08-20T21:23:20 srivatsan-Precision-Tower-5810 /home/alex/vtr-verilog-to-routing/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/basic_3d_ap 68876 13 9 165 0 1 116 65 10 10 200 -1 FPGA3D -1 -1 1056.49 816 1495 134 1026 335 67.3 MiB 0.14 0.00 10.3774 8.88521 -154.293 -8.88521 8.88521 0.00 0.000344076 0.00029067 0.00593383 0.00518801 67.3 MiB 0.14 67.3 MiB 0.10 971 8.44348 971 8.44348 611 1928 403295 155537 142676 95860.8 975514. 4877.57 12 30528 128848 -1 9.01678 9.01678 -161.147 -9.01678 0 0 0.18 -1 -1 67.3 MiB 0.08 0.0194851 0.0172898 28.4 MiB -1 0.02 +3d_k4_N4_90nm.xml alu2.blif common_--ap_analytical_solver_identity_--ap_partial_legalizer_none 0.44 vpr 67.31 MiB -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 59 10 -1 -1 success v8.0.0-13596-g7ff2fdbdb-dirty release VTR_ASSERT_LEVEL=3 GNU 13.3.0 on Linux-6.8.0-63-generic x86_64 2025-08-20T21:23:20 srivatsan-Precision-Tower-5810 /home/alex/vtr-verilog-to-routing/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/basic_3d_ap 68928 10 6 207 0 0 147 75 10 10 200 -1 FPGA3D -1 -1 1462.31 1206 1813 181 1251 381 67.3 MiB 0.15 0.00 7.15091 6.33663 -20.2299 -6.33663 nan 0.00 0.000370933 0.000310403 0.00618125 0.00539142 67.3 MiB 0.15 67.3 MiB 0.11 1358 9.23810 1358 9.23810 787 2247 365299 124151 142676 131530 975514. 4877.57 11 30528 128848 -1 6.64292 nan -21.9088 -6.64292 0 0 0.17 -1 -1 67.3 MiB 0.07 0.0214792 0.019147 28.4 MiB -1 0.02 +3d_k4_N4_90nm.xml alu2.blif common_--ap_analytical_solver_identity_--ap_partial_legalizer_none_--allow_unrelated_clustering_on 0.46 vpr 67.41 MiB -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 58 10 -1 -1 success v8.0.0-13596-g7ff2fdbdb-dirty release VTR_ASSERT_LEVEL=3 GNU 13.3.0 on Linux-6.8.0-63-generic x86_64 2025-08-20T21:23:20 srivatsan-Precision-Tower-5810 /home/alex/vtr-verilog-to-routing/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/basic_3d_ap 69032 10 6 207 0 0 147 74 10 10 200 -1 FPGA3D -1 -1 1464.8 1177 1779 184 1243 352 67.4 MiB 0.15 0.00 7.39668 6.29249 -21.2096 -6.29249 nan 0.00 0.000365545 0.000304455 0.00642313 0.00559458 67.4 MiB 0.15 67.4 MiB 0.11 1379 9.38095 1379 9.38095 817 2430 432630 150203 142676 129301 975514. 4877.57 14 30528 128848 -1 6.8716 nan -23.6985 -6.8716 0 0 0.17 -1 -1 67.4 MiB 0.08 0.0242575 0.0215874 28.5 MiB -1 0.02 +3d_k4_N4_90nm.xml x1.blif common_--ap_analytical_solver_identity_--ap_partial_legalizer_none 0.52 vpr 67.51 MiB -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 40 51 -1 -1 success v8.0.0-13596-g7ff2fdbdb-dirty release VTR_ASSERT_LEVEL=3 GNU 13.3.0 on Linux-6.8.0-63-generic x86_64 2025-08-20T21:23:20 srivatsan-Precision-Tower-5810 /home/alex/vtr-verilog-to-routing/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/basic_3d_ap 69128 51 35 187 0 0 146 126 10 10 200 -1 FPGA3D -1 -1 1431.65 1102 2646 284 1001 1361 67.5 MiB 0.13 0.00 3.43373 2.37137 -53.5604 -2.37137 nan 0.00 0.000308386 0.000256935 0.00405197 0.00352503 67.5 MiB 0.13 67.5 MiB 0.10 1245 8.52740 1245 8.52740 741 2178 977720 428367 142676 89172.8 975514. 4877.57 13 30528 128848 -1 2.85242 nan -62.0834 -2.85242 0 0 0.18 -1 -1 67.5 MiB 0.16 0.0174491 0.0155081 28.6 MiB -1 0.02 +3d_k4_N4_90nm.xml x1.blif common_--ap_analytical_solver_identity_--ap_partial_legalizer_none_--allow_unrelated_clustering_on 0.51 vpr 67.14 MiB -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 39 51 -1 -1 success v8.0.0-13596-g7ff2fdbdb-dirty release VTR_ASSERT_LEVEL=3 GNU 13.3.0 on Linux-6.8.0-63-generic x86_64 2025-08-20T21:23:20 srivatsan-Precision-Tower-5810 /home/alex/vtr-verilog-to-routing/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/basic_3d_ap 68748 51 35 187 0 0 146 125 10 10 200 -1 FPGA3D -1 -1 1431.75 1138 3557 364 1478 1715 67.1 MiB 0.14 0.00 3.43373 2.34 -52.6482 -2.34 nan 0.00 0.000304644 0.00025537 0.00500613 0.00434258 67.1 MiB 0.14 67.1 MiB 0.10 1232 8.43836 1232 8.43836 757 2156 870465 396526 142676 86943.5 975514. 4877.57 12 30528 128848 -1 2.78998 nan -62.3332 -2.78998 0 0 0.18 -1 -1 67.1 MiB 0.15 0.0174681 0.0154681 28.4 MiB -1 0.02 +3d_k4_N4_90nm.xml t481.blif common_--ap_analytical_solver_identity_--ap_partial_legalizer_none 0.62 vpr 67.26 MiB -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 55 16 -1 -1 success v8.0.0-13596-g7ff2fdbdb-dirty release VTR_ASSERT_LEVEL=3 GNU 13.3.0 on Linux-6.8.0-63-generic x86_64 2025-08-20T21:23:20 srivatsan-Precision-Tower-5810 /home/alex/vtr-verilog-to-routing/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/basic_3d_ap 68876 16 1 230 0 0 164 72 10 10 200 -1 FPGA3D -1 -1 1719.09 1423 1711 164 1284 263 67.3 MiB 0.23 0.00 5.26477 4.78086 -4.78086 -4.78086 nan 0.00 0.000371499 0.000308278 0.00660479 0.0057026 67.3 MiB 0.23 67.3 MiB 0.19 1908 11.6341 1908 11.6341 1096 4201 1095477 388933 142676 122613 975514. 4877.57 14 30528 128848 -1 5.1579 nan -5.1579 -5.1579 0 0 0.17 -1 -1 67.3 MiB 0.17 0.0253407 0.0224414 28.4 MiB -1 0.02 +3d_k4_N4_90nm.xml t481.blif common_--ap_analytical_solver_identity_--ap_partial_legalizer_none_--allow_unrelated_clustering_on 0.62 vpr 67.30 MiB -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 55 16 -1 -1 success v8.0.0-13596-g7ff2fdbdb-dirty release VTR_ASSERT_LEVEL=3 GNU 13.3.0 on Linux-6.8.0-63-generic x86_64 2025-08-20T21:23:20 srivatsan-Precision-Tower-5810 /home/alex/vtr-verilog-to-routing/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/basic_3d_ap 68912 16 1 230 0 0 164 72 10 10 200 -1 FPGA3D -1 -1 1719.09 1423 1711 164 1284 263 67.3 MiB 0.23 0.00 5.26477 4.78086 -4.78086 -4.78086 nan 0.00 0.000375177 0.000312127 0.00675769 0.00585125 67.3 MiB 0.23 67.3 MiB 0.19 1908 11.6341 1908 11.6341 1096 4201 1095477 388933 142676 122613 975514. 4877.57 14 30528 128848 -1 5.1579 nan -5.1579 -5.1579 0 0 0.17 -1 -1 67.3 MiB 0.16 0.0249796 0.0220727 28.4 MiB -1 0.02 +3d_k4_N4_90nm.xml mm9b.blif common_--ap_analytical_solver_identity_--ap_partial_legalizer_none 0.56 vpr 67.40 MiB -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 64 13 -1 -1 success v8.0.0-13596-g7ff2fdbdb-dirty release VTR_ASSERT_LEVEL=3 GNU 13.3.0 on Linux-6.8.0-63-generic x86_64 2025-08-20T21:23:20 srivatsan-Precision-Tower-5810 /home/alex/vtr-verilog-to-routing/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/basic_3d_ap 69020 13 9 229 0 1 170 86 10 10 200 -1 FPGA3D -1 -1 1838.97 1301 2732 263 2032 437 67.4 MiB 0.23 0.00 11.9172 10.0937 -200.226 -10.0937 10.0937 0.00 0.000447109 0.000375185 0.00923795 0.00805715 67.4 MiB 0.23 67.4 MiB 0.18 1561 9.23669 1561 9.23669 945 3035 598090 221479 142676 142676 975514. 4877.57 11 30528 128848 -1 10.6349 10.6349 -208.117 -10.6349 0 0 0.17 -1 -1 67.4 MiB 0.11 0.027256 0.0241761 28.6 MiB -1 0.02 +3d_k4_N4_90nm.xml mm9b.blif common_--ap_analytical_solver_identity_--ap_partial_legalizer_none_--allow_unrelated_clustering_on 0.51 vpr 67.52 MiB -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 64 13 -1 -1 success v8.0.0-13596-g7ff2fdbdb-dirty release VTR_ASSERT_LEVEL=3 GNU 13.3.0 on Linux-6.8.0-63-generic x86_64 2025-08-20T21:23:20 srivatsan-Precision-Tower-5810 /home/alex/vtr-verilog-to-routing/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/basic_3d_ap 69144 13 9 229 0 1 170 86 10 10 200 -1 FPGA3D -1 -1 1838.97 1301 2732 263 2032 437 67.5 MiB 0.17 0.00 11.9172 10.0937 -200.226 -10.0937 10.0937 0.00 0.000491731 0.000415896 0.00979358 0.00856623 67.5 MiB 0.17 67.5 MiB 0.12 1561 9.23669 1561 9.23669 945 3035 598090 221479 142676 142676 975514. 4877.57 11 30528 128848 -1 10.6349 10.6349 -208.117 -10.6349 0 0 0.17 -1 -1 67.5 MiB 0.11 0.027452 0.0244516 28.5 MiB -1 0.02 +3d_k4_N4_90nm.xml styr.blif common_--ap_analytical_solver_identity_--ap_partial_legalizer_none 0.57 vpr 67.02 MiB -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 60 10 -1 -1 success v8.0.0-13596-g7ff2fdbdb-dirty release VTR_ASSERT_LEVEL=3 GNU 13.3.0 on Linux-6.8.0-63-generic x86_64 2025-08-20T21:23:20 srivatsan-Precision-Tower-5810 /home/alex/vtr-verilog-to-routing/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/basic_3d_ap 68628 10 10 247 0 1 155 80 10 10 200 -1 FPGA3D -1 -1 1546.92 1190 2316 309 1659 348 67.0 MiB 0.23 0.00 3.91624 3.0935 -39.105 -3.0935 3.0935 0.00 0.000412332 0.000337749 0.00784731 0.00673918 67.0 MiB 0.23 67.0 MiB 0.18 1571 10.2013 1571 10.2013 766 2600 607719 233715 142676 133759 975514. 4877.57 13 30528 128848 -1 3.38176 3.38176 -42.7981 -3.38176 0 0 0.17 -1 -1 67.0 MiB 0.11 0.0269385 0.0237335 28.1 MiB -1 0.02 +3d_k4_N4_90nm.xml styr.blif common_--ap_analytical_solver_identity_--ap_partial_legalizer_none_--allow_unrelated_clustering_on 0.57 vpr 67.15 MiB -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 60 10 -1 -1 success v8.0.0-13596-g7ff2fdbdb-dirty release VTR_ASSERT_LEVEL=3 GNU 13.3.0 on Linux-6.8.0-63-generic x86_64 2025-08-20T21:23:20 srivatsan-Precision-Tower-5810 /home/alex/vtr-verilog-to-routing/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/basic_3d_ap 68760 10 10 247 0 1 155 80 10 10 200 -1 FPGA3D -1 -1 1546.92 1190 2316 309 1659 348 67.1 MiB 0.23 0.00 3.91624 3.0935 -39.105 -3.0935 3.0935 0.00 0.000442532 0.000367869 0.00831213 0.0072054 67.1 MiB 0.23 67.1 MiB 0.18 1571 10.2013 1571 10.2013 766 2600 607719 233715 142676 133759 975514. 4877.57 13 30528 128848 -1 3.38176 3.38176 -42.7981 -3.38176 0 0 0.18 -1 -1 67.1 MiB 0.11 0.0279652 0.0248269 28.3 MiB -1 0.02 +3d_k4_N4_90nm.xml s953.blif common_--ap_analytical_solver_identity_--ap_partial_legalizer_none 0.56 vpr 67.66 MiB -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 63 17 -1 -1 success v8.0.0-13596-g7ff2fdbdb-dirty release VTR_ASSERT_LEVEL=3 GNU 13.3.0 on Linux-6.8.0-63-generic x86_64 2025-08-20T21:23:20 srivatsan-Precision-Tower-5810 /home/alex/vtr-verilog-to-routing/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/basic_3d_ap 69288 17 23 231 0 1 178 103 10 10 200 -1 FPGA3D -1 -1 1847 1427 3477 390 2178 909 67.7 MiB 0.18 0.00 4.10356 3.10287 -80.5632 -3.10287 3.10287 0.00 0.00047445 0.000394252 0.00998331 0.00858358 67.7 MiB 0.18 67.7 MiB 0.12 1761 9.94915 1761 9.94915 964 3371 900421 327204 142676 140447 975514. 4877.57 13 30528 128848 -1 3.27694 3.27694 -87.685 -3.27694 0 0 0.18 -1 -1 67.7 MiB 0.15 0.0295839 0.02608 28.8 MiB -1 0.02 +3d_k4_N4_90nm.xml s953.blif common_--ap_analytical_solver_identity_--ap_partial_legalizer_none_--allow_unrelated_clustering_on 0.57 vpr 67.16 MiB -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 63 17 -1 -1 success v8.0.0-13596-g7ff2fdbdb-dirty release VTR_ASSERT_LEVEL=3 GNU 13.3.0 on Linux-6.8.0-63-generic x86_64 2025-08-20T21:23:20 srivatsan-Precision-Tower-5810 /home/alex/vtr-verilog-to-routing/vtr_flow/tasks/regression_tests/vtr_reg_strong/strong_ap/basic_3d_ap 68776 17 23 231 0 1 178 103 10 10 200 -1 FPGA3D -1 -1 1842.29 1437 3477 463 2076 938 67.2 MiB 0.17 0.00 4.10356 3.2145 -80.7092 -3.2145 3.2145 0.00 0.000514829 0.000435857 0.00935591 0.00811848 67.2 MiB 0.17 67.2 MiB 0.12 1837 10.3785 1837 10.3785 953 3269 974047 381889 142676 140447 975514. 4877.57 13 30528 128848 -1 3.41672 3.41672 -87.9469 -3.41672 0 0 0.17 -1 -1 67.2 MiB 0.16 0.0290759 0.0257941 28.3 MiB -1 0.02 diff --git a/vtr_flow/tasks/regression_tests/vtr_reg_strong/task_list.txt b/vtr_flow/tasks/regression_tests/vtr_reg_strong/task_list.txt index 139a0e47c7d..10d7f206916 100644 --- a/vtr_flow/tasks/regression_tests/vtr_reg_strong/task_list.txt +++ b/vtr_flow/tasks/regression_tests/vtr_reg_strong/task_list.txt @@ -15,6 +15,7 @@ regression_tests/vtr_reg_strong/strong_ap/identity_analytical_solver regression_tests/vtr_reg_strong/strong_ap/qp_hybrid_analytical_solver regression_tests/vtr_reg_strong/strong_ap/lp_b2b_analytical_solver regression_tests/vtr_reg_strong/strong_ap/gen_mass_report +regression_tests/vtr_reg_strong/strong_ap/basic_3d_ap regression_tests/vtr_reg_strong/strong_absorb_buffers regression_tests/vtr_reg_strong/strong_analysis_only regression_tests/vtr_reg_strong/strong_bidir