@@ -637,16 +637,16 @@ RRGSB build_one_tileable_rr_gsb(const DeviceGrid& grids,
637
637
* - bottom side routing tracks for any GSB exist on y = [0, H)
638
638
* - left side routing tracks for any GSB exist on x = [0, W)
639
639
*/
640
- size_t std::map<e_side, vtr:Point <size_t >> track_range;
641
- track_range[TOP] = vtr:Point <size_t >(0 , grids.height () - 2 );
642
- track_range[RIGHT] = vtr:Point <size_t >(0 , grids.width () - 2 );
643
- track_range[BOTTOM] = vtr:Point <size_t >(1 , grids.height () - 2 );
644
- track_range[LEFT] = vtr:Point <size_t >(1 , grids.width () - 2 );
640
+ std::map<e_side, vtr: :Point <size_t >> track_range;
641
+ track_range[TOP] = vtr:: Point <size_t >(0 , grids.height () - 2 );
642
+ track_range[RIGHT] = vtr:: Point <size_t >(0 , grids.width () - 2 );
643
+ track_range[BOTTOM] = vtr:: Point <size_t >(1 , grids.height () - 2 );
644
+ track_range[LEFT] = vtr:: Point <size_t >(1 , grids.width () - 2 );
645
645
if (perimeter_cb) {
646
- track_range[TOP] = vtr:Point <size_t >(0 , grids.height () - 1 );
647
- track_range[RIGHT] = vtr:Point <size_t >(0 , grids.width () - 1 );
648
- track_range[BOTTOM] = vtr:Point <size_t >(0 , grids.height ());
649
- track_range[LEFT] = vtr:Point <size_t >(0 , grids.width ());
646
+ track_range[TOP] = vtr:: Point <size_t >(0 , grids.height () - 1 );
647
+ track_range[RIGHT] = vtr:: Point <size_t >(0 , grids.width () - 1 );
648
+ track_range[BOTTOM] = vtr:: Point <size_t >(0 , grids.height ());
649
+ track_range[LEFT] = vtr:: Point <size_t >(0 , grids.width ());
650
650
}
651
651
652
652
/* Create an object to return */
@@ -684,7 +684,7 @@ RRGSB build_one_tileable_rr_gsb(const DeviceGrid& grids,
684
684
switch (side) {
685
685
case TOP: /* TOP = 0 */
686
686
/* For the border, we should take special care. The top column (H-1) does not have any top side routing channel. Any lower column may have (<= H-2) */
687
- if (track_range[side ].x () > gsb_coordinate.y () || gsb_coordinate.y () >= track_range[side ].y ()) {
687
+ if (track_range[side_manager. get_side () ].x () > gsb_coordinate.y () || gsb_coordinate.y () >= track_range[side_manager. get_side () ].y ()) {
688
688
rr_gsb.clear_one_side (side_manager.get_side ());
689
689
break ;
690
690
}
@@ -714,7 +714,7 @@ RRGSB build_one_tileable_rr_gsb(const DeviceGrid& grids,
714
714
break ;
715
715
case RIGHT: /* RIGHT = 1 */
716
716
/* For the border, we should take special care. The rightmost column (W-1) does not have any right side routing channel. If perimeter connection block is not enabled, even the last second rightmost column (W-2) does not have any right side routing channel */
717
- if (track_range[side ].x () > gsb_coordinate.x () || gsb_coordinate.x () >= track_range[side ].y ()) {
717
+ if (track_range[side_manager. get_side () ].x () > gsb_coordinate.x () || gsb_coordinate.x () >= track_range[side_manager. get_side () ].y ()) {
718
718
rr_gsb.clear_one_side (side_manager.get_side ());
719
719
break ;
720
720
}
@@ -744,7 +744,7 @@ RRGSB build_one_tileable_rr_gsb(const DeviceGrid& grids,
744
744
break ;
745
745
case BOTTOM: /* BOTTOM = 2*/
746
746
/* For the border, we should take special care */
747
- if (track_range[side ].x () > gsb_coordinate.y () || gsb_coordinate.y () >= track_range[side ].y ()) {
747
+ if (track_range[side_manager. get_side () ].x () > gsb_coordinate.y () || gsb_coordinate.y () >= track_range[side_manager. get_side () ].y ()) {
748
748
rr_gsb.clear_one_side (side_manager.get_side ());
749
749
break ;
750
750
}
@@ -774,7 +774,7 @@ RRGSB build_one_tileable_rr_gsb(const DeviceGrid& grids,
774
774
break ;
775
775
case LEFT: /* LEFT = 3 */
776
776
/* For the border, we should take special care */
777
- if (track_range[side ].x () > gsb_coordinate.x () || gsb_coordinate.x () >= track_range[side ].y ()) {
777
+ if (track_range[side_manager. get_side () ].x () > gsb_coordinate.x () || gsb_coordinate.x () >= track_range[side_manager. get_side () ].y ()) {
778
778
rr_gsb.clear_one_side (side_manager.get_side ());
779
779
break ;
780
780
}
0 commit comments