aboutsummaryrefslogtreecommitdiffstats
path: root/frontends
diff options
context:
space:
mode:
Diffstat (limited to 'frontends')
-rw-r--r--frontends/verific/verific.cc21
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, &parameters);
+ verific_error_msg.clear();
#endif
if (!ppfile.empty())
veri_file::PrettyPrint(ppfile.c_str(), nullptr, work.c_str());