Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
21615 Discussions

Stratix II and M4K true dual port memory

Altera_Forum
Honored Contributor II
1,321 Views

Hello, 

 

I'm using DSP Builder to create 256 true DPRAM (Dual Port Rams) with size 64x10bits. Compilation process places each of them in a single M4K block and I'm very quick out of memory. Is there any possibility to fit more than one DPRAM in a M4K Block except of redesigning the project ? in the 256x16 mode, there would be place for four DPRAMS, but i dont know if its possible. 

I appreciate any suggestions. 

 

regards, 

joel
0 Kudos
5 Replies
Altera_Forum
Honored Contributor II
617 Views

There are only two addresses on each RAM, so only a single dual-port is possible. Depending on your clock frequency, you could time-share these resources, i.e. run a 2x clock to them and toggle back and forth between them. Might require some extra pipelining, but usually not a big deal with DSP resources. I don't know if there's a way to do that directly in DSP Builder though(which is probably a problem if the M4Ks come out of larger functions). Are you using the M512s too?

0 Kudos
Altera_Forum
Honored Contributor II
617 Views

Increasing the clock frequency is impossible because its already very high (275MHz). I'm currently using about 30% of M512. Do you have any suggestion considering M512 blocks ?  

 

Best regards 

Joel
0 Kudos
Altera_Forum
Honored Contributor II
617 Views

Yep, TDM is out. There's no reason you can't use M512s. You need to determine if DSP builder is explicitly saying to use M4Ks(I imagine it is if you're getting no-fits, as Quartus should balance resources pretty good.) If that's the case, you need to figure out how to tell it to use M512s, or ideally, just use generic memories and let Quartus figure it out.

0 Kudos
Altera_Forum
Honored Contributor II
617 Views

Hello Sir, 

 

The DPRAM's type in DSP Builder is set to Auto but M512 can not be used for true dual port blocks. Only M4K and MRAMs got this ability. M512 can be set only in a simple dual port RAM mode. Anyway, thank you very much for your response, I'm now quite sure that i need to redesign my project. There is no simple solution. 

 

PS. Does anyone got a comparison between Simple and True Dual Port RAMs ? Or at least could point me on most important differences (issues) ?  

 

Best Regards 

Joel
0 Kudos
Altera_Forum
Honored Contributor II
617 Views

There are two address ports going into both RAMs. In simple dual-port, one can read and the other can write. In true dual-port, they can both read and write. I'm surprised it needs true dual-port, but don't know what it's doing. (Note that if the true dual-port needs a single write address and two reads, this can effectively be done by using two simple dual-port RAMs. This may not be easy to do via DSP builder though.)

0 Kudos
Reply