Lstout Posted November 19, 2013 Report Share Posted November 19, 2013 Hi, For some real time reason i would like to give acces to one of my VHDL module to the SDRAM.I manage to do it with the SDRAM wrapper used in the ZPUino. My problem is that on papilio pro board the ZPUIno uses the 8Mb SDRAM ressource to store and run sketches.So i can not manage to share the use of the SDRAM between the core and my vhdl module. I was wondering if it was existing a way to do that ? Or may be if a configuration was existing to setup the ZPUIno to make it use the 64Kb of SRAM avalible on the LX9 chip to run sketches, and let the SDRAM free to be used by a vhdl module ? am i clear ? Link to comment Share on other sites More sharing options...
Jack Gassett Posted November 19, 2013 Report Share Posted November 19, 2013 Hello, Alvie mentioned using DMA transfers to let modules access memory. We were talking about making the OLS core use the SDRAM and he said that would be the easiest way. Sounds like that would be what you want here too. Maybe Alvie can point us towards an example. Jack. Link to comment Share on other sites More sharing options...
Lstout Posted November 19, 2013 Author Report Share Posted November 19, 2013 Yes DMA would be nice ! Link to comment Share on other sites More sharing options...
Tb_ Posted November 19, 2013 Report Share Posted November 19, 2013 You should try a global variable at a known address in you program. Take a look at this blog entry : http://mcuoneclipse.com/2012/11/01/defining-variables-at-absolute-addresses-with-gcc/ The basic idea is to associate an gcc attribute to your variable and make reference in your linker script to fix the address. So at compilation time. The tool will not use the reserved space unless your program does it. It should also be possible to forbid the use of the complete space in the linker script.But this only prevent your sketch to be strew in all the memory and will not solve how your design have access to the memory data Link to comment Share on other sites More sharing options...
alvieboy Posted November 19, 2013 Report Share Posted November 19, 2013 We do allow for DMA transfers between one device and memory. For ZPUino 1.X, the interface is a classic Wishbone interface. For ZPUino 2.X (in the works) the interface is Wishbone pipelined, so you can get more data per transfer. All transfers are 32-bit. For one example of this, you can see the ZX Spectrum VGA interface (1.X): https://github.com/alvieboy/ZPUino-HDL/blob/master/zpu/hdl/zpuino/vga_zxspectrum.vhd For 2.X version, I can get you the HDMI VGA adaptor, which uses pipelined interface for a 640x480 display. Link to comment Share on other sites More sharing options...
alvieboy Posted November 19, 2013 Report Share Posted November 19, 2013 Here's the 2.X version, with pipelined interface. https://github.com/alvieboy/ZPUino-HDL/blob/hdmi-0200-lowres/zpu/hdl/zpuino/contrib/hdmi/hdmi_640_480.vhd Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.