Skip to content

Commit 1ede4c4

Browse files
allow OPIN to be connected to CHANZ in check_adjacent()
1 parent 6803792 commit 1ede4c4

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

vpr/src/route/check_route.cpp

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -310,8 +310,8 @@ static bool check_adjacent(RRNodeId from_node, RRNodeId to_node, bool is_flat) {
310310

311311
int num_adj = 0;
312312

313-
auto from_rr = RRNodeId(from_node);
314-
auto to_rr = RRNodeId(to_node);
313+
RRNodeId from_rr = from_node;
314+
RRNodeId to_rr = to_node;
315315
e_rr_type from_type = rr_graph.node_type(from_rr);
316316
int from_layer = rr_graph.node_layer_low(from_rr);
317317
int from_xlow = rr_graph.node_xlow(from_rr);
@@ -346,7 +346,7 @@ static bool check_adjacent(RRNodeId from_node, RRNodeId to_node, bool is_flat) {
346346
case e_rr_type::SOURCE:
347347
VTR_ASSERT(to_type == e_rr_type::OPIN);
348348

349-
//The OPIN should be contained within the bounding box of it's connected source
349+
// The OPIN should be contained within the bounding box of it's connected source
350350
if (from_xlow <= to_xlow && from_ylow <= to_ylow && from_xhigh >= to_xhigh && from_yhigh >= to_yhigh) {
351351
from_grid_type = device_ctx.grid.get_physical_type({from_xlow, from_ylow, from_layer});
352352
to_grid_type = device_ctx.grid.get_physical_type({to_xlow, to_ylow, to_layer});
@@ -359,19 +359,19 @@ static bool check_adjacent(RRNodeId from_node, RRNodeId to_node, bool is_flat) {
359359
break;
360360

361361
case e_rr_type::SINK:
362-
/* SINKS are adjacent to not connected */
362+
// SINKS are adjacent to not connected
363363
break;
364364

365365
case e_rr_type::OPIN:
366366
from_grid_type = device_ctx.grid.get_physical_type({from_xlow, from_ylow, from_layer});
367-
if (to_type == e_rr_type::CHANX || to_type == e_rr_type::CHANY || to_type == e_rr_type::MUX) {
368-
num_adj += 1; //adjacent
367+
if (to_type == e_rr_type::CHANX || to_type == e_rr_type::CHANY || to_type == e_rr_type::CHANZ || to_type == e_rr_type::MUX) {
368+
num_adj += 1; // adjacent
369369
} else if (is_flat) {
370370
VTR_ASSERT(to_type == e_rr_type::OPIN || to_type == e_rr_type::IPIN); // If pin is located inside a cluster
371371
return true;
372372
} else {
373-
VTR_ASSERT(to_type == e_rr_type::IPIN); /* direct OPIN to IPIN connections not necessarily adjacent */
374-
return true; /* Special case, direct OPIN to IPIN connections need not be adjacent */
373+
VTR_ASSERT(to_type == e_rr_type::IPIN); // direct OPIN to IPIN connections not necessarily adjacent
374+
return true; // Special case, direct OPIN to IPIN connections need not be adjacent
375375
}
376376

377377
break;
@@ -384,7 +384,7 @@ static bool check_adjacent(RRNodeId from_node, RRNodeId to_node, bool is_flat) {
384384
VTR_ASSERT(to_type == e_rr_type::SINK);
385385
}
386386

387-
//An IPIN should be contained within the bounding box of its connected sink's tile
387+
// An IPIN should be contained within the bounding box of its connected sink's tile
388388
if (to_type == e_rr_type::SINK) {
389389
if (from_xlow >= to_xlow
390390
&& from_ylow >= to_ylow

0 commit comments

Comments
 (0)