Altera_Forum
Honored Contributor
11 years agomSGDMA ST->MM fills FIFO immediately
Hi,
I would like to use mSGDMA in my application but it behaves differently from what I would expect. Currently, I have a Avalon ST source module connected to mSGDMA write master, controlled by mSGDMA dispatcher. Streaming source is my custom module which, if sink is ready, writes one word every few cycles. It bugs me that as soon as mSGDMA write master is brought out of reset, it fills its internal FIFO and waits for dispatcher to emit a command to write it on MM master port (see the attached image). I would prefer that Streaming transaction starts after I write a descriptor, so it would store most recent data. Is there a setting for this I am missing out? The easiest solution I came up is writing two same descriptors consecutively, the first one will empty the FIFO and the second will overwrite MM data with fresh one. Is there maybe a more elegant solution? However, I would still like to thank BadOmen for this fantastic module.