FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
6260 Discussions

DMA Controller in burst + Avalon MM PCIe results in data corruption.

Honored Contributor II

I am having some trouble with Stratix and the DMA Controller in Burst mode and the Avalon MM PCIe bridge. 


When I start a 4k byte transfer with a SRC address of 0x****_9910 and DEST address of 0x****_A910 ... where the DMA controller is performing a DDR -> DDR move in the RC, I get unpredicable results. DMA controller is set for 4k burst length and Doubleword transfers. 


One failure is the last part of the DMA is not written to the desination buffer. ( see attachement ) 

One failure is wrong data written around the 4k boundary crossing. 


If I start at address of 0x****_9900 and cross the 4k boundary the test passes .  

If I start at address of 0x****_9910 and do not cross the 4k boundary the tests passes. 


Does any one know if the Avalon PCIe bridge has to have certain address when a burst transfer crosses a 4k boundary ? 


Thanks, Bob. 


Also: I can't find the logic that performs the 4k boundary crossing ( ie splits a transaction into two transactions to avoid crossing the 4k boundary ) Could that logic reside in the Hard PCIe IP ?
0 Kudos
1 Reply
Honored Contributor II

I am looking at reproducing on an X86 Platform ... any advice on the driver to use and C compiler to use for running on X86 PC ?

0 Kudos