Replies: 1 comment 9 replies
-
Can you attach some sample |
Beta Was this translation helpful? Give feedback.
9 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
According to Lattice documentation, a LUT is a 16x1 ROM.
Now, I have a Verilog module for a ROM with one 16-bit and one 24-bit read port. This doesn't match the embedded block RAM well, so it gets synthesized to LUTs. That ROM gets its content via readmemh.
I tried with two data files, a 195B and a 255B one.
Naively, I would assume that I need 0.5 LUTs per Byte, and then a few more LUTs for the address decoders.
However, yosys 0.38 uses 809 LUTs for the 195B ROM, and 1345 LUTs for the 255B ROM, i.e. about 4.1 to 5.3 LUTs per Byte total.
That seems a lot to me. What am I missing? Are that many LUTs really needed? Could yosys do better? Could I rewrite my Verilog code for yosys to do better?
Beta Was this translation helpful? Give feedback.
All reactions