Skip to content

Commit f30b15c

Browse files
author
Nathan Shreve
committed
Fixed bug where reading in RR graph produced using new SINK locs failed during placement
1 parent a0b412c commit f30b15c

File tree

2 files changed

+3
-7
lines changed

2 files changed

+3
-7
lines changed

vpr/src/place/timing_place_lookup.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -398,7 +398,8 @@ static float route_connection_delay(
398398
VTR_ASSERT(sink_ptc != OPEN);
399399
RRNodeId sink_rr_node = device_ctx.rr_graph.node_lookup().find_node(layer_num, sink_x, sink_y, SINK, sink_ptc);
400400

401-
VTR_ASSERT(sink_rr_node != RRNodeId::INVALID());
401+
if (sink_rr_node == RRNodeId::INVALID())
402+
continue;
402403

403404
if (!measure_directconnect && directconnect_exists(source_rr_node, sink_rr_node)) {
404405
//Skip if we shouldn't measure direct connects and a direct connect exists

vpr/src/route/rr_graph.cpp

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -715,9 +715,6 @@ void create_rr_graph(const t_graph_type graph_type,
715715
router_opts.reorder_rr_graph_nodes_threshold,
716716
router_opts.reorder_rr_graph_nodes_seed);
717717
}
718-
719-
if (det_routing_arch->write_rr_graph_filename.empty())
720-
set_sink_locs(device_ctx.rr_graph, mutable_device_ctx.rr_graph_builder);
721718
}
722719
} else {
723720
free_rr_graph();
@@ -1444,9 +1441,7 @@ static void build_rr_graph(const t_graph_type graph_type,
14441441
}
14451442

14461443
// Get better locations for SINK nodes
1447-
// Note: this function is also called after load_rr_file() in create_rr_graph()
1448-
if (!writing_graph_out)
1449-
set_sink_locs(rr_graph, device_ctx.rr_graph_builder);
1444+
set_sink_locs(rr_graph, device_ctx.rr_graph_builder);
14501445

14511446
// We are done with building the RR Graph. Thus, we can clear the storages only used
14521447
// to build the RR Graph

0 commit comments

Comments
 (0)