bug fix in grid config block allocation

This commit is contained in:
tangxifan 2020-07-03 20:46:04 -06:00
parent f040fc78a9
commit 46f038c829
1 changed files with 12 additions and 0 deletions

View File

@ -593,6 +593,18 @@ void build_physical_block_bitstream(BitstreamManager& bitstream_manager,
/* Create a block for the grid in bitstream manager */
t_physical_tile_type_ptr grid_type = grids[grid_coord.x()][grid_coord.y()].type;
std::string grid_module_name_prefix(GRID_MODULE_NAME_PREFIX);
/* Early exit if this parent module has no configurable child modules */
std::string grid_module_name = generate_grid_block_module_name(grid_module_name_prefix, std::string(grid_type->name),
is_io_type(grid_type), border_side);
ModuleId grid_module = module_manager.find_module(grid_module_name);
VTR_ASSERT(true == module_manager.valid_module_id(grid_module));
/* Skip module with no configurable children */
if (0 == module_manager.configurable_children(grid_module).size()) {
return;
}
std::string grid_block_name = generate_grid_block_instance_name(grid_module_name_prefix, std::string(grid_type->name),
is_io_type(grid_type), border_side, grid_coord);
ConfigBlockId grid_configurable_block = bitstream_manager.add_block(grid_block_name);