Parameterizable Macros for Intel® FPGAs User Guide

ID 772350
Date 9/30/2024
Public
Document Table of Contents

3.1.2. Synchronous FIFO Parameterizable Macro Parameters

Table 6.  SYNC_FIFO Parameterizable Macro Parameters
Parameter Allowed Values Description
DATA_WIDTH Device and ADDR_WIDTH dependent Specifies the width of the data and q ports. The default value is 8.
ADDR_WIDTH Device and DATA_WIDTH dependent Specifies the width of the usedw port. The default value is 11.
ENABLE_ACLR

ON

OFF

Specifies whether to set ENABLE_ACLR parameter ON or OFF. Asynchronous clear choice for data output of FIFO.
ENABLE_SCLR

ON

OFF

Specifies whether to ENABLE_SCLR parameter ON or OFF. Synchronous clear choice for data output of FIFO.
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 IP to output the next data word, if available.

Setting ON to this parameter may reduce performance.

MAXIMUM_DEPTH AUTO, 32, 64, 128, 256, 512, 1024, 2048 (default), 4096, 8192, 16384

Specifies the available slicing depth of the RAM slices.

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.

Note that reading from an empty SCFIFO gives unpredictable results.

ADD_RAM_OUTPUT_REGISTER

ON

OFF

Specifies whether to register the q output. The values are ON and OFF. The default value is OFF.
ALMOST_FULL_VALUE 1 (default) 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 1 (default) Sets the threshold value for the almost_empty port. When the number of words stored in the FIFO is lesser than this value, the almost_empty port is asserted.
ALLOW_RWCYCLE_WHEN_FULL

ON

OFF

Allows you to combine read and write cycles to an already full SCFIFO, so that it remains full. The values are ON and OFF. The default is OFF. Use this parameter only when the OVERFLOW_CHECKING parameter is set to ON.
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 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.