diff --git a/openfpga/src/repack/lb_router.h b/openfpga/src/repack/lb_router.h index fe4c7d110..c0e575324 100644 --- a/openfpga/src/repack/lb_router.h +++ b/openfpga/src/repack/lb_router.h @@ -10,8 +10,7 @@ #include "vtr_vector.h" -#include "arch_types.h" -#include "vpr_types.h" +#include "physical_types.h" #include "atom_netlist_fwd.h" #include "lb_rr_graph.h" @@ -41,7 +40,7 @@ class LbRouter { * Describes the status of a logic cluster_ctx.blocks routing resource node * for a given logic cluster_ctx.blocks instance ***************************************************************************/ - struct t_routing_stats { + struct t_routing_status { int occ; /* Number of nets currently using this lb_rr_node */ t_mode* mode; /* Mode that this rr_node is set to */ @@ -160,10 +159,11 @@ class LbRouter { std::map atoms_added_; /* map that records which atoms are added to cluster router */ /* Logical-to-physical mapping info */ - vtr::vector lb_rr_node_stats_; /* [0..lb_type_graph->size()-1] Stats for each logic cluster_ctx.blocks rr node instance */ + vtr::vector routing_status_; /* [0..lb_type_graph->size()-1] Stats for each logic cluster_ctx.blocks rr node instance */ /* Stores state info during Pathfinder iterative routing */ vtr::vector explored_node_tb_; /* [0..lb_type_graph->size()-1] Stores mode exploration and traceback info for nodes */ + int explore_id_index_; /* used in conjunction with node_traceback to determine whether or not a location has been explored. By using a unique identifier every route, I don't have to clear the previous route exploration */ /* Current type */ diff --git a/openfpga/src/repack/lb_rr_graph.cpp b/openfpga/src/repack/lb_rr_graph.cpp index 712acd50b..581edd905 100644 --- a/openfpga/src/repack/lb_rr_graph.cpp +++ b/openfpga/src/repack/lb_rr_graph.cpp @@ -94,15 +94,15 @@ LbRRNodeId LbRRGraph::find_node(const e_lb_rr_type& type, t_pb_graph_pin* pb_gra return node_lookup_[size_t(type)].at(pb_graph_pin); } -LbRRNodeId ext_source_node() const { +LbRRNodeId LbRRGraph::ext_source_node() const { return ext_source_node_; } -LbRRNodeId ext_sink_node() const { +LbRRNodeId LbRRGraph::ext_sink_node() const { return ext_sink_node_; } -std::vector find_edge(const LbRRNodeId& src_node, const LbRRNodeId& sink_node) const { +std::vector LbRRGraph::find_edge(const LbRRNodeId& src_node, const LbRRNodeId& sink_node) const { std::vector edges; for (const LbRREdgeId& edge : node_out_edges_[src_node]) { if (sink_node == edge_sink_node(edge)) { diff --git a/openfpga/src/repack/lb_rr_graph_utils.cpp b/openfpga/src/repack/lb_rr_graph_utils.cpp index 665dace21..351103647 100644 --- a/openfpga/src/repack/lb_rr_graph_utils.cpp +++ b/openfpga/src/repack/lb_rr_graph_utils.cpp @@ -5,6 +5,7 @@ /* Headers from vtrutil library */ #include "vtr_log.h" #include "vtr_assert.h" +#include "vtr_util.h" #include "lb_rr_graph_utils.h" @@ -26,7 +27,7 @@ std::string describe_lb_rr_node(const LbRRGraph& lb_rr_graph, } else if (inode == lb_rr_graph.ext_source_node()) { VTR_ASSERT(LB_SOURCE == lb_rr_graph.node_type(inode)); description = "cluster-external source (LB_SOURCE)"; - } else if (inode == lb_rr_graph.ext_sink_index()) { + } else if (inode == lb_rr_graph.ext_sink_node()) { VTR_ASSERT(LB_SINK == lb_rr_graph.node_type(inode)); description = "cluster-external sink (LB_SINK)"; } else if (LB_SINK == lb_rr_graph.node_type(inode)) {