Skip to content

Commit 30dae5a

Browse files
Update tileable_chan_details_builder.cpp
1 parent e6b7e7d commit 30dae5a

File tree

1 file changed

+35
-2
lines changed

1 file changed

+35
-2
lines changed

vpr/src/tileable_rr_graph/tileable_chan_details_builder.cpp

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -221,8 +221,41 @@ ChanNodeDetails build_unidir_chan_node_details(const size_t& chan_width,
221221
num_tracks_bend.push_back(num_tracks[iseg] * seg_len[i] / segment_inf[iseg].length);
222222

223223
VTR_ASSERT(num_tracks_bend[0] + num_tracks_bend[1] == num_tracks[iseg]);
224+
225+
for (size_t itrack = 0; itrack < num_tracks[iseg]; ++itrack) {
226+
bool seg_start = false;
227+
bool seg_end = false;
228+
size_t seg_bend_start = 0;
229+
size_t seg_bend_end = 0;
230+
231+
if (0 == itrack % segment_inf[iseg].length) {
232+
seg_start = true;
233+
}
234+
235+
if (seg_len[0] == int(itrack) % segment_inf[iseg].length) {
236+
seg_start = true;
237+
seg_bend_start = bend_num;
238+
}
239+
240+
if (seg_len[0] - 1 == int(itrack) % segment_inf[iseg].length) {
241+
seg_end = true;
242+
seg_bend_end = bend_num;
243+
}
244+
245+
if ((segment_inf[iseg].length - 1 == int(itrack) % segment_inf[iseg].length)
246+
|| (itrack == num_tracks[iseg] - 1)) {
247+
seg_end = true;
248+
}
249+
250+
int seg_index = segment_inf[iseg].seg_index;
251+
252+
chan_node_details.add_track(cur_track, Direction::INC, seg_index, seg_len[0], seg_start, seg_end, seg_bend_start, seg_bend_end);
253+
cur_track++;
254+
chan_node_details.add_track(cur_track, Direction::DEC, seg_index, seg_len[0], seg_start, seg_end, seg_bend_start, seg_bend_end);
255+
cur_track++;
256+
}
224257

225-
for (size_t itrack = 0; itrack < num_tracks_bend[0]; ++itrack) {
258+
/*for (size_t itrack = 0; itrack < num_tracks_bend[0]; ++itrack) {
226259
227260
bool seg_start = false;
228261
bool seg_end = false;
@@ -270,7 +303,7 @@ ChanNodeDetails build_unidir_chan_node_details(const size_t& chan_width,
270303
chan_node_details.add_track(cur_track, Direction::DEC, seg_index, seg_len[1], seg_start, seg_end, seg_bend_start, seg_bend_end);
271304
cur_track++;
272305
273-
}
306+
}*/
274307
}
275308
}
276309
/* Check if all the tracks have been satisified */

0 commit comments

Comments
 (0)