Forum Discussion
Altera_Forum
Honored Contributor
10 years agoI find memory bits not very useful, unless building really big RAMs and you might approach full efficiency. For example, if the FPGA has M20K blocks, which can be 20k1, 10kx2, etc. down to 512x40(look at data sheet for specifics), then if I build a FIFO that only needs a 256x8 size, the rest of the RAM is wasted. Because of this you usually run out of RAM blocks before actual bits.
As for what's most important, it depends. Some run out of LEs, but some run out of memories, some out of DSP blocks, some out of general purpose I/O, some out of transceivers, some out of DDR3 interfaces, some out of PCIe interfaces, etc. By and large LEs are the most common, then probably memories and/or pins(transceivers nowadays). You can build a memory out of logic, but it is really inefficient. For example, a 512x16 would not onlyr require 8K registers just to hold the bits, but you would have sixteen 512X1 muxes to read it, plus write address decodes to write each address. This adds a ton of support logic and runs really, really slow. Most of the time it's just not worth it, but it it possible in theory.