aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/mem.cc
diff options
context:
space:
mode:
authorMarcelina Koƛcielnicka <mwk@0x04.net>2022-03-28 16:14:56 +0200
committerMarcelina Koƛcielnicka <mwk@0x04.net>2022-03-28 17:03:02 +0200
commit3bebe17e5d9e426445ee81e2502be9ae37784f8c (patch)
treef757e7a4ea6ab8001d495cf6421bdc1fc4151822 /kernel/mem.cc
parent8cc8c5efde627e904eb58049d38218e70be3f046 (diff)
downloadyosys-3bebe17e5d9e426445ee81e2502be9ae37784f8c.tar.gz
yosys-3bebe17e5d9e426445ee81e2502be9ae37784f8c.tar.bz2
yosys-3bebe17e5d9e426445ee81e2502be9ae37784f8c.zip
kernel/mem: Only use FF init in read-first emu for mem with init
Diffstat (limited to 'kernel/mem.cc')
-rw-r--r--kernel/mem.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/kernel/mem.cc b/kernel/mem.cc
index 059f8f934..e5e855ef7 100644
--- a/kernel/mem.cc
+++ b/kernel/mem.cc
@@ -1633,7 +1633,10 @@ void Mem::emulate_read_first(FfInitVals *initvals) {
ff_en.pol_clk = port.clk_polarity;
ff_en.sig_d = compressed.first;
ff_en.sig_q = new_en;;
- ff_en.val_init = Const(State::S0, ff_en.width);
+ if (inits.empty())
+ ff_en.val_init = Const(State::Sx, ff_en.width);
+ else
+ ff_en.val_init = Const(State::S0, ff_en.width);
ff_en.emit();
port.data = new_data;
port.addr = new_addr;