aboutsummaryrefslogtreecommitdiffstats
path: root/backends/btor/btor.cc
diff options
context:
space:
mode:
authorMarcelina Koƛcielnicka <mwk@0x04.net>2021-05-27 23:43:25 +0200
committerMarcelina Koƛcielnicka <mwk@0x04.net>2021-05-28 00:40:56 +0200
commitcbf6b719fe85ce8544f9bb0796711f3f45638862 (patch)
treee5123705ba397f310a10c133d02fd4360c42800d /backends/btor/btor.cc
parent055ba748bcf8c77bff15bda0de49c0b4b3722bba (diff)
downloadyosys-cbf6b719fe85ce8544f9bb0796711f3f45638862.tar.gz
yosys-cbf6b719fe85ce8544f9bb0796711f3f45638862.tar.bz2
yosys-cbf6b719fe85ce8544f9bb0796711f3f45638862.zip
Make a few passes auto-call Mem::narrow instead of rejecting wide ports.
This essentially adds wide port support for free in passes that don't have a usefully better way of handling wide ports than just breaking them up to narrow ports, avoiding "please run memory_narrow" annoyance.
Diffstat (limited to 'backends/btor/btor.cc')
-rw-r--r--backends/btor/btor.cc12
1 files changed, 3 insertions, 9 deletions
diff --git a/backends/btor/btor.cc b/backends/btor/btor.cc
index 999836882..a7e32bc5c 100644
--- a/backends/btor/btor.cc
+++ b/backends/btor/btor.cc
@@ -732,14 +732,6 @@ struct BtorWorker
if (port.clk_enable)
log_error("Memory %s.%s has sync read ports. Please use memory_nordff to convert them first.\n",
log_id(module), log_id(mem->memid));
- if (port.wide_log2)
- log_error("Memory %s.%s has wide read ports. Please use memory_narrow to convert them first.\n",
- log_id(module), log_id(mem->memid));
- }
- for (auto &port : mem->wr_ports) {
- if (port.wide_log2)
- log_error("Memory %s.%s has wide write ports. Please use memory_narrow to convert them first.\n",
- log_id(module), log_id(mem->memid));
}
int data_sid = get_bv_sid(mem->width);
@@ -1089,8 +1081,10 @@ struct BtorWorker
memories = Mem::get_all_memories(module);
dict<IdString, Mem*> mem_dict;
- for (auto &mem : memories)
+ for (auto &mem : memories) {
+ mem.narrow();
mem_dict[mem.memid] = &mem;
+ }
for (auto cell : module->cells())
if (cell->is_mem_cell())
mem_cells[cell] = mem_dict[cell->parameters.at(ID::MEMID).decode_string()];