This commit is contained in:
Lin 2024-09-10 14:34:42 +08:00
parent f1547bae8a
commit ae6a8cb604
3 changed files with 12 additions and 9 deletions

View File

@ -362,7 +362,8 @@ void DeviceRRGSB::build_unique_module(const RRGraphView& rr_graph) {
build_cb_unique_module(rr_graph, CHANX); build_cb_unique_module(rr_graph, CHANX);
build_cb_unique_module(rr_graph, CHANY); build_cb_unique_module(rr_graph, CHANY);
build_gsb_unique_module(); /*is_compressed_ flip inside build_gsb_unique_module*/ build_gsb_unique_module(); /*is_compressed_ flip inside
build_gsb_unique_module*/
} }
void DeviceRRGSB::add_gsb_unique_module(const vtr::Point<size_t>& coordinate) { void DeviceRRGSB::add_gsb_unique_module(const vtr::Point<size_t>& coordinate) {

View File

@ -76,8 +76,8 @@ class DeviceRRGSB {
void reserve( void reserve(
const vtr::Point<size_t>& coordinate); /* Pre-allocate the rr_switch_block const vtr::Point<size_t>& coordinate); /* Pre-allocate the rr_switch_block
array that the device requires */ array that the device requires */
void reserve_unique_modules(); /* Pre-allocate the rr_sb_unique_module_id matrix that the void reserve_unique_modules(); /* Pre-allocate the rr_sb_unique_module_id
device requires */ matrix that the device requires */
void resize_upon_need( void resize_upon_need(
const vtr::Point<size_t>& const vtr::Point<size_t>&
coordinate); /* Resize the rr_switch_block array if needed */ coordinate); /* Resize the rr_switch_block array if needed */

View File

@ -125,12 +125,6 @@ int build_fabric_template(T& openfpga_ctx, const Command& cmd,
cmd.option_name(opt_duplicate_grid_pin).c_str()); cmd.option_name(opt_duplicate_grid_pin).c_str());
return CMD_EXEC_FATAL_ERROR; return CMD_EXEC_FATAL_ERROR;
} }
if (!openfpga_ctx.device_rr_gsb().is_compressed()) {
VTR_LOG_ERROR(
"Option '%s' requires unique blocks to be valid due to a conflict!\n",
cmd.option_name(opt_group_tile).c_str());
return CMD_EXEC_FATAL_ERROR;
}
} }
/* Conflicts: duplicate_grid_pin does not support any port merge */ /* Conflicts: duplicate_grid_pin does not support any port merge */
if (cmd_context.option_enable(cmd, opt_duplicate_grid_pin)) { if (cmd_context.option_enable(cmd, opt_duplicate_grid_pin)) {
@ -153,6 +147,14 @@ int build_fabric_template(T& openfpga_ctx, const Command& cmd,
openfpga_ctx.mutable_flow_manager().set_compress_routing(true); openfpga_ctx.mutable_flow_manager().set_compress_routing(true);
} }
if (cmd_context.option_enable(cmd, opt_group_tile)) {
if (!openfpga_ctx.device_rr_gsb().is_compressed()) {
VTR_LOG_ERROR(
"Option '%s' requires unique blocks to be valid due to a conflict!\n",
cmd.option_name(opt_group_tile).c_str());
return CMD_EXEC_FATAL_ERROR;
}
}
VTR_LOG("\n"); VTR_LOG("\n");
/* Record the execution status in curr_status for each command /* Record the execution status in curr_status for each command