diff options
Diffstat (limited to 'frontends')
-rw-r--r-- | frontends/verific/verific.cc | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/frontends/verific/verific.cc b/frontends/verific/verific.cc index 1e61b3a31..40f96e82c 100644 --- a/frontends/verific/verific.cc +++ b/frontends/verific/verific.cc @@ -2289,6 +2289,7 @@ std::string verific_import(Design *design, const std::map<std::string,std::strin #ifdef YOSYSHQ_VERIFIC_EXTENSIONS VerificExtensions::ElaborateAndRewrite("work", &verific_params); + verific_error_msg.clear(); #endif if (top.empty()) { @@ -2539,6 +2540,8 @@ struct VerificPass : public Pass { log("\n"); log("Set message severity. <msg_id> is the string in square brackets when a message\n"); log("is printed, such as VERI-1209.\n"); + log("Also errors, warnings, infos and comments could be used to set new severity for\n"); + log("all messages of certain type.\n"); log("\n"); log("\n"); log(" verific -import [options] <top>..\n"); @@ -2782,9 +2785,20 @@ struct VerificPass : public Pass { else log_abort(); - for (argidx++; argidx < GetSize(args); argidx++) - Message::SetMessageType(args[argidx].c_str(), new_type); - + for (argidx++; argidx < GetSize(args); argidx++) { + if (Strings::compare(args[argidx].c_str(), "errors")) { + Message::SetMessageType("VERI-1063", new_type); + Message::SetAllMessageType(VERIFIC_ERROR, new_type); + } else if (Strings::compare(args[argidx].c_str(), "warnings")) { + Message::SetAllMessageType(VERIFIC_WARNING, new_type); + } else if (Strings::compare(args[argidx].c_str(), "infos")) { + Message::SetAllMessageType(VERIFIC_INFO, new_type); + } else if (Strings::compare(args[argidx].c_str(), "comments")) { + Message::SetAllMessageType(VERIFIC_COMMENT, new_type); + } else { + Message::SetMessageType(args[argidx].c_str(), new_type); + } + } goto check_error; } @@ -3217,6 +3231,7 @@ struct VerificPass : public Pass { #ifdef YOSYSHQ_VERIFIC_EXTENSIONS VerificExtensions::ElaborateAndRewrite(work, ¶meters); + verific_error_msg.clear(); #endif if (!ppfile.empty()) veri_file::PrettyPrint(ppfile.c_str(), nullptr, work.c_str()); |