diff options
author | Marcelina KoĆcielnicka <mwk@0x04.net> | 2021-05-23 18:29:44 +0200 |
---|---|---|
committer | Marcelina KoĆcielnicka <mwk@0x04.net> | 2021-05-23 22:05:26 +0200 |
commit | afd5366fc2841ef21acc9f994ca2052b9dfa21e8 (patch) | |
tree | f539c0492862f16a8f07d9910a32386d20479e40 /passes/memory/memory_nordff.cc | |
parent | 33513d923a398a955c1c7e5f534e3099f3940154 (diff) | |
download | yosys-afd5366fc2841ef21acc9f994ca2052b9dfa21e8.tar.gz yosys-afd5366fc2841ef21acc9f994ca2052b9dfa21e8.tar.bz2 yosys-afd5366fc2841ef21acc9f994ca2052b9dfa21e8.zip |
extract_rdff: Add initvals parameter.
This is not used yet, but will be needed when read port reset/initial
value support lands.
Diffstat (limited to 'passes/memory/memory_nordff.cc')
-rw-r--r-- | passes/memory/memory_nordff.cc | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/passes/memory/memory_nordff.cc b/passes/memory/memory_nordff.cc index bb853c483..665efceb2 100644 --- a/passes/memory/memory_nordff.cc +++ b/passes/memory/memory_nordff.cc @@ -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; |