3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-04-30 04:15:52 +00:00

Ignore files properly

This commit is contained in:
Akash Levy 2024-06-05 07:53:21 -07:00
parent 4d44099d09
commit c59a997255

View file

@ -3477,17 +3477,12 @@ struct VerificPass : public Pass {
if (args[argidx] == "-f" || args[argidx] == "-F" || args[argidx] == "-FF") { if (args[argidx] == "-f" || args[argidx] == "-F" || args[argidx] == "-FF") {
veri_file::f_file_flags flags = (args[argidx] == "-f") ? veri_file::F_FILE_NONE : ((args[argidx] == "-F") ? veri_file::F_FILE_CAPITAL : veri_file::F_FILE_CAPITAL_NESTED); veri_file::f_file_flags flags = (args[argidx] == "-f") ? veri_file::F_FILE_NONE : ((args[argidx] == "-F") ? veri_file::F_FILE_CAPITAL : veri_file::F_FILE_CAPITAL_NESTED);
Array *file_names = veri_file::ProcessFFile(args[++argidx].c_str(), flags, verilog_mode); Array *file_names = veri_file::ProcessFFile(args[++argidx].c_str(), flags, verilog_mode);
argidx++; if (args[++argidx] == "-ignore_translate_off") {
if (args[argidx++] == "-ignore_translate_off") {
// Ignore translate_off statements // Ignore translate_off statements
log("AUTO-DISCOVER: ignoring translate_off directives\n"); log("AUTO-DISCOVER: ignoring translate_off directives\n");
hdl_file_sort::SetIgnoreTranslateOff(1); hdl_file_sort::SetIgnoreTranslateOff(1);
veri_file::SetIgnoreTranslateOff(1); veri_file::SetIgnoreTranslateOff(1);
} argidx++;
while (args[argidx++] == "-i") {
const char *ignore_file = args[argidx++].c_str();
log("AUTO-DISCOVER: ignoring file %s\n", ignore_file);
hdl_file_sort::UnRegisterFile(ignore_file);
} }
veri_file::AddVFile("preqorsor/data/blackboxes.v"); veri_file::AddVFile("preqorsor/data/blackboxes.v");
FOREACH_ARRAY_ITEM(veri_file::IncludeDirs(), i, dir_name) { FOREACH_ARRAY_ITEM(veri_file::IncludeDirs(), i, dir_name) {
@ -3524,7 +3519,17 @@ struct VerificPass : public Pass {
// hdl_file_sort::AddLOption(key); // hdl_file_sort::AddLOption(key);
// log("AUTO-DISCOVER: added -L option %s\n", key); // log("AUTO-DISCOVER: added -L option %s\n", key);
// } // }
int orig_argidx = argidx;
FOREACH_ARRAY_ITEM(file_names, i, file_name) { FOREACH_ARRAY_ITEM(file_names, i, file_name) {
bool skip;
for (argidx = orig_argidx; argidx < GetSize(args) && args[argidx] == "-i"; argidx++) {
string ignore_file = args[++argidx];
if (string(file_name) == ignore_file) {
log("AUTO-DISCOVER: ignoring file %s\n", ignore_file.c_str());
skip = true;
}
}
if (skip) continue;
if (!hdl_file_sort::RegisterFile(file_name)) { if (!hdl_file_sort::RegisterFile(file_name)) {
verific_error_msg.clear(); verific_error_msg.clear();
log_cmd_error("Could not register file %s.\n", file_name); log_cmd_error("Could not register file %s.\n", file_name);