Forum Discussion
Altera_Forum
Honored Contributor
15 years agoDMA on a DE0
Hi all, Can someone verify for me that they have DMA to SDRAM working on a DE0 board ? I've been trying to get it to work for a couple of days, but no joy. Here's how it's set up in SOPC builde...
Altera_Forum
Honored Contributor
15 years agoOkay, it seems there was a fourth option for why it wasn't working... blind idiocy... In my defence, it was 1am when I was playing with this ... but I'd been running the 'nios2-configure-sof' command and it was picking up the 'xxx.sof' file, not the 'xxx_time_limited.sof' file...
When I removed the xxx.sof file (with some prejudice ...) it all seems to work well - at least if I run at <= 100 MHz. I can't get the SDRAM to go higher than that, even if Quartus says fMax is 144.11MHz, even if I perturb the sdram-clock delay around a median of -3ns. Anyway, now I'm getting: --- Quote Start --- Test complete with a throughput of 39MB/s. Test complete with a throughput of 39MB/s. Test complete with a throughput of 38MB/s. Test complete with a throughput of 39MB/s. Test complete with a throughput of 38MB/s. Test complete with a throughput of 39MB/s. Test complete with a throughput of 39MB/s. Test complete with a throughput of 39MB/s. Test complete with a throughput of 39MB/s. Test complete with a throughput of 39MB/s. Test complete with a throughput of 39MB/s. Test complete with a throughput of 39MB/s. Test complete with a throughput of 39MB/s. Test complete with a throughput of 39MB/s. Test complete with a throughput of 39MB/s. Test complete with a throughput of 39MB/s. Test complete with a throughput of 38MB/s. Test complete with a throughput of 39MB/s. --- Quote End --- ... which is roughly 20% of the theoretical bandwidth of the SDRAM. I've noticed you saying that you've seen almost 100% utilization previously, so I presume there are things I can do to tweak that to make it better. Presumably the fifo interface to the real VGA controller (rather than this test) would help matters as well. So, now I have a working modular SGDMA system on the DE0, I can start to try getting the VGA core to interface to it :) The one in the Neek is way more general than I need - the DE0 only has 4 bits each for R,G,B so I'll be adopting a standard colour definition of 16 bits, (4 each for R,G,B, 2 for alpha, 2 for depth) which precludes the need for re-sampling, colour conversion, etc. Once that is working, I can start to implement the Blitter/GPU side of things, and it starts to get really interesting :) Thanks for all the help :) Oh, and it may not be a great implementation (the .sdc file is basic ...) but if you want the DE0 project to go alongside the Neek one, you're welcome to it :) Simon