@@ -117,8 +117,6 @@ static AtomBlockId get_driving_block(const AtomBlockId block_id,
117
117
const t_pack_pattern_connections& connections,
118
118
const AtomNetlist& atom_nlist);
119
119
120
- static t_pb_graph_pin* get_compatible_chain_root_pin (const t_pack_patterns* chain_pattern, const AtomBlockId blk_id);
121
-
122
120
static void print_chain_starting_points (t_pack_patterns* chain_pattern);
123
121
124
122
/* ****************************************/
@@ -1174,17 +1172,6 @@ static AtomBlockId get_driving_block(const AtomBlockId block_id,
1174
1172
return AtomBlockId::INVALID ();
1175
1173
}
1176
1174
1177
- static t_pb_graph_pin* get_compatible_chain_root_pin (const t_pack_patterns* chain_pattern, const AtomBlockId blk_id) {
1178
- for (const auto & chain : chain_pattern->chain_root_pins ) {
1179
- for (const auto & tie_off : chain) {
1180
- if (primitive_type_feasible (blk_id, tie_off->parent_node ->pb_type )) {
1181
- return tie_off;
1182
- }
1183
- }
1184
- }
1185
- return nullptr ;
1186
- }
1187
-
1188
1175
static void print_pack_molecules (const char * fname,
1189
1176
const std::vector<t_pack_patterns>& list_of_pack_patterns,
1190
1177
const int num_pack_patterns,
@@ -1341,13 +1328,15 @@ static AtomBlockId find_new_root_atom_for_chain(const AtomBlockId blk_id,
1341
1328
const AtomNetlist& atom_nlist) {
1342
1329
AtomBlockId new_root_blk_id;
1343
1330
t_pb_graph_pin* root_ipin;
1331
+ t_pb_graph_node* root_pb_graph_node;
1344
1332
t_model_ports* model_port;
1345
1333
1346
1334
VTR_ASSERT (list_of_pack_patterns->is_chain == true );
1347
1335
VTR_ASSERT (list_of_pack_patterns->chain_root_pins .size ());
1348
- root_ipin = get_compatible_chain_root_pin (list_of_pack_patterns, blk_id);
1336
+ root_ipin = list_of_pack_patterns->chain_root_pins [0 ][0 ];
1337
+ root_pb_graph_node = root_ipin->parent_node ;
1349
1338
1350
- if (root_ipin == nullptr ) {
1339
+ if (primitive_type_feasible (blk_id, root_pb_graph_node-> pb_type ) == false ) {
1351
1340
return AtomBlockId::INVALID ();
1352
1341
}
1353
1342
@@ -1642,7 +1631,7 @@ static void init_molecule_chain_info(const AtomBlockId blk_id,
1642
1631
// pattern assigned to it and the input block should be valid
1643
1632
VTR_ASSERT (molecule.pack_pattern && blk_id);
1644
1633
1645
- auto root_ipin = get_compatible_chain_root_pin ( molecule.pack_pattern , blk_id) ;
1634
+ auto root_ipin = molecule.pack_pattern -> chain_root_pins [ 0 ][ 0 ] ;
1646
1635
auto model_pin = root_ipin->port ->model_port ;
1647
1636
auto pin_bit = root_ipin->pin_number ;
1648
1637
0 commit comments