bug fixed for tileable rr_graph builder for more 4x4 fabrics
This commit is contained in:
parent
63c4669dbb
commit
9a518e8bb6
|
@ -30,28 +30,27 @@ void compress_routing_hierarchy(OpenfpgaContext& openfpga_ctx,
|
|||
|
||||
/* Report the stats */
|
||||
VTR_LOGV(verbose_output,
|
||||
"Detected %lu unique X-direction connection blocks from a total of %d (compression rate=%d%)\n",
|
||||
"Detected %lu unique X-direction connection blocks from a total of %d (compression rate=%.2f%)\n",
|
||||
openfpga_ctx.device_rr_gsb().get_num_cb_unique_module(CHANX),
|
||||
find_device_rr_gsb_num_cb_modules(openfpga_ctx.device_rr_gsb(), CHANX),
|
||||
100 * (openfpga_ctx.device_rr_gsb().get_num_cb_unique_module(CHANX) / find_device_rr_gsb_num_cb_modules(openfpga_ctx.device_rr_gsb(), CHANX) - 1));
|
||||
100. * (find_device_rr_gsb_num_cb_modules(openfpga_ctx.device_rr_gsb(), CHANX) / openfpga_ctx.device_rr_gsb().get_num_cb_unique_module(CHANX) - 1.));
|
||||
|
||||
VTR_LOGV(verbose_output,
|
||||
"Detected %lu unique Y-direction connection blocks from a total of %d (compression rate=%d%)\n",
|
||||
"Detected %lu unique Y-direction connection blocks from a total of %d (compression rate=%.2f%)\n",
|
||||
openfpga_ctx.device_rr_gsb().get_num_cb_unique_module(CHANY),
|
||||
find_device_rr_gsb_num_cb_modules(openfpga_ctx.device_rr_gsb(), CHANY),
|
||||
100 * (openfpga_ctx.device_rr_gsb().get_num_cb_unique_module(CHANY) / find_device_rr_gsb_num_cb_modules(openfpga_ctx.device_rr_gsb(), CHANY) - 1));
|
||||
100. * (find_device_rr_gsb_num_cb_modules(openfpga_ctx.device_rr_gsb(), CHANY) / openfpga_ctx.device_rr_gsb().get_num_cb_unique_module(CHANY) - 1.));
|
||||
|
||||
VTR_LOGV(verbose_output,
|
||||
"Detected %lu unique switch blocks from a total of %d (compression rate=%d%)\n",
|
||||
"Detected %lu unique switch blocks from a total of %d (compression rate=%.2f%)\n",
|
||||
openfpga_ctx.device_rr_gsb().get_num_sb_unique_module(),
|
||||
find_device_rr_gsb_num_sb_modules(openfpga_ctx.device_rr_gsb()),
|
||||
100 * (openfpga_ctx.device_rr_gsb().get_num_sb_unique_module() / find_device_rr_gsb_num_sb_modules(openfpga_ctx.device_rr_gsb()) - 1));
|
||||
100. * (find_device_rr_gsb_num_sb_modules(openfpga_ctx.device_rr_gsb()) / openfpga_ctx.device_rr_gsb().get_num_sb_unique_module() - 1));
|
||||
|
||||
VTR_LOGV(verbose_output,
|
||||
"Detected %lu unique general switch blocks from a total of %d (compression rate=%d%)\n",
|
||||
openfpga_ctx.device_rr_gsb().get_num_gsb_unique_module(),
|
||||
find_device_rr_gsb_num_gsb_modules(openfpga_ctx.device_rr_gsb()),
|
||||
100 * (openfpga_ctx.device_rr_gsb().get_num_gsb_unique_module() / find_device_rr_gsb_num_gsb_modules(openfpga_ctx.device_rr_gsb()) - 1));
|
||||
VTR_LOG("Detected %lu unique general switch blocks from a total of %d (compression rate=%.2f%)\n",
|
||||
openfpga_ctx.device_rr_gsb().get_num_gsb_unique_module(),
|
||||
find_device_rr_gsb_num_gsb_modules(openfpga_ctx.device_rr_gsb()),
|
||||
100. * (find_device_rr_gsb_num_gsb_modules(openfpga_ctx.device_rr_gsb()) / openfpga_ctx.device_rr_gsb().get_num_gsb_unique_module() - 1.));
|
||||
}
|
||||
|
||||
/********************************************************************
|
||||
|
|
|
@ -22,7 +22,7 @@ lut_truth_table_fixup #--verbose
|
|||
# Build the module graph
|
||||
# - Enabled compression on routing architecture modules
|
||||
# - Enable pin duplication on grid modules
|
||||
build_fabric --compress_routing --duplicate_grid_pin #--verbose
|
||||
build_fabric --compress_routing --duplicate_grid_pin --verbose
|
||||
|
||||
# Repack the netlist to physical pbs
|
||||
# This must be done before bitstream generator and testbench generation
|
||||
|
|
|
@ -161,7 +161,7 @@
|
|||
<!-- Physical descriptions begin -->
|
||||
<layout tileable="true">
|
||||
<!--auto_layout aspect_ratio="1.0"-->
|
||||
<fixed_layout name="2x2" width="4" height="4">
|
||||
<fixed_layout name="2x2" width="32" height="32">
|
||||
<!--Perimeter of 'io' blocks with 'EMPTY' blocks at corners-->
|
||||
<perimeter type="io" priority="100"/>
|
||||
<corners type="EMPTY" priority="101"/>
|
||||
|
|
|
@ -739,6 +739,12 @@ void load_one_chan_rr_nodes_basic_info(RRGraph& rr_graph,
|
|||
VTR_ASSERT(chan_type == rr_graph.node_type(rr_node_id));
|
||||
VTR_ASSERT(chan_details.get_track_direction(itrack) == rr_graph.node_direction(rr_node_id));
|
||||
|
||||
/* Deposit xhigh and yhigh using the current chan_coordinate
|
||||
* We will update when this track ends
|
||||
*/
|
||||
rr_graph.set_node_xhigh(rr_node_id, chan_coordinate.x());
|
||||
rr_graph.set_node_yhigh(rr_node_id, chan_coordinate.y());
|
||||
|
||||
/* Update track_ids */
|
||||
rr_node_track_ids[rr_node_id].push_back(itrack);
|
||||
rr_graph.add_node_track_num(rr_node_id, chan_coordinate, itrack);
|
||||
|
|
Loading…
Reference in New Issue