From 3ad9b784b04f844d7c39f460044bda6bff5f090d Mon Sep 17 00:00:00 2001 From: KA7E Date: Wed, 8 Nov 2023 10:03:00 -0500 Subject: [PATCH 1/2] replace assert with non-fatal check for mode conflict, if true return BLK_FAILED_FEASIBLE --- vpr/src/pack/cluster_util.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/vpr/src/pack/cluster_util.cpp b/vpr/src/pack/cluster_util.cpp index 0e12305dc70..901bfcc3cc0 100644 --- a/vpr/src/pack/cluster_util.cpp +++ b/vpr/src/pack/cluster_util.cpp @@ -1232,7 +1232,9 @@ enum e_block_pack_status try_place_atom_block_rec(const t_pb_graph_node* pb_grap } } } else { - VTR_ASSERT(parent_pb->mode == pb_graph_node->pb_type->parent_mode->index); + if (parent_pb->mode != pb_graph_node->pb_type->parent_mode->index) { + return BLK_FAILED_FEASIBLE; + } } const t_mode* mode = &parent_pb->pb_graph_node->pb_type->modes[parent_pb->mode]; @@ -3688,4 +3690,4 @@ void init_clb_atoms_lookup(vtr::vector Date: Tue, 5 Dec 2023 11:22:42 -0500 Subject: [PATCH 2/2] added comment --- vpr/src/pack/cluster_util.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/vpr/src/pack/cluster_util.cpp b/vpr/src/pack/cluster_util.cpp index 901bfcc3cc0..bd685d21fe8 100644 --- a/vpr/src/pack/cluster_util.cpp +++ b/vpr/src/pack/cluster_util.cpp @@ -1232,7 +1232,8 @@ enum e_block_pack_status try_place_atom_block_rec(const t_pb_graph_node* pb_grap } } } else { - if (parent_pb->mode != pb_graph_node->pb_type->parent_mode->index) { + /* if this is not the first child of this parent, must match existing parent mode */ + if (parent_pb->mode != pb_graph_node->pb_type->parent_mode->index) { return BLK_FAILED_FEASIBLE; } }