Forum Discussion
Altera_Forum
Honored Contributor
12 years agoThey are indeed different.
On-chip memory is a true sram memory embedded into the fpga silicon mask. This is dedicated hardware, then is space and speed optimized. Like any sram, you can access a single memory cell at a time (actually 2, since it's a dual port ram) On the other hand custom memory implemented with arrays of LEs wastes a lot of FPGA resources because you are using only the memory capabilities of LEs, thus discarding most LUTs and routing resources. Moreover LEs are not optimized for storage, so you would have far far less memory bits per device if compared to on-chip ram. Unlike on-chip ram, with this distributed memory you are virtually able to see every memory bit at the same time. As a rule of thumb, custom distributed memory is convenient when you need a small amount of memory. Infact a major drawback of on-chip memory is that you need to waste a full memory block, even if you need only a few memory cells.