Project 10 – introducing external memory
Up until now, we've been using internal Block RAM (BRAM) or distributed RAM. These types of memory are very fast. BRAMs can be accessed in a single clock cycle up to the maximum frequency (fmax) of the device given certain constraints. Look up table memories (LUTRAMs) are a little more flexible in that they can be used asynchronously. Both types of memory are very convenient for small storage, lookup tables, fast memory for things such as cache, and if you have enough for a design, keeping costs and complexity down.
There are many external memory types available for use in designs. Looking just at synchronous Dynamic RAMs (DRAMs) that are still available, we can see how the performance has changed with each generation:
Looking at the preceding chart, the first question would be what is the performance of the internal BRAM versus the external memory? What are...