diff --git a/vpr/src/device/rr_graph_builder.h b/vpr/src/device/rr_graph_builder.h index 451ae5321b8..66fa3e94c28 100644 --- a/vpr/src/device/rr_graph_builder.h +++ b/vpr/src/device/rr_graph_builder.h @@ -178,6 +178,12 @@ class RRGraphBuilder { return node_storage_.validate(); } + /** @brief Sorts edge data such that configurable edges appears before + * non-configurable edges. */ + inline void partition_edges() { + node_storage_.partition_edges(); + } + /** @brief Init per node fan-in data. Should only be called after all edges have * been allocated. * @note diff --git a/vpr/src/route/rr_graph.cpp b/vpr/src/route/rr_graph.cpp index 5c41f1aac14..f842eb3db7a 100644 --- a/vpr/src/route/rr_graph.cpp +++ b/vpr/src/route/rr_graph.cpp @@ -725,7 +725,7 @@ static void build_rr_graph(const t_graph_type graph_type, //Partition the rr graph edges for efficient access to configurable/non-configurable //edge subsets. Must be done after RR switches have been allocated - device_ctx.rr_nodes.partition_edges(); + device_ctx.rr_graph_builder.partition_edges(); //Save the channel widths for the newly constructed graph device_ctx.chan_width = nodes_per_chan; diff --git a/vpr/src/route/rr_graph_uxsdcxx_serializer.h b/vpr/src/route/rr_graph_uxsdcxx_serializer.h index 752888cd015..1a4eaee8801 100644 --- a/vpr/src/route/rr_graph_uxsdcxx_serializer.h +++ b/vpr/src/route/rr_graph_uxsdcxx_serializer.h @@ -959,7 +959,7 @@ class RrGraphSerializer final : public uxsd::RrGraphBase { // configurable/non-configurable edge subsets. Must be done after RR // switches have been allocated. rr_graph_builder_->mark_edges_as_rr_switch_ids(); - rr_nodes_->partition_edges(); + rr_graph_builder_->partition_edges(); for (int source_node = 0; source_node < (ssize_t)rr_nodes_->size(); ++source_node) { int num_edges = rr_nodes_->num_edges(RRNodeId(source_node));