Forum Discussion
About mSGDMA core settings
I have a project in Quartus 18.0 that incorporates Nios2 for Cyclone IVE.
In this project, packets received over Triple-Speed Ethernet are forwarded to an external SDRAM via mSGDMA.
There is a setting in the mSGDMA core configuration that I don't understand: what is the 'Maximum Transfer Length' parameter in the mSGDMA core for transferring what data from where to where?(User Guide: UG-0185 Chapter.30 'Modular Scatter-Gather DMA core')
I thought this was a parameter for transferring incoming packets from mSGDMA to SDRAM, but when I checked with Signal Tap it seems to be different.When the FPGA receives a 1518-byte packet with 'Maximum Transfer Length=1KB', mSGDMA seems to transfer all the packet data to SDRAM in a single transfer.I would have expected the transfer to SDRAM to be split into two transfers.
Could you please tell me what the 'Maximum Transfer Length' setting is?
P.S. mSGDMA is Memory-Mapped to Streaming mode and prefetcher enabled.
5 Replies
- tehjingy_Altera
Regular Contributor
Hi
The Maximum Transfer Length parameter is the maximum length a data could be stored in a descriptor.
A descriptor sets up the transfer parameters for a DMA channel transfer. If in general the data you are passing is smaller you could set this parameter to be smaller to increase the performance.
Regards
Jingyang, Teh
- daimatsu_kiki
New Contributor
Thank you for your answer.
Maximum Transfer Length parameter is the maximum value that can be set in the length field of the descriptor, isn't it?
For example, when the FPGA receives a 1518-byte packet with 'Maximum Transfer Length=1KB', will the mSGDMA controller create two descriptors?
(Descriptor 1: Length = 1024,
Descriptor 2: Length = 494)
Regards
- tehjingy_Altera
Regular Contributor
Hi
Yes. This is correct.
Regards
Jingyang, Teh
- tehjingy_Altera
Regular Contributor
Hi
Do you have any more follow up question regarding this?
Regards
Jingyang, Teh
- tehjingy_Altera
Regular Contributor
Hi
As we do not receive any response from you on the previous question/reply/answer that we have provided. Please login to ‘https://supporttickets.intel.com/s/?language=en_US’, view details of the desire request, and post a feed/response within the next 15 days to allow me to continue to support you. After 15 days, this thread will be transitioned to community support. The community users will be able to help you on your follow-up questions.
Regards
Jingyang, Teh