Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
Need Forum Guidance? Click here

Search our FPGA Knowledge Articles here.
19189 Discussions

Linux -> mSGDMA -> Dual Clock FIFO

Honored Contributor II


For many weeks I am trying to transfer data(Mbytes) from HPS to FPGA but without success. I have DE1 SoC board and I use Linaro Linux from Altera site. My project is based on DE1_SOC_Linux_FB project from DE1-SoC_v.4.0.3_HWrevE_SystemCD. I would like with your help to make here some tutorial how to do it, step by step.  


My actual concept is to make mSGDMA with Memory-Mapped to Streaming mode and connect Dual clock FIFO. Output from FIFO i want export to my FPGA logic. I want to use dual clock FIFO because later I will be using SDRAM Controller. Is my concept ok? 


So, in first step I opened DE1_SOC_Linux_FB project, opened qSys, and upgraded IP to 15.1 version. Then I added mSGDMA, System and SDRAM Clocks for DE-series Boards and Avalon-ST Dual Clock FIFO. I connected clocks, resets, stream_source from mSGDMA to in signal in FIFO and exported output from FIFO. My first question is how to connect the rest of the signals and how to configure mSGDMA and FIFO? I attach the screen of my qSys connections.  


I will be very grateful for your responses. I have little time to do it 


Best wishes 

0 Kudos
1 Reply
Honored Contributor II

I connected mm_read to f2h_axi_slave and csr and descriptor_slave to h2f_lw_axi_master. Is it good? I found similiar solution here: but data size is limited by on-chip memory(max 10 MB). I need 64MB. How to send unlimited data size from linux memory to FIFO?