Import uniquify fix

This commit is contained in:
Akash Levy 2026-02-19 00:24:32 -08:00
parent 3e9a5c68b1
commit bf4ce9d6f7
2 changed files with 10 additions and 2 deletions

View File

@ -257,12 +257,16 @@ bool is_blackbox(Netlist *nl)
RTLIL::IdString VerificImporter::new_verific_id(Verific::DesignObj *obj)
{
return module->uniquify(RTLIL::escape_id(obj->Name()));
RTLIL::IdString base = RTLIL::escape_id(obj->Name());
int &idx = uniquify_cache[base];
return module->uniquify(base, idx);
}
RTLIL::IdString VerificImporter::new_verific_id_suffix(RTLIL::IdString id, const char *suffix)
{
return module->uniquify(stringf("%s_%s", id, suffix));
RTLIL::IdString base = stringf("%s_%s", id, suffix);
int &idx = uniquify_cache[base];
return module->uniquify(base, idx);
}
static const RTLIL::Const extract_vhdl_boolean(std::string &val)
@ -1549,6 +1553,8 @@ void VerificImporter::import_netlist(RTLIL::Design *design, Netlist *nl, std::ma
module->name = module_name;
design->add(module);
uniquify_cache.clear();
if (is_blackbox(nl)) {
log("Importing blackbox module %s.\n", RTLIL::id2cstr(module->name));
log_flush();

View File

@ -80,6 +80,8 @@ struct VerificImporter
bool mode_gates, mode_keep, mode_nosva, mode_sva_continue, mode_names, mode_verific;
bool mode_autocover, mode_fullinit;
dict<RTLIL::IdString, int> uniquify_cache;
int num_sva_continue = 0;
VerificImporter(bool mode_gates, bool mode_keep, bool mode_nosva, bool mode_sva_continue, bool mode_names, bool mode_verific, bool mode_autocover, bool mode_fullinit);