You are here

Sync Slave FIFO: Partial full flag not updated after short packet | Cypress Semiconductor

Sync Slave FIFO: Partial full flag not updated after short packet

Summary: 2 Replies, Latest post by Chris R. on 13 Jan 2012 07:54 AM PST
Verified Answers: 0
Last post
Log in to post new comments.
Chris R.'s picture
143 posts


I have to configure the slave fifo interface with partial full flag due to the flag latency. If I do this, the flag latency can be managed, but the flag isn´t updated after writing a short packet and all further data is lost until the buffers are commited to the host. If I use the dedicated flag, the flag goes low right after writing 2 short packets to the fifo (2 DMA buffers, no host read). This is the expected behavior. No data is lost. But how can I get this behavior together with the partial full flag?

I changed the GPIF descriptor PIB_GPIF_CTRL_BUS_SELECT(5) to 0x00000014 for partial flag and configured the flag with: apiRetStatus = CyU3PGpifSocketConfigure(0, CY_FX_PRODUCER_PPORT_SOCKET, 2, CyFalse, 0);

Another issue is the flag watermark value. In the description and slave fifo app not is written, the value indicates the number of words, where the word width is the GPIF width. But I cannot set up three 16 bit words, the granularity is always four words, also in 16 bit GPIF with. How can I handle this?

I use the 1.0 SDK with the DVK board Rev 2.

aasi's picture
Cypress Employee
1166 posts

Hi Chris,

You've to monitor both Partial flag and full flag if short packet is expected in non-burst mode.

I didn't get the full picture of the granularity issue you've mentioned, Please explain a bit more.



Chris R.'s picture
143 posts

Thank you.

This was my workaround too, (CNTRL[6] as Full Flag), it works, but is a dirty solution. :(


The other problem is: The watermark level always results in 4-byte steps, regardless of the width setting on GPIF II. It´s not possible to set it to 3 16 bit words, if I set the level to 2 the flag goes active 4 16 bit words before full. If I set the watermark to 1 the flag goes low 2 16 bit words before full. In the descripts is to be read, the value represents always words in the width og GPIF, but the behavior isn´t so.

Log in to post new comments.