From 63cd34cbc8e0fd7c0a1bf1b4c89604cf32e1bb7e Mon Sep 17 00:00:00 2001 From: KA7E Date: Tue, 4 Jun 2024 20:43:06 -0400 Subject: [PATCH 1/4] add pin counting filter option to pack_mol_in_existing_cluster --- vpr/src/pack/re_cluster_util.cpp | 5 +++-- vpr/src/pack/re_cluster_util.h | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/vpr/src/pack/re_cluster_util.cpp b/vpr/src/pack/re_cluster_util.cpp index a119408a14f..bab4d0c6231 100644 --- a/vpr/src/pack/re_cluster_util.cpp +++ b/vpr/src/pack/re_cluster_util.cpp @@ -212,7 +212,8 @@ bool pack_mol_in_existing_cluster(t_pack_molecule* molecule, std::unordered_set* new_clb_atoms, bool during_packing, t_clustering_data& clustering_data, - t_lb_router_data*& router_data) { + t_lb_router_data*& router_data, + bool enable_pin_feasibility_filter) { auto& helper_ctx = g_vpr_ctx.mutable_cl_helper(); auto& cluster_ctx = g_vpr_ctx.mutable_clustering(); @@ -241,7 +242,7 @@ bool pack_mol_in_existing_cluster(t_pack_molecule* molecule, E_DETAILED_ROUTE_FOR_EACH_ATOM, router_data, 0, - helper_ctx.enable_pin_feasibility_filter, + enable_pin_feasibility_filter, //false, helper_ctx.feasible_block_array_size, target_ext_pin_util, diff --git a/vpr/src/pack/re_cluster_util.h b/vpr/src/pack/re_cluster_util.h index b1c16e80b39..b4f2d8ec937 100644 --- a/vpr/src/pack/re_cluster_util.h +++ b/vpr/src/pack/re_cluster_util.h @@ -107,7 +107,8 @@ bool pack_mol_in_existing_cluster(t_pack_molecule* molecule, std::unordered_set* new_clb_atoms, bool during_packing, t_clustering_data& clustering_data, - t_lb_router_data*& router_data); + t_lb_router_data*& router_data + bool enable_pin_feasibility_filter); /** * @brief A function that fix the clustered netlist if the move is performed From d94b29f8fd44516b7c19c7cdc2b5f4076687b61a Mon Sep 17 00:00:00 2001 From: KA7E Date: Tue, 4 Jun 2024 20:47:36 -0400 Subject: [PATCH 2/4] added default parameter (to avoid breaking top level API functions) --- vpr/src/pack/re_cluster_util.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vpr/src/pack/re_cluster_util.h b/vpr/src/pack/re_cluster_util.h index b4f2d8ec937..0e5341fac9b 100644 --- a/vpr/src/pack/re_cluster_util.h +++ b/vpr/src/pack/re_cluster_util.h @@ -108,7 +108,7 @@ bool pack_mol_in_existing_cluster(t_pack_molecule* molecule, bool during_packing, t_clustering_data& clustering_data, t_lb_router_data*& router_data - bool enable_pin_feasibility_filter); + bool enable_pin_feasibility_filter = true); /** * @brief A function that fix the clustered netlist if the move is performed From a6b70cd0d8f0624e62ec53ea0a9b7ab54e0083a3 Mon Sep 17 00:00:00 2001 From: KA7E Date: Tue, 4 Jun 2024 20:48:56 -0400 Subject: [PATCH 3/4] fixed typo --- vpr/src/pack/re_cluster_util.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vpr/src/pack/re_cluster_util.h b/vpr/src/pack/re_cluster_util.h index 0e5341fac9b..079cfef94f6 100644 --- a/vpr/src/pack/re_cluster_util.h +++ b/vpr/src/pack/re_cluster_util.h @@ -107,7 +107,7 @@ bool pack_mol_in_existing_cluster(t_pack_molecule* molecule, std::unordered_set* new_clb_atoms, bool during_packing, t_clustering_data& clustering_data, - t_lb_router_data*& router_data + t_lb_router_data*& router_data, bool enable_pin_feasibility_filter = true); /** From aeab99c8cd376816d99b225480c1e061521883c5 Mon Sep 17 00:00:00 2001 From: KA7E Date: Sat, 8 Jun 2024 16:52:00 -0400 Subject: [PATCH 4/4] added explanatory comment --- vpr/src/pack/re_cluster_util.h | 1 + 1 file changed, 1 insertion(+) diff --git a/vpr/src/pack/re_cluster_util.h b/vpr/src/pack/re_cluster_util.h index 079cfef94f6..109fceabe4b 100644 --- a/vpr/src/pack/re_cluster_util.h +++ b/vpr/src/pack/re_cluster_util.h @@ -100,6 +100,7 @@ bool start_new_cluster_for_mol(t_pack_molecule* molecule, * @param clustering_data: A data structure containing helper data for the clustering process * (is updated if this function is called during packing, especially intra_lb_routing data member). * @param router_data: returns the intra logic block router data. + * @param enable_pin_feasibility_filter: do a pin couting based legality check (before or in place of intra-cluster routing check). */ bool pack_mol_in_existing_cluster(t_pack_molecule* molecule, int molecule_size,