diff options
author | Marcelina KoĆcielnicka <mwk@0x04.net> | 2021-05-21 02:26:52 +0200 |
---|---|---|
committer | Marcelina KoĆcielnicka <mwk@0x04.net> | 2021-07-28 23:18:38 +0200 |
commit | 19720b970dff017c47805e37745b9fcf29843c45 (patch) | |
tree | b5a56d888b9e8c7530fc456a8748c32bb3feaed3 /passes | |
parent | 37d76deef1229048e145d77b5c75bcc2e0e1cf44 (diff) | |
download | yosys-19720b970dff017c47805e37745b9fcf29843c45.tar.gz yosys-19720b970dff017c47805e37745b9fcf29843c45.tar.bz2 yosys-19720b970dff017c47805e37745b9fcf29843c45.zip |
memory: Introduce $meminit_v2 cell, with EN input.
Diffstat (limited to 'passes')
-rw-r--r-- | passes/opt/opt_clean.cc | 2 | ||||
-rw-r--r-- | passes/opt/wreduce.cc | 2 | ||||
-rw-r--r-- | passes/sat/sim.cc | 1 |
3 files changed, 3 insertions, 2 deletions
diff --git a/passes/opt/opt_clean.cc b/passes/opt/opt_clean.cc index 699fd4f80..c3a0928ef 100644 --- a/passes/opt/opt_clean.cc +++ b/passes/opt/opt_clean.cc @@ -117,7 +117,7 @@ void rmunused_module_cells(Module *module, bool verbose) } for (Cell *cell : module->cells()) { - if (cell->type.in(ID($memwr), ID($meminit))) { + if (cell->type.in(ID($memwr), ID($meminit), ID($meminit_v2))) { IdString mem_id = cell->getParam(ID::MEMID).decode_string(); mem2cells[mem_id].insert(cell); } diff --git a/passes/opt/wreduce.cc b/passes/opt/wreduce.cc index 0cdabcc1a..f6bf8b51a 100644 --- a/passes/opt/wreduce.cc +++ b/passes/opt/wreduce.cc @@ -558,7 +558,7 @@ struct WreducePass : public Pass { } } - if (!opt_memx && c->type.in(ID($memrd), ID($memwr), ID($meminit))) { + if (!opt_memx && c->type.in(ID($memrd), ID($memwr), ID($meminit), ID($meminit_v2))) { IdString memid = c->getParam(ID::MEMID).decode_string(); RTLIL::Memory *mem = module->memories.at(memid); if (mem->start_offset >= 0) { diff --git a/passes/sat/sim.cc b/passes/sat/sim.cc index 630e1aaa1..4e158da62 100644 --- a/passes/sat/sim.cc +++ b/passes/sat/sim.cc @@ -559,6 +559,7 @@ struct SimInstance MemInit minit; minit.addr = mem.mem->start_offset; minit.data = mem.data; + minit.en = Const(State::S1, mem.mem->width); mem.mem->inits.push_back(minit); mem.mem->emit(); } |