Parameterizable Macros for Intel® FPGAs User Guide

ID 772350
Date 4/10/2024
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

3.2.2. Asynchronous FIFO Parameterizable Macro Parameters

Table 8.  ASYNC_FIFO Parameterizable Macro Parameters
Parameter Allowed Values Description
DATA_WIDTH_A Device and ADDR_WIDTH_A dependent Specifies the width of the data and q ports. For ASYNC_FIFO, this parameter specifies only the width of the data port. The default value is 8.
DATA_WIDTH_B Device and ADDR_WIDTH_B dependent Specifies the width of the q port for ASYNC_FIFO mixed width FIFO macro (If similar port data is used, give value as DATA_WIDTH_B = DATA_WIDTH_A). The default value is 8.
ADDR_WIDTH_A Device and DATA_WIDTH_A dependent Specifies the width of the rdusedw and wrusedw ports for ASYNC_FIFO. For ASYNC_FIFO mixed width, it only represents the width of the wrusedw port. The default value is 11.
ADDR_WIDTH_B Device and DATA_WIDTH_B dependent Specifies the width of the rdusedw ports for ASYNC_FIFO mixed width FIFO (If similar port data is used, give value as ADDR_WIDTH_B = ADDR_WIDTH_A). The default value is 11.
ENABLE_SHOWAHEAD

ON

OFF

Specifies whether the FIFO is in normal mode (OFF) or show-ahead mode (ON).

For normal mode, the FIFO treats the rdreq port as a normal read request that only performs read operation when the port is asserted.

For show-ahead mode, FIFO treats the rdreq port as a read-acknowledge that automatically outputs the first word of valid data in the FIFO (when the empty port is low) without asserting the rdreq signal. Asserting the rdreq signal causes the FIFO to output the next data word, if available.

Setting ON to this parameter may reduce performance.

OVERFLOW CHECKING

ON

OFF

Specifies whether or not to enable the protection circuitry for overflow checking that disables the wrreq port when the FIFO is full. The values are ON or OFF. If omitted, the default is ON.
UNDERFLOW_CHECKING

ON

OFF

Specifies whether or not to enable the protection circuitry for underflow checking that disables the rdreq port when the FIFO is empty. The values are ON or OFF. If omitted, the default is ON.
ADD_USEDW_MSB_BIT

ON

OFF

Increases the width of the rdusedw and wrusedw ports by one bit. By increasing the width, it prevents the FIFO from rolling over to zero when it is full. The values are ON or OFF. The default value is OFF.

RDSYNC_DELAYPIPE

WRSYNC_DELAYPIPE

2 (default) 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.
MAXIMUM_DEPTH AUTO, 32, 64, 128, 256, 512, 1024, 2048 (default), 4096, 8192, 16384 Specifies the available slicing depth of the RAM slices.
WRITE_ACLR_SYNC

ON

OFF

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. The values are ON or OFF. The default value is OFF.
READ_ACLR_SYNC

ON

OFF

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. The values are ON or OFF. The default value is OFF.
ADD_RAM_OUTPUT_REGISTER

ON

OFF

Specifies whether to register the q output. The values are ON and OFF. The default value is OFF.
BYTE_SIZE

5

8 (default)

9

10

Specifies the size of the byte for byte-enable mode
BYTE_EN_WIDTH 1 (default)

Width of the byte-enable bus at Port A.

This width should be equal to DATA_WIDTH_A divided by BYTE_SIZE.

Note: The Quartus® Prime Pro Edition software version 23.2 includes the following parameter changes with respect to prior parameterizable macros versions. If you are using a software version earlier than 23.2, you must update your RTL code accordingly:
  1. The parameter RAM_BLOCK_TYPE (AUTO, MLAB, M20K) is removed in Quartus® Prime Pro Edition software version 23.2 and later.
  2. The parameter MAXIMUM_DEPTH allowed values are only AUTO, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, and 16384 in Quartus® Prime Pro Edition software version 23.2 and later.