I'm doing an FPGA design using a T2080 MPC interfacing to an Altera Cyclone V FPGA. The goal is to use my FPGA to pump 2 other FPGAs on the same board.

I need to create a scheme that allows the Cyclone FPGA to pull data from an address in the processor memory using DMA. I know that the PCIe interface between the 2 devices works. I can read and write registers inside the FPGA via the T2080.

I've also created some control/data registers inside the FPGA that will house the address of the data on the MPC and some other info.

Is there a reference design that someone could point me to that shows how to set up this transaction using VHDL? I'm a novice but I can figure things out if I have a good example to follow. Or if anyone has attempted this, please feel free to comment.

  • \$\begingroup\$ What is it exactly you are asking for? You want a Tutorial on the DMA transfer via PCIe? \$\endgroup\$ – FarhadA May 15 '15 at 3:25
  • \$\begingroup\$ I'm using an Altera HIP Cyclone V PCIe and it's already communicating with the processor over this link. I've verified that. I'm trying to understand how to code the DMA master state machine on the FPGA. I only need to read the data out of the processor memory once he gives me the address location. Once I get that data, I have the back end figured out of how I'm going to transfer that data to the other devices that need to be pumped by my device. So there's also some device selecting that needs to included as well. Yes, I'm new to DMA and PCIe. Just trying to get clarity. Thanks for any help. \$\endgroup\$ – jesse boyce May 15 '15 at 13:32
  • \$\begingroup\$ Atera has a pretty good DMA controller for NIOS with detailed information on how to use it. Check out the information on this PDF file for details altera.com/content/dam/altera-www/global/en_US/pdfs/literature/… \$\endgroup\$ – FarhadA May 27 '15 at 7:01
  • 2
    \$\begingroup\$ @FarhadA "a pretty good DMA" - that's perhaps a bit charitable. They have a buggy DMA controller that enjoys randomly locking up for no reason. \$\endgroup\$ – Tom Carpenter Apr 24 at 11:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.