3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2026-07-25 08:32:34 +00:00

Merge from upstream

This commit is contained in:
Akash Levy 2025-07-30 22:50:14 -07:00
commit cc733fd11b
63 changed files with 1139 additions and 132 deletions

View file

@ -136,7 +136,7 @@ void msg_func(msg_type_t msg_type, const char *message_id, linefile_type linefil
msg_type == VERIFIC_IGNORE ? "IGNORE" :
msg_type == VERIFIC_INFO ? "INFO" :
msg_type == VERIFIC_COMMENT ? "COMMENT" :
msg_type == VERIFIC_PROGRAM_ERROR ? "PROGRAM_ERROR" : "UNKNOWN", message_id);
msg_type == VERIFIC_PROGRAM_ERROR ? "PROGRAM_ERROR" : "UNKNOWN", message_id ? message_id : "");
string message = linefile ? stringf("%s:%d: ", LineFile::GetFileName(linefile), LineFile::GetLineNo(linefile)) : "";
message += vstringf(msg, args);
@ -3052,6 +3052,9 @@ std::set<std::string> import_tops(const char* work, std::map<std::string,Netlist
return top_mod_names;
}
static bool set_verific_global_flags = true;
static bool already_imported = false;
void verific_cleanup()
{
#ifdef YOSYSHQ_VERIFIC_EXTENSIONS
@ -3075,6 +3078,7 @@ void verific_cleanup()
Libset::Reset();
Message::Reset();
RuntimeFlags::DeleteAllFlags();
set_verific_global_flags = true;
LineFile::DeleteAllLineFiles();
#ifdef VERIFIC_SYSTEMVERILOG_SUPPORT
verific_incdirs.clear();
@ -3538,7 +3542,6 @@ struct VerificPass : public Pass {
void execute(std::vector<std::string> args, RTLIL::Design *design) override
{
static bool set_verific_global_flags = true;
if (check_noverific_env())
log_cmd_error("This version of Yosys is built without Verific support.\n"
@ -4353,6 +4356,9 @@ struct VerificPass : public Pass {
if ((unsigned long)verific_sva_fsm_limit >= sizeof(1ull)*8)
log_cmd_error("-L %d: limit too large; maximum allowed value is %zu.\n", verific_sva_fsm_limit, sizeof(1ull)*8-1);
if (already_imported)
log_warning("Note that all Verific flags were reset to defaults after last -import.\n");
std::set<std::string> top_mod_names;
if (mode_all)
@ -4430,6 +4436,7 @@ struct VerificPass : public Pass {
}
verific_cleanup();
already_imported = true;
goto check_error;
}