FPGA system RAM

I am in the early design stages of an FPGA-based audio / video stream source and sink. The FPGA board will be an ethernet node that will accept digitized video from a local video camera for compression as well as digitized audio. The compressed video/audio stream will be streamed out over ethernet. Simultaneously, the FPGA board will accept via incoming ethernet a compressed video/audio stream which will be decompressed and sent to a video DAC for display on a local screen.

My question is about the RAM design for the system - RAM will be needed for (1) storage & decompression of video/audio, (2) for storage and compression of audio/video, (3) a memory for the local display (really just the output from the decompression system), and (4) RAM for microblaze embedded processor. The target FPGA is Spartan 3. I was hoping to use generic DDR RAM. So there are 3 or maybe 4 subsystems competing for RAM bandwidth. Is it likely that such a design will require separate RAM for the input and output sides? What about dual port RAM? On the display side, is dual port RAM generally needed where there is contention for the RAM between a video controller reading out pixels and video decompression of an input stream to generate those pixels? What about the microblaze? I would think it would be the most tolerant of sharing of RAM bandwidth, given that wait states may be needed if the RAM is busy.

All suggestions are much appreciated. Thanks, Doug Jones

Reply to
Doug Jones
Loading thread data ...

Doug, before anybody can give you a meaningful answer, we need to know something about the speed or bandwidth required by your system. Peter Alfke

Reply to
Peter Alfke

Video is 640 x 480 x 24 bits x 30FPS = 220 Mbps uncompressed. Assume

50:1 compression (is that realistic?) = 4.4 Mbps. Audio is 44.1 kHz x 4 bytes = 1.4 Mbps. Audio is uncompressed so total is 5.8Mbps bidirectionally so grand total is around 11.6 Mbps. Microblaze will be running web server for TCP/IP support.
Reply to
Doug Jones

I do not know to what the compression ratio i deterministic and predictable, and what you have to assume worst-case. At the low ates you mention, there seems to be plenty of room for creative ideas to use available nanoseconds intelligently. You do not need a dual-port mamory if there is enough time to time-multiplex the data. Good luck, this looks like a fun project... Peter Alfke

Reply to
Peter Alfke

Thank you for your advice. Doug Jones

Reply to
Doug Jones

Sorry for the awful typos. I am really a good speller, but I got distracted... Peter Alfke

Reply to
Peter Alfke

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.