File tree Expand file tree Collapse file tree 1 file changed +4
-0
lines changed Expand file tree Collapse file tree 1 file changed +4
-0
lines changed Original file line number Diff line number Diff line change @@ -434,12 +434,16 @@ static float comp_initial_acc_cost(RRNodeId node_id,
434
434
const auto & route_ctx = g_vpr_ctx.routing ();
435
435
const auto & rr_graph = g_vpr_ctx.device ().rr_graph ;
436
436
437
+ // The default acc_cost is 1 for all rr_nodes. For routing wires, if they pass through a channel
438
+ // with expected utilization above the threshold, we assign a higher initial cost.
439
+ // This helps the router avoid channels that are likely to be congested.
437
440
float cost = 1 .f ;
438
441
439
442
const e_rr_type rr_type = rr_graph.node_type (node_id);
440
443
const double threshold = route_opts.initial_acc_cost_chan_congestion_threshold ;
441
444
const double weight = route_opts.initial_acc_cost_chan_congestion_weight ;
442
445
446
+ // TODO: We don't have an explicit CHANZ type. These wires are marked as CHANX. This should be fixed.
443
447
if (is_chan (rr_type) && !route_ctx.chanx_util .empty ()) {
444
448
VTR_ASSERT_SAFE (!route_ctx.chany_util .empty ());
445
449
double max_util = 0 .;
You can’t perform that action at this time.
0 commit comments