mirror of
https://github.com/YosysHQ/yosys
synced 2025-08-07 03:31:24 +00:00
Proc: Use selections consistently
All `proc_*` passes now use the same module and process for loops, using `design->all_selected_modules()` and `mod->selected_processes()` respectively. This simplifies the code, and makes the couple `proc_*` passes that were ignoring boxed modules stop doing that (which seems to have been erroneous rather than intentional).
This commit is contained in:
parent
545753cc5a
commit
ab0e3cc05f
10 changed files with 69 additions and 98 deletions
|
@ -99,9 +99,9 @@ struct ProcMemWrPass : public Pass {
|
|||
|
||||
extra_args(args, 1, design);
|
||||
|
||||
for (auto module : design->selected_modules()) {
|
||||
for (auto mod : design->all_selected_modules()) {
|
||||
dict<IdString, int> next_port_id;
|
||||
for (auto cell : module->cells()) {
|
||||
for (auto cell : mod->cells()) {
|
||||
if (cell->type.in(ID($memwr), ID($memwr_v2))) {
|
||||
bool is_compat = cell->type == ID($memwr);
|
||||
IdString memid = cell->parameters.at(ID::MEMID).decode_string();
|
||||
|
@ -110,9 +110,8 @@ struct ProcMemWrPass : public Pass {
|
|||
next_port_id[memid] = port_id + 1;
|
||||
}
|
||||
}
|
||||
for (auto &proc_it : module->processes)
|
||||
if (design->selected(module, proc_it.second))
|
||||
proc_memwr(module, proc_it.second, next_port_id);
|
||||
for (auto proc : mod->selected_processes())
|
||||
proc_memwr(mod, proc, next_port_id);
|
||||
}
|
||||
}
|
||||
} ProcMemWrPass;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue