Forum Discussion
On-chip memory clear questions
- 1 year ago
We'd recommend using M20K which is dedicated memory resource to realize RAM instead of MLAB. MLAB is mainly using for logic. It will consume more resource when using MLAB to implement RAM.
During synthesis analysis in Quartus, RAM can be implemented using either M20K or MLAB resources. However, because the structure and interface resources of M20K and MLAB are fixed, there is a limit to how many RAM blocks can be realized with a single M20K or MLAB. This limitation becomes more pronounced when implementing multiple small RAMs, as the available interface resources can be a significant constraint. Additionally, RAM settings—such as the number of read/write ports and enable ports—affect the required number of interfaces. As a result, the number of RAM blocks that can fit into one M20K or MLAB depends on the specific parameter settings of the RAM.
Hello TingJiang,
So for small size FIFO/RAM or ROM, we'd better force them to be realized by MLAB, if there are enough MLAB resource. Otherwise, these small size memory implementation may possible waste huge ratio RAM resource. Am I right?
Thanks
Best Regard