File tree Expand file tree Collapse file tree 1 file changed +9
-2
lines changed Expand file tree Collapse file tree 1 file changed +9
-2
lines changed Original file line number Diff line number Diff line change @@ -173,6 +173,7 @@ void read_place_body(std::ifstream& placement_file,
173
173
auto & cluster_ctx = g_vpr_ctx.clustering ();
174
174
auto & device_ctx = g_vpr_ctx.device ();
175
175
auto & place_ctx = g_vpr_ctx.mutable_placement ();
176
+ auto & atom_ctx = g_vpr_ctx.atom ();
176
177
177
178
std::string line;
178
179
int lineno = 0 ;
@@ -218,9 +219,15 @@ void read_place_body(std::ifstream& placement_file,
218
219
219
220
ClusterBlockId blk_id = cluster_ctx.clb_nlist .find_block (block_name);
220
221
221
- // Check if block name is valid
222
+ // If block name is not found in cluster netlist check if it is in atom netlist
222
223
if (blk_id == ClusterBlockId::INVALID ()) {
223
- VPR_THROW (VPR_ERROR_PLACE, " Block %s has an invalid name.\n " , c_block_name);
224
+ AtomBlockId atom_blk_id = atom_ctx.nlist .find_block (block_name);
225
+
226
+ if (atom_blk_id == AtomBlockId::INVALID ()) {
227
+ VPR_THROW (VPR_ERROR_PLACE, " Block %s has an invalid name.\n " , c_block_name);
228
+ } else {
229
+ blk_id = atom_ctx.lookup .atom_clb (atom_blk_id);
230
+ }
224
231
}
225
232
226
233
// Check if block is listed twice in constraints file
You can’t perform that action at this time.
0 commit comments