VHDL Data Buffer on Spartan-3E

My application needs 4KB (32768 bits) of buffer space for incoming data. We are wanting to use the Spartan-3E, but we have not entirely settled on a version of it. Obviously, we would like to use the cheapest package possible.

My question is if this is too much buffer to synthesize in VHDL. If so, what would be my best option here? The data is written to the buffer 8 bits at a time, and it is used 64 bits at a time.

Currently, I am creating this buffer like this:

type ram_type is array (0 to 511) of STD_LOGIC_VECTOR(63 downto 0); signal data_buffer: ram_type;

However, once I connect it to the logic that uses it, it reports that it's too large for the chip.

Is there a better way to accomplish what I am trying to here?

Thanks!

Alex McHale

Reply to
Alex
Loading thread data ...

You can use block RAM, e.g. one instance of RAMB16_S9 for 16384 bits and some parity bits (the smallest Spartan 3E, XC3S100E, has 4 RAM blocks of this size). See the Xilinx libraries guide for details.

--
Frank Buss, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Reply to
Frank Buss

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.