PROGFULL Flag - PROGFULL Flag - UG573

UltraScale Architecture Memory Resources User Guide (UG573)

Document ID
UG573
Release Date
2025-11-18
Revision
1.14 English

If PROGFULL is asserted, the number of words in the FIFO is greater than or equal to PROG_FULL_THRESH.

Important: The PROGFULL and PROGEMPTY flags have 1 clock cycle assertion latency. Consequently, the number of words can appear to be PROG_FULL_THRESH-1 by the time PROGFULL is asserted. See Table 1 and Table 2 for flag assertion latencies.

Because of the inherent latencies in the FIFO, especially for the independent-clocks FIFO, PROGFULL is always considered a pessimistic flag. This means that not all read operations might have synchronized to the WRCLK domain, and therefore the words in the FIFO might be reported as more than there actually are in the FIFO. However, because the PROGFULL flag is synchronous to the WRCLK domain, PROGFULL is generally used to determine how many locations in the FIFO are available to be written, so the over-reporting of PROGFULL guarantees that too many words are never written to the FIFO.

The number of clock cycles required for a read operation to cause PROGFULL to deassert depends on the FIFO configuration. For an independent-clocks FIFO, a read operation is first synchronized internally to the WRCLK domain before it can influence the status of the PROGFULL flag, resulting in a latency from the read operation to the deassertion of PROGFULL that is a combination of a few read clocks followed by a few write clocks.

The PROGFULL flag is synchronous to the WRCLK domain and is intended as a status signal for logic writing to the FIFO.