We want to implement a multi-channel PCIe DMA engine for host to card transfers, supporting at least 3 independent channels/streams on Arria 10.
How difficult would it be to enhance the Avalon PCIe DMA core detailed in UG-01145_avmm_dma to support multiple streams instead of just one?
My understanding is that the currently offered Altera PCIe DMA core(s) only support Avalon-MM mode, not Avalon-ST mode. Our application maps more naturally to a ST interface, but we can live with a MM interface if necessary.
Are there any examples that Altera provides for modifying the DMA Descriptor Controller to support multiple independent descriptor channels? I only found one post in the forum related to this, but it was several years old, without any confirmation that the design was successfully implemented.
The internal descriptor controller is only support one channel. For multiple channels support, you need to create your own descriptor controllers and then connected to the arbiter and then provide the descriptors to the movers. Unfortunately, there is no example available.
Yes, thank you SK, I understand that from the docs.
This seems to be a generally useful enhancement, and one that is supported by your competitor's DMA core. Would Intel be willing to add this feature for a fee?
Or, alternatively, provide the source code for the single-channel Descriptor Controller, so we could modify it for our needs?
I understand this is something that we can improve or enhance. Thank you for your feedback and we will channel it to the R&D team for consideration.