Skip to content

Commit 7aa2304

Browse files
committed
[vpr] fix minor bug where sort edge is not applicable to boundary gsbs when perimeter_cb is on
1 parent 64bbd24 commit 7aa2304

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

vpr/src/tileable_rr_graph/rr_gsb.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -878,6 +878,10 @@ void RRGSB::sort_chan_node_in_edges(const RRGraphView& rr_graph) {
878878

879879
for (size_t side = 0; side < get_num_sides(); ++side) {
880880
SideManager side_manager(side);
881+
/* Bypass boundary GSBs here. When perimeter_cb option is on, Some GSBs may have only 1 side of CHANX or CHANY. There are no edges in the GSB, so we should skip them */
882+
if (chan_node_[side_manager.get_opposite()].get_chan_width() == 0) {
883+
continue;
884+
}
881885
chan_node_in_edges_[side].resize(chan_node_[side].get_chan_width());
882886
for (size_t track_id = 0; track_id < chan_node_[side].get_chan_width(); ++track_id) {
883887
/* Only sort the output nodes and bypass passing wires */

0 commit comments

Comments
 (0)