@@ -153,16 +153,19 @@ std::map<size_t, RRNodeId> CRRConnectionBuilder::get_vertical_nodes(Coordinate x
153153 std::map<size_t , RRNodeId> source_nodes;
154154 std::string prev_seg_type = " " ;
155155 int prev_seg_index = -1 ;
156- Side prev_side = Side::INVALID ;
156+ e_sw_template_side prev_side = e_sw_template_side::NUM_SIDES ;
157157 int prev_ptc_number = 0 ;
158158
159159 for (size_t row = NUM_EMPTY_ROWS; row < df.rows (); ++row) {
160160 SegmentInfo info = parse_segment_info (df, row, true );
161161 RRNodeId node_id;
162162
163- if (info.side == Side ::IPIN || info.side == Side ::OPIN) {
163+ if (info.side == e_sw_template_side ::IPIN || info.side == e_sw_template_side ::OPIN) {
164164 node_id = process_opin_ipin_node (info, x, y, node_lookup);
165- } else if (info.side == Side::LEFT || info.side == Side::RIGHT || info.side == Side::TOP || info.side == Side::BOTTOM) {
165+ } else if (info.side == e_sw_template_side::LEFT ||
166+ info.side == e_sw_template_side::RIGHT ||
167+ info.side == e_sw_template_side::TOP ||
168+ info.side == e_sw_template_side::BOTTOM) {
166169 node_id = process_channel_node (info, x, y, node_lookup, prev_seg_index,
167170 prev_side, prev_seg_type, prev_ptc_number, true );
168171 }
@@ -185,19 +188,22 @@ std::map<size_t, RRNodeId> CRRConnectionBuilder::get_horizontal_nodes(Coordinate
185188 std::map<size_t , RRNodeId> sink_nodes;
186189 std::string prev_seg_type = " " ;
187190 int prev_seg_index = -1 ;
188- Side prev_side = Side::INVALID ;
191+ e_sw_template_side prev_side = e_sw_template_side::NUM_SIDES ;
189192 int prev_ptc_number = 0 ;
190193
191194 for (size_t col = NUM_EMPTY_COLS; col < df.cols (); ++col) {
192195 SegmentInfo info = parse_segment_info (df, col, false );
193- if (info.side == Side::INVALID ) {
196+ if (info.side == e_sw_template_side::NUM_SIDES ) {
194197 continue ;
195198 }
196199 RRNodeId node_id;
197200
198- if (info.side == Side ::IPIN) {
201+ if (info.side == e_sw_template_side ::IPIN) {
199202 node_id = process_opin_ipin_node (info, x, y, node_lookup);
200- } else if (info.side == Side::LEFT || info.side == Side::RIGHT || info.side == Side::TOP || info.side == Side::BOTTOM) {
203+ } else if (info.side == e_sw_template_side::LEFT ||
204+ info.side == e_sw_template_side::RIGHT ||
205+ info.side == e_sw_template_side::TOP ||
206+ info.side == e_sw_template_side::BOTTOM) {
201207 node_id = process_channel_node (info, x, y, node_lookup, prev_seg_index,
202208 prev_side, prev_seg_type, prev_ptc_number,
203209 false );
@@ -269,8 +275,8 @@ RRNodeId CRRConnectionBuilder::process_opin_ipin_node(const SegmentInfo& info,
269275 Coordinate x,
270276 Coordinate y,
271277 const std::unordered_map<NodeHash, RRNodeId, NodeHasher>& node_lookup) const {
272- VTR_ASSERT (info.side == Side ::OPIN || info.side == Side ::IPIN);
273- e_rr_type node_type = (info.side == Side ::OPIN) ? e_rr_type::OPIN : e_rr_type::IPIN;
278+ VTR_ASSERT (info.side == e_sw_template_side ::OPIN || info.side == e_sw_template_side ::IPIN);
279+ e_rr_type node_type = (info.side == e_sw_template_side ::OPIN) ? e_rr_type::OPIN : e_rr_type::IPIN;
274280 NodeHash hash = std::make_tuple (node_type,
275281 std::to_string (info.seg_index ),
276282 x, x, y, y);
@@ -288,12 +294,12 @@ RRNodeId CRRConnectionBuilder::process_channel_node(const SegmentInfo& info,
288294 Coordinate y,
289295 const std::unordered_map<NodeHash, RRNodeId, NodeHasher>& node_lookup,
290296 int & prev_seg_index,
291- Side & prev_side,
297+ e_sw_template_side & prev_side,
292298 std::string& prev_seg_type,
293299 int & prev_ptc_number,
294300 bool is_vertical) const {
295301 // Check grid boundaries
296- if ((info.side == Side ::RIGHT && x == fpga_grid_x_) || (info.side == Side ::TOP && y == fpga_grid_y_)) {
302+ if ((info.side == e_sw_template_side ::RIGHT && x == fpga_grid_x_) || (info.side == e_sw_template_side ::TOP && y == fpga_grid_y_)) {
297303 return RRNodeId::INVALID ();
298304 }
299305
@@ -361,25 +367,25 @@ void CRRConnectionBuilder::calculate_segment_coordinates(const SegmentInfo& info
361367 // Calculate initial coordinates based on side
362368 if (is_vertical) {
363369 switch (info.side ) {
364- case Side ::LEFT:
370+ case e_sw_template_side ::LEFT:
365371 x_high = x + (seg_length - tap);
366372 x_low = x - (tap - 1 );
367373 y_high = y;
368374 y_low = y;
369375 break ;
370- case Side ::RIGHT:
376+ case e_sw_template_side ::RIGHT:
371377 x_high = x + tap;
372378 x_low = x + tap + 1 - seg_length;
373379 y_high = y;
374380 y_low = y;
375381 break ;
376- case Side ::TOP:
382+ case e_sw_template_side ::TOP:
377383 x_high = x;
378384 x_low = x;
379385 y_high = y + tap;
380386 y_low = y + 1 - seg_length + tap;
381387 break ;
382- case Side ::BOTTOM:
388+ case e_sw_template_side ::BOTTOM:
383389 x_high = x;
384390 x_low = x;
385391 y_high = y + seg_length - tap;
@@ -392,25 +398,25 @@ void CRRConnectionBuilder::calculate_segment_coordinates(const SegmentInfo& info
392398 }
393399 } else {
394400 switch (info.side ) {
395- case Side ::LEFT:
401+ case e_sw_template_side ::LEFT:
396402 x_high = x + tap - 1 ;
397403 x_low = x - seg_length + tap;
398404 y_high = y;
399405 y_low = y;
400406 break ;
401- case Side ::RIGHT:
407+ case e_sw_template_side ::RIGHT:
402408 x_high = x + seg_length;
403409 x_low = x + 1 ;
404410 y_high = y;
405411 y_low = y;
406412 break ;
407- case Side ::TOP:
413+ case e_sw_template_side ::TOP:
408414 x_high = x;
409415 x_low = x;
410416 y_high = y + seg_length;
411417 y_low = y + 1 ;
412418 break ;
413- case Side ::BOTTOM:
419+ case e_sw_template_side ::BOTTOM:
414420 x_high = x;
415421 x_low = x;
416422 y_high = y;
@@ -437,19 +443,19 @@ void CRRConnectionBuilder::calculate_segment_coordinates(const SegmentInfo& info
437443 physical_length = (x_high - x_low) + (y_high - y_low) + 1 ;
438444}
439445
440- Direction CRRConnectionBuilder::get_direction_for_side (Side side,
446+ Direction CRRConnectionBuilder::get_direction_for_side (e_sw_template_side side,
441447 bool is_vertical) const {
442448 if (is_vertical) {
443- return (side == Side ::RIGHT || side == Side ::TOP) ? Direction::DEC_DIR
449+ return (side == e_sw_template_side ::RIGHT || side == e_sw_template_side ::TOP) ? Direction::DEC_DIR
444450 : Direction::INC_DIR;
445451 } else {
446- return (side == Side ::RIGHT || side == Side ::TOP) ? Direction::INC_DIR
452+ return (side == e_sw_template_side ::RIGHT || side == e_sw_template_side ::TOP) ? Direction::INC_DIR
447453 : Direction::DEC_DIR;
448454 }
449455}
450456
451- std::string CRRConnectionBuilder::get_segment_type_label (Side side) const {
452- return (side == Side ::LEFT || side == Side ::RIGHT) ? " CHANX" : " CHANY" ;
457+ std::string CRRConnectionBuilder::get_segment_type_label (e_sw_template_side side) const {
458+ return (side == e_sw_template_side ::LEFT || side == e_sw_template_side ::RIGHT) ? " CHANX" : " CHANY" ;
453459}
454460
455461std::string CRRConnectionBuilder::get_ptc_sequence (int seg_index,
0 commit comments