diff options
author | whitequark <whitequark@whitequark.org> | 2020-11-01 15:25:55 +0000 |
---|---|---|
committer | whitequark <whitequark@whitequark.org> | 2020-11-01 15:57:20 +0000 |
commit | 2ba05f5c31941967e84a2ab1a3dec89f60235057 (patch) | |
tree | f6c9693f73d1dcc9d343853c10a0729dcc67ea5c /backends/cxxrtl | |
parent | cc7ad65a7992d82e758011ec63704b65fcb2d7d6 (diff) | |
download | yosys-2ba05f5c31941967e84a2ab1a3dec89f60235057.tar.gz yosys-2ba05f5c31941967e84a2ab1a3dec89f60235057.tar.bz2 yosys-2ba05f5c31941967e84a2ab1a3dec89f60235057.zip |
cxxrtl: don't assert on non-constant $meminit inputs.
Fixes #2129.
Diffstat (limited to 'backends/cxxrtl')
-rw-r--r-- | backends/cxxrtl/cxxrtl_backend.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/backends/cxxrtl/cxxrtl_backend.cc b/backends/cxxrtl/cxxrtl_backend.cc index da46711c1..ac4c78267 100644 --- a/backends/cxxrtl/cxxrtl_backend.cc +++ b/backends/cxxrtl/cxxrtl_backend.cc @@ -22,6 +22,7 @@ #include "kernel/sigtools.h" #include "kernel/utils.h" #include "kernel/celltypes.h" +#include "kernel/mem.h" #include "kernel/log.h" USING_YOSYS_NAMESPACE @@ -2347,8 +2348,9 @@ struct CxxrtlWorker { if (sync->type == RTLIL::STi) has_sync_init = true; - for (auto cell : module->cells()) - if (cell->type == ID($mem)) + // The Mem constructor also checks for well-formedness of $meminit cells, if any. + for (auto &mem : Mem::get_all_memories(module)) + if (mem.packed) has_packed_mem = true; } } |