Altera_Forum
Honored Contributor
14 years agoSGDMA descriptor questions
Hi,
Before i ask the question, i would like to clarify my doubts regarding SGDMA. 1) A single descriptor needs 32 byte of memory to store its addresses, status, and control. right? (Since the sumation of all the bits in the descriptor data struc is 256 bits) 2) Each descriptor is able to transfer a maximum of (65536 bytes) . right? (since the data type of length is alt_u16) 3) So, 32 descriptors are required to transfer a memory size of 2MB. right? (Since 32*65536 = 2MB.) Please let me know if any of my assumption above are wrong. Here is my questions: 1) If i connect SGDMA(MM-ST) to a DCFIFO, and when the DCFIFO overflows, do i need to be concerned with this situation? will the SGDMA stops automatically, and continue transferring after DCFIFO has more space to store more data? or would it terminate transfer and report error? 2) How do i allocate descriptor memory in non heap environment? As my design will have multiple SGDMA, so i want to store descriptors in individual on-chip RAM for all SGDMA. 3) Does the descriptor deletes itself, after that particular transfer is done? because i want to do the transfer again after maybe 3 seconds, from the same source, to the same destination, with the same length, and i do not want to go through the trouble of re-configuration. In this case, what do i do? As you can see, i am really stuck !!:cry: If you know the answer to any of my question above, Please try your best to explain it. any response is highly appreciated. Thank you. Regards, Michael