diff options
author | Marcelina KoĆcielnicka <mwk@0x04.net> | 2021-05-27 23:43:25 +0200 |
---|---|---|
committer | Marcelina KoĆcielnicka <mwk@0x04.net> | 2021-05-28 00:40:56 +0200 |
commit | cbf6b719fe85ce8544f9bb0796711f3f45638862 (patch) | |
tree | e5123705ba397f310a10c133d02fd4360c42800d /backends/smt2 | |
parent | 055ba748bcf8c77bff15bda0de49c0b4b3722bba (diff) | |
download | yosys-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/smt2')
-rw-r--r-- | backends/smt2/smt2.cc | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/backends/smt2/smt2.cc b/backends/smt2/smt2.cc index 4dee0d4fb..7f6779c7d 100644 --- a/backends/smt2/smt2.cc +++ b/backends/smt2/smt2.cc @@ -124,6 +124,7 @@ struct Smt2Worker memories = Mem::get_all_memories(module); for (auto &mem : memories) { + mem.narrow(); mem_dict[mem.memid] = &mem; for (auto &port : mem.wr_ports) { @@ -715,12 +716,6 @@ struct Smt2Worker has_sync_wr = true; else has_async_wr = true; - if (port.wide_log2) - log_error("Memory %s.%s has wide write ports. This is not supported by \"write_smt2\". Use memory_narrow to convert them first.\n", log_id(cell), log_id(module)); - } - for (auto &port : mem->rd_ports) { - if (port.wide_log2) - log_error("Memory %s.%s has wide read ports. This is not supported by \"write_smt2\". Use memory_narrow to convert them first.\n", log_id(cell), log_id(module)); } if (has_async_wr && has_sync_wr) log_error("Memory %s.%s has mixed clocked/nonclocked write ports. This is not supported by \"write_smt2\".\n", log_id(cell), log_id(module)); |