Embedded Memory User Guide: Agilex™ 5 FPGAs and SoCs

ID 813901
Date 4/01/2024
Public
Document Table of Contents

4.2.3.6. FIFO Parameter Settings

Table 31.  FIFO Parameters
Parameter Type Required Description

DATA_WIDTH 10

DATA_WIDTH_A 11

Integer Yes

For SCFIFO, it specifies the width of the data and q ports. For DCFIFO, it specifies the width of the data port only.

DATA_WIDTH_B 11 Integer Yes

Specifies the width of the q port for the DCFIFO_MIXED_WIDTHS FIFO macro. (If similar port data is used, give value as DATA_WIDTH_B = DATA_WIDTH_A)

ADDR_WIDTH 10

ADDR_WIDTH_A 11

Integer Yes Specifies the width of the usedw port for the SCFIFO function, or the width of the rdusedw and wrusedw ports for the DCFIFO function. For the DCFIFO_MIXED_WIDTHS function, it only represents the width of the wrusedw port.
ADDR_WIDTH_B 11 Integer Yes Specifies the width of the rdusedw port for the DCFIFO_MIXED_WIDTHS function.

(If similar port data is used, give value as DATA_WIDTH_B = DATA_WIDTH_A

ENABLE_ACLR 10 String No Specifies whether to set ENABLE_ACLR parameter ON or OFF. Asynchronous clear choice for data output of FIFO.
ENABLE_SCLR 10 String No Specifies whether to ENABLE_SCLR parameter ON or OFF. Synchronous clear choice for data output of FIFO.
MAXIMUM_DEPTH Integer Yes Maximum depth. You can set the preferred maximum depth with MAXIMUM_DEPTH=<depth>. The value assigned must comply with the following equation:
  • For SCFIFO: 2^ADDR_WIDTH
  • For DCFIFO: 2^ADDR_WIDTH_A or 2^ADDR_WIDTH_B
ENABLE_SHOWAHEAD String Yes Specifies whether the FIFO is in normal mode (OFF) or show-ahead mode (ON). For more details, refer to SCFIFO and DCFIFO Look-Ahead Mode section.

If you set the parameter to ON, you may reduce performance.

OVERFLOW_CHECKING String No Specifies whether or not to enable the protection circuitry for overflow checking that disables the wrreq port when the FIFO Intel® FPGA IP core is full. The values are ON or OFF. If omitted, the default is ON.
UNDERFLOW_CHECKING String No Specifies whether or not to enable the protection circuitry for underflow checking that disables the rdreq port when the FIFO Intel® FPGA IP core is empty. The values are ON or OFF. If omitted, the default is ON.

Note that reading from an empty SCFIFO gives unpredictable results.

ADD_USEDW_MSB_BIT 11 String No Increases the width of the rdusedw and wrusedw ports by one bit. By increasing the width, it prevents the FIFO Intel® FPGA IP core from rolling over to zero when it is full. The values are ON or OFF. If omitted, the default value is OFF.
RDSYNC_DELAYPIPE 11

WRSYNC_DELAYPIPE 11

Integer No Specify the number of synchronization stages in the cross clock domain. The value of the rdsync_delaypipe parameter relates the synchronization stages from the write control logic to the read control logic; the wrsync_delaypipe parameter relates the synchronization stages from the read control logic to the write control logic.
WRITE_ACLR_SYNCH 11 String No Specifies whether or not to add a circuit that causes the aclr port to be internally synchronized by the wrclk clock. Adding the circuit prevents the race condition between the wrreq and aclr ports that could corrupt the FIFO Intel® FPGA IP core.

The values are ON or OFF. If omitted, the default value is OFF.

READ_ACLR_SYNCH 11 String No Specifies whether or not to add a circuit that causes the aclr port to be internally synchronized by the rdclk clock. Adding the circuit prevents the race condition between the rdreq and aclr ports that could corrupt the FIFO Intel® FPGA IP core.

The values are ON or OFF. If omitted, the default value is OFF.

RAM_BLOCK_TYPE String No

Specifies the target device’s Memory Block to be used: “Auto”, “MLAB”, “M20K”.

ADD_RAM_OUTPUT_REGISTER 11 String No Specifies whether to register the q output. The values are ON and OFF. If omitted, the default value is OFF.
ALMOST_FULL_VALUE 10 Integer No Sets the threshold value for the almost_full port. When the number of words stored in the FIFO is greater than or equal to this value, the almost_full port is asserted.
ALMOST_EMPTY_VALUE 10 Integer No Sets the threshold value for the almost_empty port. When the number of words stored in the FIFO Intel® FPGA IP core is less than this value, the almost_empty port is asserted.
ALLOW_WRCYCLE_WHEN_FULL 10 String No Allows you to combine read and write cycles to an already full SCFIFO, so that it remains full. The values are ON and OFF. If omitted, the default is OFF. Use only this parameter when the OVERFLOW_CHECKING parameter is set to ON.
BYTE_SIZE Integer Yes Specifies the size of the byte for byteenable mode.
BYTE_EN_WIDTH Integer Yes Width of the byte enable bus at Port A. This width should be equal to DATA_WIDTH (SCFIFO) or DATA_WIDTH_A (DCFIFO) divided by BYTE_SIZE.
10 Only applicable for the SCFIFO function.
11 Only applicable for the DCFIFO function.