@@ -274,8 +274,6 @@ class RrGraphSerializer final : public uxsd::RrGraphBase<RrGraphContextTypes> {
274274 RrGraphSerializer (
275275 const e_graph_type graph_type,
276276 const enum e_base_cost_type base_cost_type,
277- RRSwitchId* wire_to_rr_ipin_switch,
278- int * wire_to_rr_ipin_switch_between_dice,
279277 bool do_check_rr_graph,
280278 const char * read_rr_graph_name,
281279 std::string* loaded_rr_graph_filename,
@@ -297,9 +295,7 @@ class RrGraphSerializer final : public uxsd::RrGraphBase<RrGraphContextTypes> {
297295 MetadataStorage<std::tuple<int , int , short >>* rr_edge_metadata,
298296 vtr::string_internment* strings,
299297 bool is_flat)
300- : wire_to_rr_ipin_switch_(wire_to_rr_ipin_switch)
301- , wire_to_rr_ipin_switch_between_dice_(wire_to_rr_ipin_switch_between_dice)
302- , chan_width_(chan_width)
298+ : chan_width_(chan_width)
303299 , rr_nodes_(rr_nodes)
304300 , rr_graph_builder_(rr_graph_builder)
305301 , rr_graph_(rr_graph)
@@ -1147,20 +1143,6 @@ class RrGraphSerializer final : public uxsd::RrGraphBase<RrGraphContextTypes> {
11471143 return nullptr ;
11481144 }
11491145 inline void finish_rr_graph_rr_edges (void *& /* ctx*/ ) final {
1150- /* initialize a vector that keeps track of the number of wire to ipin switches
1151- * There should be only one wire to ipin switch. In case there are more, make sure to
1152- * store the most frequent switch */
1153- const auto & rr_graph = (*rr_graph_);
1154- std::vector<int > count_for_wire_to_ipin_switches;
1155- count_for_wire_to_ipin_switches.resize (rr_switch_inf_->size (), 0 );
1156- // switch for same layer Track to IPIN connection
1157- // first is index, second is count
1158- std::pair<int , int > most_frequent_switch (-1 , 0 );
1159- // switch for different layer Track to IPIN connection
1160- std::vector<int > count_for_wire_to_ipin_switches_between_dice;
1161- count_for_wire_to_ipin_switches_between_dice.resize (rr_switch_inf_->size (), 0 );
1162- std::pair<int ,int > most_frequent_switch_between_dice (-1 ,0 );
1163-
11641146 // Partition the rr graph edges for efficient access to
11651147 // configurable/non-configurable edge subsets. Must be done after RR
11661148 // switches have been allocated.
@@ -1183,36 +1165,8 @@ class RrGraphSerializer final : public uxsd::RrGraphBase<RrGraphContextTypes> {
11831165 " switch_id %zu is larger than num_rr_switches %zu" ,
11841166 switch_id, rr_switch_inf_->size ());
11851167 }
1186- auto node = (*rr_nodes_)[source_node];
1187-
1188- /* Keeps track of the number of the specific type of switch that connects a wire to an ipin
1189- * use the pair data structure to keep the maximum*/
1190- if (rr_graph.node_type (node.id ()) == e_rr_type::CHANX || rr_graph.node_type (node.id ()) == e_rr_type::CHANY) {
1191- if (rr_graph.node_type (RRNodeId (sink_node)) == e_rr_type::IPIN){
1192- if (rr_graph.node_layer_low (RRNodeId (sink_node)) == rr_graph.node_layer_low (RRNodeId (source_node))) {
1193- count_for_wire_to_ipin_switches[switch_id]++;
1194- if (count_for_wire_to_ipin_switches[switch_id] > most_frequent_switch.second ) {
1195- most_frequent_switch.first = switch_id;
1196- most_frequent_switch.second = count_for_wire_to_ipin_switches[switch_id];
1197- }
1198- } else {
1199- VTR_ASSERT (rr_graph.node_layer_low (RRNodeId (sink_node)) != rr_graph.node_layer_low (RRNodeId (source_node)));
1200- count_for_wire_to_ipin_switches_between_dice[switch_id]++;
1201- if (count_for_wire_to_ipin_switches_between_dice[switch_id] > most_frequent_switch_between_dice.second ){
1202- most_frequent_switch_between_dice.first = switch_id;
1203- most_frequent_switch_between_dice.second = count_for_wire_to_ipin_switches_between_dice[switch_id];
1204- }
1205- }
1206- }
1207- }
12081168 }
12091169 }
1210-
1211- VTR_ASSERT (wire_to_rr_ipin_switch_ != nullptr );
1212- *wire_to_rr_ipin_switch_ = (RRSwitchId)most_frequent_switch.first ;
1213-
1214- VTR_ASSERT (wire_to_rr_ipin_switch_between_dice_ != nullptr );
1215- *wire_to_rr_ipin_switch_between_dice_ = most_frequent_switch_between_dice.first ;
12161170 }
12171171
12181172 inline EdgeWalker get_rr_graph_rr_edges (void *& /* ctx*/ ) final {
@@ -1844,7 +1798,6 @@ class RrGraphSerializer final : public uxsd::RrGraphBase<RrGraphContextTypes> {
18441798 segment_inf_y_,
18451799 segment_inf_z_,
18461800 *rr_indexed_data_,
1847- *wire_to_rr_ipin_switch_,
18481801 base_cost_type_,
18491802 echo_enabled_,
18501803 echo_file_name_);
@@ -2194,8 +2147,6 @@ class RrGraphSerializer final : public uxsd::RrGraphBase<RrGraphContextTypes> {
21942147 std::array<uxsd::enum_loc_side, 16 > side_map_;
21952148
21962149 // Output for loads, and constant data for writes.
2197- RRSwitchId* wire_to_rr_ipin_switch_;
2198- int * wire_to_rr_ipin_switch_between_dice_;
21992150 t_chan_width* chan_width_;
22002151 t_rr_graph_storage* rr_nodes_;
22012152 RRGraphBuilder* rr_graph_builder_;
0 commit comments