| #ifndef SETUPGRID_H |
| #define SETUPGRID_H |
| |
| /* |
| * Author: Jason Luu |
| * Date: October 8, 2008 |
| * |
| * Initializes and allocates the physical logic block grid for VPR. |
| * |
| */ |
| #include <vector> |
| #include "physical_types.h" |
| |
| //Find the device satisfying the specified minimum resources |
| DeviceGrid create_device_grid(std::string layout_name, |
| const std::vector<t_grid_def>& grid_layouts, |
| const std::map<t_logical_block_type_ptr, size_t>& minimum_instance_counts, |
| float target_device_utilization); |
| |
| //Find the device close in size to the specified dimensions |
| DeviceGrid create_device_grid(std::string layout_name, const std::vector<t_grid_def>& grid_layouts, size_t min_width, size_t min_height); |
| |
| //Calculate the device utilization (i.e. fraction of used grid tiles) for the specified grid and resource requirements |
| float calculate_device_utilization(const DeviceGrid& grid, std::map<t_logical_block_type_ptr, size_t> instance_counts); |
| |
| //Returns the effective size of the device (size of the bounding box of non-empty grid tiles) |
| size_t count_grid_tiles(const DeviceGrid& grid); |
| |
| #endif |