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.1.1. Synchronous FIFO Parameterizable Macro Port Descriptions

Table 5.  Synchronous FIFO Parameterizable Macro Port Descriptions
Port Type Required Description
clock Input Yes Positive-edge-triggered clock.
data Input Yes Holds the data to be written in the FIFO when the wrreq signal is asserted. The port width is equal to the DATA_WIDTH parameter.
wrreq Input Yes Assert this signal to request for a write operation.

Ensure that the following conditions are met:

  • Do not assert the wrreq signal when the full port is high. Enable the overflow protection circuitry or set the OVERFLOW_CHECKING parameter to ON so that the FIFO can automatically disable the wrreq signal when it is full.
  • The wrreq signal must meet the functional timing requirement based on the full signal.
  • Do not assert the wrreq signal during the deassertion of the aclr signal. Violating this requirement creates a race condition between the falling edge of the aclr signal and the rising edge of the write clock if the wrreq port is set to high.
rdreq Input Yes Assert this signal to request for a read operation. The rdreq signal acts differently in normal mode and show-ahead mode.

Ensure that the following conditions are met:

  • Do not assert the rdreq signal when the empty port is high. Enable the underflow protection circuitry or set the UNDERFLOW_CHECKING parameter to ON so that the FIFO can automatically disable the rdreq signal when it is empty.
  • The rdreq signal must meet the functional timing requirement based on the empty signal.
sclr/aclr Input No Assert this signal to clear all the output status ports, but the effect on the q output may vary for different FIFO configurations.
q Output Yes Shows the data read from the read request operation.

The width of the q port must be equal to the width of the data port. The port width is equal to the DATA_WIDTH parameter.

full

Output No

When asserted, the FIFO is considered full. Do not perform write request operation when the FIFO is full.

empty

Output No

When asserted, the FIFO is considered empty. Do not perform read request operation when the FIFO is empty.

almost_full Output No

Asserted when the usedw signal is greater than or equal to the ALMOST_FULL_VALUE parameter. It is used as an early indication of the full signal.

almost_empty Output No

Asserted when the usedw signal is lesser than the ALMOST_EMPTY_VALUE parameter. It is used as an early indication of the empty signal.

usedw

Output No Show the number of words stored in the FIFO.

Port width must be equal to the ADDR_WIDTH parameter.

byteena Input Yes

Byte enable port at Port A to masks the data_a port so that only specific bits of data are written to the memory.

This port is enabled in FIFO because the simple RAM supports data with BYTE_SIZE.