@@ -92,6 +92,7 @@ void CRRConnectionBuilder::build_connections_for_location(size_t x,
9292 // Find matching switch block pattern
9393 std::string sw_name = get_switch_block_name (x, y);
9494 std::string pattern = sb_manager_.find_matching_pattern (sw_name);
95+ std::string sw_block_file_name = sb_manager_.get_pattern_file_name (pattern);
9596 tile_connections.clear ();
9697
9798 if (pattern.empty ()) {
@@ -134,6 +135,7 @@ void CRRConnectionBuilder::build_connections_for_location(size_t x,
134135 e_rr_type source_node_type = rr_graph_.node_type (source_node);
135136 RRNodeId sink_node = sink_it->second ;
136137 e_rr_type sink_node_type = rr_graph_.node_type (sink_node);
138+ std::string crr_id = sw_block_file_name + " _" + std::to_string (row_idx) + " _" + std::to_string (col_idx);
137139 // If the source node is an IPIN, then it should be considered as
138140 // a sink of the connection.
139141 if (source_node_type == e_rr_type::IPIN) {
@@ -142,7 +144,7 @@ void CRRConnectionBuilder::build_connections_for_location(size_t x,
142144 sink_node,
143145 source_node);
144146
145- tile_connections.emplace_back (source_node, sink_node, delay_ps);
147+ tile_connections.emplace_back (source_node, sink_node, delay_ps, crr_id );
146148 } else {
147149 int segment_length = -1 ;
148150 if (sink_node_type == e_rr_type::CHANX || sink_node_type == e_rr_type::CHANY) {
@@ -154,7 +156,7 @@ void CRRConnectionBuilder::build_connections_for_location(size_t x,
154156 sink_node,
155157 segment_length);
156158
157- tile_connections.emplace_back (sink_node, source_node, delay_ps);
159+ tile_connections.emplace_back (sink_node, source_node, delay_ps, crr_id );
158160 }
159161 }
160162 }
0 commit comments