12-29-2018 01:44 AM - edited 12-29-2018 01:46 AM
Here is my problem: I have a design which implements a DMA/Bridge subsystem for PCIe. the core is working in streaming mode. to the H2C port of the core, I connect a fifo generator block, configured to streaming mode. master side of the FIFO is connected to an AXI dma in S2MM mode, moving data from the fifo to DRAM.
FIFO is written @ 250 MHz, FIFO is read @ 200 MHz. first i run the S2MM dma channel, then I write a file to H2C.
I am using the provided xdma_rw application (xdma_rw h2c_0 write 0x0 -f testfile.bin) , supplied with the xdma windows 10 driver, to write a file on the host into the PCIE and move it to card.
when transferring files up to around 250KB, everything works fine. the data moves to FIFO and then to DRAM. S2MM DMA registers show completed, all good.
when trying to send larger files, (I have tried 500KB and above), the transfer hangs, I dont get a write confirmation massage from the xdma_rw command.
when this happens, the software application hangs, and windows freezes to the point I need to reset the PC. this makes it hard to see whats going on in tap/registers.
now, because this happens when increasing file size, I would assume I have a bandwidth problem. I do have a write faster than my read, however, by the nature of the streaming interface flow control should de assert the FIFO ready signal when it is full, so the XDMA core waits for FIFO to get read. but obviously somthing goes wrong.
can anyone shed some light on the subject?
01-08-2019 09:14 AM
I find this same issue is reported in the thread below. Please continue the discussion there.
11-21-2019 11:24 PM
I got the same problem when filesize is more than 8MB, everything goes smoothly when filesize not come to 8MB,have you ever solved this problem ?i guess this is caused by the xdma driver code.