cxxrtl: don't assert on non-constant $meminit inputs.

Fixes #2129.
This commit is contained in:
whitequark 2020-11-01 15:25:55 +00:00
parent cc7ad65a79
commit 2ba05f5c31
1 changed files with 4 additions and 2 deletions

View File

@ -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;
}
}