mirror of
https://github.com/YosysHQ/yosys
synced 2025-04-23 17:15:33 +00:00
extract_rdff: Add initvals parameter.
This is not used yet, but will be needed when read port reset/initial value support lands.
This commit is contained in:
parent
33513d923a
commit
afd5366fc2
4 changed files with 18 additions and 11 deletions
|
@ -34,10 +34,12 @@ struct MemoryMapWorker
|
|||
|
||||
RTLIL::Design *design;
|
||||
RTLIL::Module *module;
|
||||
SigMap sigmap;
|
||||
FfInitVals initvals;
|
||||
|
||||
std::map<std::pair<RTLIL::SigSpec, RTLIL::SigSpec>, RTLIL::SigBit> decoder_cache;
|
||||
|
||||
MemoryMapWorker(RTLIL::Design *design, RTLIL::Module *module) : design(design), module(module) {}
|
||||
MemoryMapWorker(RTLIL::Design *design, RTLIL::Module *module) : design(design), module(module), sigmap(module), initvals(&sigmap, module) {}
|
||||
|
||||
std::string map_case(std::string value) const
|
||||
{
|
||||
|
@ -228,7 +230,7 @@ struct MemoryMapWorker
|
|||
for (int i = 0; i < GetSize(mem.rd_ports); i++)
|
||||
{
|
||||
auto &port = mem.rd_ports[i];
|
||||
if (mem.extract_rdff(i))
|
||||
if (mem.extract_rdff(i, &initvals))
|
||||
count_dff++;
|
||||
RTLIL::SigSpec rd_addr = port.addr;
|
||||
rd_addr.extend_u0(abits, false);
|
||||
|
|
|
@ -51,15 +51,19 @@ struct MemoryNordffPass : public Pass {
|
|||
extra_args(args, argidx, design);
|
||||
|
||||
for (auto module : design->selected_modules())
|
||||
for (auto &mem : Mem::get_selected_memories(module))
|
||||
{
|
||||
bool changed = false;
|
||||
for (int i = 0; i < GetSize(mem.rd_ports); i++)
|
||||
if (mem.extract_rdff(i))
|
||||
changed = true;
|
||||
SigMap sigmap(module);
|
||||
FfInitVals initvals(&sigmap, module);
|
||||
for (auto &mem : Mem::get_selected_memories(module))
|
||||
{
|
||||
bool changed = false;
|
||||
for (int i = 0; i < GetSize(mem.rd_ports); i++)
|
||||
if (mem.extract_rdff(i, &initvals))
|
||||
changed = true;
|
||||
|
||||
if (changed)
|
||||
mem.emit();
|
||||
if (changed)
|
||||
mem.emit();
|
||||
}
|
||||
}
|
||||
}
|
||||
} MemoryNordffPass;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue