blob: af9af3c8ceb517bca36c2c6bd3e05399b29a534c [file] [log] [blame]
#ifndef VPR_SPATIAL_ROUTE_TREE_LOOKUP_H
#define VPR_SPATIAL_ROUTE_TREE_LOOKUP_H
#include <vector>
#include "vtr_ndmatrix.h"
#include "clustered_netlist_fwd.h"
#include "route_tree_type.h"
typedef vtr::Matrix<std::vector<t_rt_node*>> SpatialRouteTreeLookup;
SpatialRouteTreeLookup build_route_tree_spatial_lookup(ClusterNetId net, t_rt_node* rt_root);
void update_route_tree_spatial_lookup_recur(t_rt_node* rt_node, SpatialRouteTreeLookup& spatial_lookup);
size_t grid_to_bin_x(size_t grid_x, const SpatialRouteTreeLookup& spatial_lookup);
size_t grid_to_bin_y(size_t grid_y, const SpatialRouteTreeLookup& spatial_lookup);
bool validate_route_tree_spatial_lookup(t_rt_node* rt_root, const SpatialRouteTreeLookup& spatial_lookup);
#endif