mirror of
https://github.com/YosysHQ/yosys
synced 2025-08-03 09:50:24 +00:00
opt_mem, memory_*: Refuse to operate in presence of processes
Processes can contain `MemWriteAction` entries which are invisible to most passes operating on memories but which will be lowered to write ports later on by `proc_memwr`. For that reason we can get corrupted RTLIL if we sequence the memory passes before `proc`. Address that by making the affected memory passes ignore modules with processes.
This commit is contained in:
parent
975517b022
commit
030d639201
6 changed files with 20 additions and 1 deletions
|
@ -558,8 +558,12 @@ struct MemorySharePass : public Pass {
|
|||
extra_args(args, argidx, design);
|
||||
MemoryShareWorker msw(design, flag_widen, flag_sat);
|
||||
|
||||
for (auto module : design->selected_modules())
|
||||
for (auto module : design->selected_modules()) {
|
||||
if (module->has_processes_warn())
|
||||
continue;
|
||||
|
||||
msw(module);
|
||||
}
|
||||
}
|
||||
} MemorySharePass;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue