3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-04-18 14:49:02 +00:00

Bit blast RAM if using mem2reg or ram_style logic/register

This commit is contained in:
Miodrag Milanovic 2025-04-11 09:58:51 +02:00
parent 33c57937cd
commit 15b178bf37

View file

@ -1446,6 +1446,30 @@ void VerificImporter::import_netlist(RTLIL::Design *design, Netlist *nl, std::ma
module_name = "\\" + sha1_if_contain_spaces(module_name);
}
{
Array ram_nets ;
MapIter mem_mi;
Net *mem_net;
FOREACH_NET_OF_NETLIST(nl, mem_mi, mem_net)
{
if (!mem_net->IsRamNet()) continue ;
if (mem_net->GetAtt("mem2reg")) {
ram_nets.Insert(mem_net) ;
} else if (mem_net->GetAtt("ram_style")) {
std::string style = verific_unescape(mem_net->GetAttValue("ram_style"));
if (style == "logic" || style == "registers")
ram_nets.Insert(mem_net) ;
}
}
unsigned i ;
FOREACH_ARRAY_ITEM(&ram_nets, i, mem_net) {
log("Bit blasting RAM for identifier '%s'\n", mem_net->Name());
mem_net->BlastNet();
}
nl->RemoveDanglingLogic(0);
}
netlist = nl;
if (design->has(module_name)) {