Open gzz2000 opened 3 months ago
Thanks!
I found 32 memory blocks are used but actually 1 should be sufficient.
I have noticed that too, it's due to memory_libmap
not making the inference that all the bits of the word share the write enable signal. Maybe the recommended memory inference script isn't enough.
Version
Yosys 0.43+11 (git sha1 49f547782, g++ 9.4.0-1ubuntu1~20.04.2 -fPIC -Os)
On which OS did this happen?
Linux
Reproduction Steps
Please download a minimal reproducible example here: bugmem.tar.gz The design
mem_main.v
is just a simple memory interface. We have a memory librarymemlib.txt
which we want to use in synthesis. Running the following script in yosys:Expected Behavior
I expect
memory_libmap
should not introduce undriven pins.Actual Behavior
The pins generated by
memory_libmap
are undriven. I thought this was because I didn't give yosys the memory module blackbox definition. However, I've triedread_verilog -lib
andtechmap -map
and still see the same problem.Another problem that might be related: if I subsequently run
I found 32 memory blocks are used but actually 1 should be sufficient.