FPGARelated.com
Forums

transfert data from host pc to target fpga using DMA

Started by assaad 8 years ago6 replieslatest reply 8 years ago310 views
Summary A user is seeking guidance on how to transfer image data from a host PC to an FPGA using Direct Memory Access (DMA).

A user is seeking guidance on how to transfer image data from a host PC to an FPGA using Direct Memory Access (DMA). The discussion clarifies that the specific implementation depends heavily on the chosen hardware and the configuration of FIFO methods to handle data streams.

The thread concludes that selecting an FPGA target is the necessary first step, as the device will provide the specific modules and buffer configurations required for DMA transfers.

  • DMA implementation details are hardware-specific and require consulting the target FPGA's documentation.
  • Transferring data typically involves creating FIFO method nodes and configuring DMA channels.
  • DMA and FIFOs are closely linked in this context, requiring the user to write code or configure methods to invoke data transfers.
  • The developer must define buffer sizes and FIFO methods based on the specific application requirements once hardware is selected.
FPGADMAFIFOData Transfer

I have 2 image files imported by ENVI tool (png or raster file), and they are stored in my hard disk, I want to transfer this data from host PC to target FPGA using DMA (Data Memory Access). My questions are:

  1. Is there a specific technique to transfer data to the target using DMA in FPGA? - I couldn't find any information on the internet.
  2. Is there a technique to configure the FIFO as DMA? - In my case I need two DMA from host PC to target FPGA and one from FPGA to target.

At the end, there should be each image with a DMA and the third one to transfer from FPGA to host PC.

[ - ]
Reply by melpin94March 20, 2018

As per my understanding of what you have mentioned, you would need to create a FIFO Method Node , then configure your FPGA which will have a DMA Channel and finally create an Invoke Method

Since you havent mentioned which FPGA you are using, Refer to your FPGA Hardware Documentation  for information about how that target handles DMA transfers.

[ - ]
Reply by assaadMarch 20, 2018

thanks sir for your reply, i didnt chose yet any fpga ,i wnat to study first what i want then i will conclude the type of fpga . so sir, what is the best solution to use DMA to transfert data from pc to FPGA and in your experience ,the best fpga can handle this type of transfert

[ - ]
Reply by melpin94March 20, 2018

I guess once you decide upon an FPGA for your specific application, it will have modules for DMA which will be provided. Based on that you could configure the FIFO methods and set buffer sizes accordingly.

[ - ]
Reply by assaadMarch 20, 2018

thanks sir , so the first things, is to chose pga device .

last question sir, we supposed that i have  fpga that have modules for DMA, to transfer data we must configured FIFO to work with DMA 

[ - ]
Reply by melpin94March 20, 2018

You would be required to write code or configure methods for FIFO to transfer and invoke the data 

[ - ]
Reply by assaadMarch 20, 2018

thanks sir for your time ,so sir tha DMA work with the fifo , they are inseparable?