DMA missing data due to delay in between dma_recv.transfer()

Hi all,

Pynq version 3.0.1 board zcu111, vivado 2023.2

I need to retrieve real-time data from PL to PS through DMA. However there’s a huge delay between dma_recv.transfer() function call. I tested this with tlast = 1 (the min) and tlast = 32768 (the max). but tlast = 1 has about 78 us delay and tlast = 32768 has about 200 us delay, which are huge considering I lose all the real-time data in between, by the way I’m using 256 Mhz clock. (FIFO is 64 bit width and 32768 depth).

Thank you for your help in advance

Hi @nur_fajar,

Welcome to the PYNQ community.

I tested this with tlast = 1 (the min) and tlast = 32768 (the max). but tlast = 1 has about 78 us delay and tlast = 32768 has about 200 us delay

I assume that you mean 1 and 32768 transactions. Correct?

which are huge considering I lose all the real-time data in between

Real-time depends on the application, what is your time budget to act on this data? What do you mean by I lose all the real-time data in between?

Mario