Altera_Forum
Honored Contributor
15 years agoSGDMA Write Master FIFO
Hi,
after discussing the implementation of a SGDMA in my system in this thread http://www.alteraforum.com/forum/showthread.php?t=27574 (http://www.alteraforum.com/forum/showthread.php?t=27574) , I now have one last problem that I would like to be solved or explained. In SOPC builder, when I set up my SGDMA Write Master Component I can choose the internal FIFO to be 16, 32, 64, etc. stages deep. In my current case I have chosen 16 stages. In the attachment one sees a signal tap recording that was taken right after the configuration of the FPGA. So this is the very first SGDMA transfer after startup. The SGDMA should write streaming data from my ADC modul to SRAM. The data that comes from the ADC in this case is toggle testdata. The blue mark in the attachment shows the testdata that goes into the FIFO of the write master module. The green mark shows the data that goes out of the write master FIFO into the SRAM. What I don't understand is the fact that the first 16 transfers out of the FIFO are zero values. I understand that this is the data that is in the FIFO stages right after power up. But I didn't put this data in so I don't want this data to come out. What I would like to see is that the data I first put in is also the data that first comes out and no additional data. This would lead to a SGDMA transfer delay of 1 in this case, which would be okay. The way it is working now means that I have to skip the first 16 32 bit words in my SRAM which to me just makes no sense. Additionally, if one looks at the usedw signal of the FIFO it says Fh right after the start of the SGDMA transfer. This explains why the FIFO "thinks" that the initial FIFO data belongs to this SGDMA transfer but I would like this not to happen. What can I do about it? Or is it just an effect I have to live and deal with? Thank you, Maik