Skip to content

Commit 26bac8c

Browse files
committed
[core] fixed a bug where Y-axis segments may not be found
1 parent d8def01 commit 26bac8c

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

vpr/src/tileable_rr_graph/tileable_rr_graph_node_builder.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -818,8 +818,10 @@ static void load_one_chan_rr_nodes_basic_info(const RRGraphView& rr_graph,
818818
}
819819
/* Finish node RC attributes */
820820
size_t seg_id = chan_details.get_track_segment_id(itrack);
821-
float node_R = rr_graph.node_length(rr_node_id) * segment_infs[seg_id].Rmetal;
822-
float node_C = rr_graph.node_length(rr_node_id) * segment_infs[seg_id].Cmetal;
821+
e_parallel_axis wanted_axis = chan_type == CHANX ? X_AXIS : Y_AXIS;
822+
size_t parallel_seg_id = find_parallel_seg_index(seg_id, seg_index_map, wanted_axis);
823+
float node_R = rr_graph.node_length(rr_node_id) * segment_infs[parallel_seg_id].Rmetal;
824+
float node_C = rr_graph.node_length(rr_node_id) * segment_infs[parallel_seg_id].Cmetal;
823825
rr_graph_builder.set_node_rc_index(rr_node_id, NodeRCIndex(find_create_rr_rc_data(node_R, node_C, rr_rc_data)));
824826
/* Finish here, go to next */
825827
}

0 commit comments

Comments
 (0)