@@ -109,7 +109,6 @@ static t_lb_trace* find_node_in_rt(t_lb_trace* rt, int rt_index);
109
109
static void reset_explored_node_tb (t_lb_router_data* router_data);
110
110
static void save_and_reset_lb_route (t_lb_router_data* router_data);
111
111
static void load_trace_to_pb_route (t_pb_routes& pb_route,
112
- const int total_pins,
113
112
const AtomNetId net_id,
114
113
const int prev_pin_id,
115
114
const t_lb_trace* trace,
@@ -549,17 +548,14 @@ bool try_intra_lb_route(t_lb_router_data* router_data,
549
548
* Accessor Functions
550
549
******************************************************************************************/
551
550
552
- /* Creates an array [0..num_pb_graph_pins-1] lookup for intra-logic block routing. Given pb_graph_pin id for clb, lookup atom net that uses that pin.
553
- * If pin is not used, stores OPEN at that pin location */
554
551
t_pb_routes alloc_and_load_pb_route (const std::vector<t_intra_lb_net>* intra_lb_nets,
555
552
t_logical_block_type_ptr logic_block_type,
556
553
const IntraLbPbPinLookup& intra_lb_pb_pin_lookup) {
557
554
const std::vector<t_intra_lb_net>& lb_nets = *intra_lb_nets;
558
- int total_pins = logic_block_type->pb_graph_head ->total_pb_pins ;
559
555
t_pb_routes pb_route;
560
556
561
- for (int inet = 0 ; inet < ( int ) lb_nets. size (); inet++ ) {
562
- load_trace_to_pb_route (pb_route, total_pins, lb_nets[inet] .atom_net_id , OPEN, lb_nets[inet] .rt_tree , logic_block_type, intra_lb_pb_pin_lookup);
557
+ for (const auto & lb_net : lb_nets) {
558
+ load_trace_to_pb_route (pb_route, lb_net .atom_net_id , OPEN, lb_net .rt_tree , logic_block_type, intra_lb_pb_pin_lookup);
563
559
}
564
560
565
561
return pb_route;
@@ -591,7 +587,6 @@ void free_intra_lb_nets(std::vector<t_intra_lb_net>* intra_lb_nets) {
591
587
592
588
/* Recurse through route tree trace to populate pb pin to atom net lookup array */
593
589
static void load_trace_to_pb_route (t_pb_routes& pb_route,
594
- const int total_pins,
595
590
const AtomNetId net_id,
596
591
const int prev_pin_id,
597
592
const t_lb_trace* trace,
@@ -600,21 +595,22 @@ static void load_trace_to_pb_route(t_pb_routes& pb_route,
600
595
int ipin = trace->current_node ;
601
596
int driver_pb_pin_id = prev_pin_id;
602
597
int cur_pin_id = OPEN;
598
+ const int total_pins = logic_block_type->pb_graph_head ->total_pb_pins ;
603
599
if (ipin < total_pins) {
604
600
/* This routing node corresponds with a pin. This node is virtual (ie. sink or source node) */
605
601
cur_pin_id = ipin;
606
602
if (!pb_route.count (ipin)) {
607
603
pb_route.insert (std::make_pair (cur_pin_id, t_pb_route ()));
608
604
pb_route[cur_pin_id].atom_net_id = net_id;
609
605
pb_route[cur_pin_id].driver_pb_pin_id = driver_pb_pin_id;
610
- auto pb_graph_pin = intra_lb_pb_pin_lookup.pb_gpin (logic_block_type->index , cur_pin_id);
606
+ const t_pb_graph_pin* pb_graph_pin = intra_lb_pb_pin_lookup.pb_gpin (logic_block_type->index , cur_pin_id);
611
607
pb_route[cur_pin_id].pb_graph_pin = pb_graph_pin;
612
608
} else {
613
609
VTR_ASSERT (pb_route[cur_pin_id].atom_net_id == net_id);
614
610
}
615
611
}
616
612
for (int itrace = 0 ; itrace < (int )trace->next_nodes .size (); itrace++) {
617
- load_trace_to_pb_route (pb_route, total_pins, net_id, cur_pin_id, &trace->next_nodes [itrace], logic_block_type, intra_lb_pb_pin_lookup);
613
+ load_trace_to_pb_route (pb_route, net_id, cur_pin_id, &trace->next_nodes [itrace], logic_block_type, intra_lb_pb_pin_lookup);
618
614
}
619
615
}
620
616
0 commit comments