Altera_Forum
Honored Contributor
14 years agoChaining DMA Scatter-Gather mode problems (SG-DMA)
Hey guys,
I got some problems in the Chaining DMA (CDMA) SG-DMA mode. Based on the source code of the Altera PCI-E DEMO program, I am using WinDriver to develop the application. When transferring data more than 976 bytes, there are 2 pages in the CDMA descriptor table. Now, here come the problems. Q1. The data length of the 1st page is always 82 DWords when generating the SOF with Quartus 10.0. and 62 DWords when generating the SOF with older version. Is there anything to do with the Quartus version? Q2. Why is it always 976 byes? Is there any limitation in declaring a data buffer? How does the WinDriver divide the buffer into pages? The application sends data from PC to FPGA board, and holds a data buffer for receiving data from FPGA board to PC. Since the data transferring takes 2 pages, I check the data buffer part 1 and the part 2. Comparing with the reference data, I find there is something lost in data buffer part 1 - the 1st 4 DWords are not transferred. And the 1st 4 DWords of part 2 overlap with the last 4 DWords of part 1. Q3. How to avoid losing the 1st 4 DWords? How to avoid the overlapping thing? Really need you guys help :(