@@ -92,11 +92,7 @@ RRNodeId RRGraphBuilder::create_node(int layer, int x, int y, e_rr_type type, in
92
92
node_storage_.add_node_side (new_node, node_side);
93
93
}
94
94
/* 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);
100
96
101
97
return new_node;
102
98
}
@@ -310,16 +306,14 @@ void RRGraphBuilder::add_track_node_to_lookup(RRNodeId node) {
310
306
for (const size_t & x : node_x) {
311
307
for (const size_t & y : node_y) {
312
308
size_t ptc = node_storage_.node_ptc_num (node);
309
+ e_rr_type node_type = node_storage_.node_type (node);
313
310
/* Routing channel nodes may have different ptc num
314
311
* Find the track ids using the x/y offset
315
312
* FIXME: Special case on assigning CHANX (x,y) should be changed to a natural way!
316
313
*/
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);
323
317
}
324
318
}
325
319
}
0 commit comments