aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwhitequark <whitequark@whitequark.org>2020-11-01 17:08:42 +0000
committerGitHub <noreply@github.com>2020-11-01 17:08:42 +0000
commitbbaf8693c6f6c361762d877ecfe028ed0d0ef0e7 (patch)
treef6c9693f73d1dcc9d343853c10a0729dcc67ea5c
parentcc7ad65a7992d82e758011ec63704b65fcb2d7d6 (diff)
parent2ba05f5c31941967e84a2ab1a3dec89f60235057 (diff)
downloadyosys-bbaf8693c6f6c361762d877ecfe028ed0d0ef0e7.tar.gz
yosys-bbaf8693c6f6c361762d877ecfe028ed0d0ef0e7.tar.bz2
yosys-bbaf8693c6f6c361762d877ecfe028ed0d0ef0e7.zip
Merge pull request #2425 from whitequark/cxxrtl-meminit-constness
cxxrtl: don't assert on non-constant $meminit inputs
-rw-r--r--backends/cxxrtl/cxxrtl_backend.cc6
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;
}
}