mirror of https://github.com/YosysHQ/yosys.git
read_liberty: Start an `-ignore_busses` option
This commit is contained in:
parent
0e96e477a2
commit
28aa7b00ee
|
@ -462,6 +462,9 @@ struct LibertyFrontend : public Frontend {
|
||||||
log(" -ignore_miss_data_latch\n");
|
log(" -ignore_miss_data_latch\n");
|
||||||
log(" ignore latches with missing data and/or enable pins\n");
|
log(" ignore latches with missing data and/or enable pins\n");
|
||||||
log("\n");
|
log("\n");
|
||||||
|
log(" -ignore_busses\n");
|
||||||
|
log(" ignore cells with bus interfaces (wide ports)\n");
|
||||||
|
log("\n");
|
||||||
log(" -setattr <attribute_name>\n");
|
log(" -setattr <attribute_name>\n");
|
||||||
log(" set the specified attribute (to the value 1) on all loaded modules\n");
|
log(" set the specified attribute (to the value 1) on all loaded modules\n");
|
||||||
log("\n");
|
log("\n");
|
||||||
|
@ -478,6 +481,7 @@ struct LibertyFrontend : public Frontend {
|
||||||
bool flag_ignore_miss_func = false;
|
bool flag_ignore_miss_func = false;
|
||||||
bool flag_ignore_miss_dir = false;
|
bool flag_ignore_miss_dir = false;
|
||||||
bool flag_ignore_miss_data_latch = false;
|
bool flag_ignore_miss_data_latch = false;
|
||||||
|
bool flag_ignore_busses = false;
|
||||||
bool flag_unit_delay = false;
|
bool flag_unit_delay = false;
|
||||||
std::vector<std::string> attributes;
|
std::vector<std::string> attributes;
|
||||||
|
|
||||||
|
@ -514,6 +518,10 @@ struct LibertyFrontend : public Frontend {
|
||||||
flag_ignore_miss_data_latch = true;
|
flag_ignore_miss_data_latch = true;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if (arg == "-ignore_busses") {
|
||||||
|
flag_ignore_busses = true;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if (arg == "-setattr" && argidx+1 < args.size()) {
|
if (arg == "-setattr" && argidx+1 < args.size()) {
|
||||||
attributes.push_back(RTLIL::escape_id(args[++argidx]));
|
attributes.push_back(RTLIL::escape_id(args[++argidx]));
|
||||||
continue;
|
continue;
|
||||||
|
@ -585,6 +593,12 @@ struct LibertyFrontend : public Frontend {
|
||||||
|
|
||||||
if (node->id == "bus" && node->args.size() == 1)
|
if (node->id == "bus" && node->args.size() == 1)
|
||||||
{
|
{
|
||||||
|
if (flag_ignore_busses) {
|
||||||
|
log("Ignoring cell %s with a bus interface %s.\n", log_id(module->name), node->args.at(0).c_str());
|
||||||
|
delete module;
|
||||||
|
goto skip_cell;
|
||||||
|
}
|
||||||
|
|
||||||
if (!flag_lib)
|
if (!flag_lib)
|
||||||
log_error("Error in cell %s: bus interfaces are only supported in -lib mode.\n", log_id(cell_name));
|
log_error("Error in cell %s: bus interfaces are only supported in -lib mode.\n", log_id(cell_name));
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue