PROG_EMPTY_THRESH is a user-defined threshold that defines when a specified number of words have been read from the FIFO. When the number of words is less than or equal to PROG_EMPTY_THRESH, the PROGEMPTY signal is asserted. If PROGEMPTY = 0, the number of words in the FIFO is greater than PROG_EMPTY_THRESH. The PROGEMPTY flag conservatively represents the number of words in the FIFO relative to the PROG_EMPTY_THRESH setting. Therefore, PROGEMPTY considers all read operations but might not immediately update due to write operations synchronization latency. Thus, it can sometimes present the FIFO as more empty than it actually is.