added tileable routing chanW adaption to fixed W router
This commit is contained in:
parent
45b00e0881
commit
4f3cb0bdf3
|
@ -1474,7 +1474,7 @@ sub run_vpr_route($ $ $ $ $ $ $ $ $)
|
|||
|
||||
my ($chan_width_opt) = ("");
|
||||
if (($fix_chan_width > 0)||($fix_chan_width == 0)) {
|
||||
$chan_width_opt = "-route_chan_width $fix_chan_width";
|
||||
$chan_width_opt = "--route_chan_width $fix_chan_width";
|
||||
}
|
||||
if ("on" eq $opt_ptr->{vpr_use_tileable_route_chan_width}) {
|
||||
$chan_width_opt = $chan_width_opt." --use_tileable_route_chan_width";
|
||||
|
|
|
@ -153,6 +153,21 @@ void place_and_route(enum e_operation operation,
|
|||
}
|
||||
/* Other constraints can be left to rr_graph to check since this is one pass routing */
|
||||
|
||||
/* Xifan Tang: W estimation for tileable routing architecture */
|
||||
/* Build the segment inf vector */
|
||||
std::vector<t_segment_inf> segment_vec;
|
||||
for (int iseg = 0; iseg < det_routing_arch.num_segment; ++iseg) {
|
||||
segment_vec.push_back(segment_inf[iseg]);
|
||||
}
|
||||
|
||||
if (TRUE == router_opts.use_tileable_route_chan_width) {
|
||||
int adapted_W = adapt_to_tileable_route_chan_width(width_fac, segment_vec);
|
||||
vpr_printf(TIO_MESSAGE_INFO,
|
||||
"Adapt routing channel width (%d) to be tileable: %d\n",
|
||||
width_fac, adapted_W);
|
||||
width_fac = adapted_W;
|
||||
}
|
||||
|
||||
/* Allocate the major routing structures. */
|
||||
|
||||
clb_opins_used_locally = alloc_route_structs();
|
||||
|
|
Loading…
Reference in New Issue