6 #include "vtr_ndmatrix.h" 7 #include "physical_types.h" 11 t_physical_tile_type_ptr
type =
nullptr;
14 const t_metadata_dict*
meta =
nullptr;
20 DeviceGrid(std::string grid_name, vtr::Matrix<t_grid_tile> grid);
21 DeviceGrid(std::string grid_name, vtr::Matrix<t_grid_tile> grid, std::vector<t_logical_block_type_ptr> limiting_res);
23 const std::string&
name()
const {
return name_; }
25 size_t width()
const {
return grid_.dim_size(0); }
26 size_t height()
const {
return grid_.dim_size(1); }
29 auto operator[](
size_t index)
const {
return grid_[index]; }
32 const vtr::Matrix<t_grid_tile>&
matrix()
const {
38 size_t num_instances(t_physical_tile_type_ptr
type)
const;
47 void count_instances();
s_grid_tile is the minimum tile of the fpga
Definition: device_grid.h:10
std::string name_
Definition: device_grid.h:49
const t_metadata_dict * meta
Definition: device_grid.h:14
std::vector< t_logical_block_type_ptr > limiting_resources() const
Returns the block types which limits the device size (may be empty if resource limits were not consid...
Definition: device_grid.h:44
Definition: device_grid.h:17
int height_offset
Definition: device_grid.h:13
std::map< t_physical_tile_type_ptr, size_t > instance_counts_
Definition: device_grid.h:56
size_t height() const
Definition: device_grid.h:26
std::vector< t_logical_block_type_ptr > limiting_resources_
Definition: device_grid.h:58
const std::string & name() const
Definition: device_grid.h:23
auto operator[](size_t index)
Definition: device_grid.h:30
auto operator[](size_t index) const
Definition: device_grid.h:29
size_t width() const
Definition: device_grid.h:25
int width_offset
Definition: device_grid.h:12
const vtr::Matrix< t_grid_tile > & matrix() const
Definition: device_grid.h:32
t_physical_tile_type_ptr type
Definition: device_grid.h:11
vtr::Matrix< t_grid_tile > grid_
Definition: device_grid.h:54