Skip to content

Commit 20b90ee

Browse files
authored
Merge pull request #1903 from RapidSilicon/api_init_fan_in
Add a new API init_fan_in() to RRGraphBuilder
2 parents b01dffa + 764658a commit 20b90ee

File tree

3 files changed

+10
-2
lines changed

3 files changed

+10
-2
lines changed

vpr/src/device/rr_graph_builder.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,14 @@ class RRGraphBuilder {
127127
return node_storage_.count_rr_switches(num_arch_switches, arch_switch_inf, arch_switch_fanins);
128128
}
129129

130+
/** @brief Init per node fan-in data. Should only be called after all edges have
131+
* been allocated.
132+
* @note
133+
* This is an expensive, O(N), operation so it should be called once you
134+
* have a complete rr-graph and not called often. */
135+
inline void init_fan_in() {
136+
node_storage_.init_fan_in();
137+
}
130138
/* -- Internal data storage -- */
131139
private:
132140
/* TODO: When the refactoring effort finishes,

vpr/src/route/rr_graph.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1263,7 +1263,7 @@ static std::function<void(t_chan_width*)> alloc_and_load_rr_graph(RRGraphBuilder
12631263
};
12641264
}
12651265

1266-
L_rr_node.init_fan_in();
1266+
rr_graph_builder.init_fan_in();
12671267

12681268
return update_chan_width;
12691269
}

vpr/src/route/rr_graph_uxsdcxx_serializer.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1547,7 +1547,7 @@ class RrGraphSerializer final : public uxsd::RrGraphBase<RrGraphContextTypes> {
15471547
void finish_load() final {
15481548
process_rr_node_indices();
15491549

1550-
rr_nodes_->init_fan_in();
1550+
rr_graph_builder_->init_fan_in();
15511551

15521552
alloc_and_load_rr_indexed_data(
15531553
segment_inf_,

0 commit comments

Comments
 (0)