FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
5950 Discussions

Memory port limits on Stratix V

Honored Contributor II

I've been trying a few things to get memories with more than two ports but having some difficulty. If I use the megawizard tool, I only get choices of 1 and 2-port rams (under memory compiler). I see some mention of tri-ported rams in the documentation but I don't see a direct way to build them. I am able to infer rams with more than two ports, but there seems to be a limit in size (which I haven't found exactly yet) where the program runs out of memory while trying to compile if the ram is too large. So does anyone know what the story is with three or more ported rams? When inferred, do they just build multiple copies of 1 or 2-ported rams?

0 Kudos
1 Reply
Honored Contributor II

AFAIK the only way to create more than 2-port rams is by using HDL code. 

Do you need all your ports to have read and write access? In that case you can't use the embedded RAM blacks and the synthesizer will infer registers. This will use a lot of memory to compile the design and use a lot of resources on the FPGA if your memory block is big. 


If you only have one port with write access then in theory it is possible to implement the function using several dual port blocs in parallel, but I don't think the synthesizer will do that automatically for you. You'll probably have to do it manually in your HDL code.