openfpga/src/fabric/build_top_module_utils.cpp
/********************************************************************
 * Generate the name for a grid block, by considering
 * 1. if it locates on the border with given device size
 * 2. its type
 * 
 * This function is mainly used in the top-level module generation
 *******************************************************************/
Generate the name for a grid block, by considering
1. if it locates on the border with given device size
2. its type

This function is mainly used in the top-level module generation
Generate the name for a grid block by considering 1 . if it locates on the border with given device size 2 . its type This function is mainly used in the top - level module generation
std::string generate_grid_block_module_name_in_top_module(const std::string& prefix,
                                                          const DeviceGrid& grids,
                                                          const vtr::Point<size_t>& grid_coord) {
  vtr::Point<size_t> device_size(grids.width(), grids.height());
  e_side border_side = find_grid_border_side(device_size, grid_coord);
  return generate_grid_block_module_name(prefix, 
                                         std::string(grids[grid_coord.x()][grid_coord.y()].type->name), 
                                         is_io_type(grids[grid_coord.x()][grid_coord.y()].type),
                                         border_side);
}
std :: string generate_grid_block_module_name_in_top_module ( const std :: string & prefix , const DeviceGrid & grids , const vtr :: Point < size_t > & grid_coord ) { vtr :: Point < size_t > device_size ( grids . width ( ) , grids . height ( ) ) ; e_side border_side = find_grid_border_side ( device_size , grid_coord ) ; return generate_grid_block_module_name ( prefix , std :: string ( grids [ grid_coord . x ( ) ] [ grid_coord . y ( ) ] . type -> name ) , is_io_type ( grids [ grid_coord . x ( ) ] [ grid_coord . y ( ) ] . type ) , border_side ) ; }
Generate the name for a grid block, by considering
 1. if it locates on the border with given device size
 2. its type
Generate the name for a grid block by considering 1 . if it locates on the border with given device size 2 . its type
/* Determine if the grid locates at the border */