Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit fcbb726

Browse files
committedMay 20, 2025
[libs][rr_graph] don't reverse xy when calling node lookup
1 parent 6d92761 commit fcbb726

File tree

2 files changed

+6
-16
lines changed

2 files changed

+6
-16
lines changed
 

‎libs/librrgraph/src/base/rr_graph_builder.cpp

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -92,11 +92,7 @@ RRNodeId RRGraphBuilder::create_node(int layer, int x, int y, e_rr_type type, in
9292
node_storage_.add_node_side(new_node, node_side);
9393
}
9494
/* Special for CHANX, being consistent with the rule in find_node() */
95-
if (e_rr_type::CHANX == type) {
96-
node_lookup_.add_node(new_node, layer, y, x, type, ptc, node_side);
97-
} else {
98-
node_lookup_.add_node(new_node, layer, x, y, type, ptc, node_side);
99-
}
95+
node_lookup_.add_node(new_node, layer, x, y, type, ptc, node_side);
10096

10197
return new_node;
10298
}
@@ -310,16 +306,14 @@ void RRGraphBuilder::add_track_node_to_lookup(RRNodeId node) {
310306
for (const size_t& x : node_x) {
311307
for (const size_t& y : node_y) {
312308
size_t ptc = node_storage_.node_ptc_num(node);
309+
e_rr_type node_type = node_storage_.node_type(node);
313310
/* Routing channel nodes may have different ptc num
314311
* Find the track ids using the x/y offset
315312
* FIXME: Special case on assigning CHANX (x,y) should be changed to a natural way!
316313
*/
317-
if (e_rr_type::CHANX == node_storage_.node_type(node)) {
318-
ptc = node_ptc_nums_[node][x - node_storage_.node_xlow(node)];
319-
node_lookup_.add_node(node, node_storage_.node_layer(node), y, x, e_rr_type::CHANX, ptc);
320-
} else if (e_rr_type::CHANY == node_storage_.node_type(node)) {
321-
ptc = node_ptc_nums_[node][y - node_storage_.node_ylow(node)];
322-
node_lookup_.add_node(node, node_storage_.node_layer(node), x, y, e_rr_type::CHANY, ptc);
314+
if (e_rr_type::CHANX == node_type || e_rr_type::CHANY == node_type) {
315+
ptc = node_type == e_rr_type::CHANX ? node_ptc_nums_[node][x - node_storage_.node_xlow(node)] : node_ptc_nums_[node][y - node_storage_.node_ylow(node)];
316+
node_lookup_.add_node(node, node_storage_.node_layer(node), x, y, node_type, ptc);
323317
}
324318
}
325319
}

‎vpr/src/tileable_rr_graph/tileable_rr_graph_node_builder.cpp

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1312,11 +1312,7 @@ void create_tileable_rr_graph_nodes(const RRGraphView& rr_graph,
13121312
* .. warning: It is mandatory. There are bugs in resize() when called incrementally in RRSpatialLookup.
13131313
* When comment the following block out, you will see errors */
13141314
for (e_rr_type rr_type : RR_TYPES) {
1315-
if (rr_type == e_rr_type::CHANX) {
1316-
rr_graph_builder.node_lookup().resize_nodes(layer, grids.height(), grids.width(), rr_type, NUM_2D_SIDES);
1317-
} else {
1318-
rr_graph_builder.node_lookup().resize_nodes(layer, grids.width(), grids.height(), rr_type, NUM_2D_SIDES);
1319-
}
1315+
rr_graph_builder.node_lookup().resize_nodes(layer, grids.width(), grids.height(), rr_type, NUM_2D_SIDES);
13201316
}
13211317

13221318
load_grid_nodes_basic_info(rr_graph_builder,

0 commit comments

Comments
 (0)
Please sign in to comment.