Embedded Memory User Guide: Agilex™ 5 FPGAs and SoCs

ID 813901
Date 9/03/2024
Public
Document Table of Contents

4.2.6. FIFO Output Status Flag and Latency

The main concern in most FIFO design is the output latency of the read and write status signals.
Table 36.  Output Latency of the Status Flags for SCFIFOThis table shows the output latency of the write signal (wrreq) and read signal (rdreq) for the SCFIFO according to the different output modes and optimization options.
Output Mode Optimization Option 17 Output Latency (in number of clock cycles)
Normal 18 Speed wrreq / rdreq to full: 1
wrreq to empty: 2
rdreq to empty: 1
wrreq / rdreq to usedw[]: 1
rdreq to q[]: 1
Area wrreq / rdreq to full: 1
wrreq / rdreq to empty : 1
wrreq / rdreq to usedw[] : 1
rdreq to q[]: 1
Show-ahead 18 Speed wrreq / rdreq to full: 1
wrreq to empty: 3
rdreq to empty: 1
wrreq / rdreq to usedw[]: 1
wrreq to q[]: 3
rdreq to q[]: 1
Area wrreq / rdreq to full: 1
wrreq to empty: 2
rdreq to empty: 1
wrreq / rdreq to usedw[]: 1
wrreq to q[]: 2
rdreq to q[]: 1
Table 37.  ALM Implemented RAM Mode for SCFIFO and DCFIFO
Output Mode Optimization Option 19 Output Latency (in number of clock cycles)
Normal 20 Speed wrreq / rdreq to full: 1
wrreq to empty: 1
rdreq to empty: 1
wrreq / rdreq to usedw[]: 1
rdreq to q[]: 1
Area wrreq / rdreq to full: 1
wrreq / rdreq to empty : 1
wrreq / rdreq to usedw[] : 1
rdreq to q[]: 1
Show-ahead 20 Speed wrreq / rdreq to full: 1
wrreq to empty: 1
rdreq to empty: 1
wrreq / rdreq to usedw[]: 1
wrreq to q[]: 1
rdreq to q[]: 1
Area wrreq / rdreq to full: 1
wrreq to empty: 1
rdreq to empty: 1
wrreq / rdreq to usedw[]: 1
wrreq to q[]: 1
rdreq to q[]: 1
Table 38.  Output Latency of the Status Flag for the DCFIFO This table shows the output latency of the write signal (wrreq) and read signal (rdreq) for the DCFIFO.
Output Latency (in number of clock cycles)
wrreq to wrfull: 1 wrclk
wrreq to rdfull: 2 wrclk cycles + following n rdclk 21
wrreq to wrempty: 1 wrclk
wrreq to rdempty: 2 wrclk 22 + following n rdclk 22
wrreq to wrusedw[]: 2 wrclk
wrreq to rdusedw[]: 2 wrclk + following n + 1 rdclk 22
wrreq to q[]: 1 wrclk + following 1 rdclk 22
rdreq to rdempty: 1 rdclk
rdreq to wrempty: 1 rdclk + following n wrclk 22
rdreq to rfull: 1 rdclk
rdreq to wrfull: 1 rdclk + following n wrclk 22
rdreq to rdusedw[]: 2 rdclk
rdreq to wrusedw[]: 1 rdclk + following n + 1 wrclk 22
rdreq to q[]: 1 rdclk
17 Speed optimization is equivalent to setting the ADD_RAM_OUTPUT_REGISTER parameter to ON. Setting the parameter to OFF is equivalent to area optimization.
18 Normal output mode is equivalent to setting the LPM_SHOWAHEAD parameter to OFF. For Show-ahead mode, the parameter is set to ON.
19 Speed optimization is equivalent to setting the ADD_RAM_OUTPUT_REGISTER parameter to ON. Setting the parameter to OFF is equivalent to area optimization.
20 Normal output mode is equivalent to setting the LPM_SHOWAHEAD parameter to OFF. For Show-ahead mode, the parameter is set to ON.
21 The number of n cycles for rdclk and wrclk is equivalent to the number of synchronization stages and are related to the WRSYNC_DELAYPIPE and RDSYNC_DELAYPIPE parameters. For more information about how the actual synchronization stage (n) is related to the parameters set for different target device, refer to FIFO Metastability Protection and Related Options .
22 This is applied only to Show-ahead output modes. Show-ahead output mode is equivalent to setting the LPM_SHOWAHEAD parameter to ON.