Visible to Intel only — GUID: eis1414463786562
Ixiasoft
Visible to Intel only — GUID: eis1414463786562
Ixiasoft
4.2.3.5. FIFO Signals
For the SCFIFO block, the read and write signals are synchronized to the same clock; for the DCFIFO block, the read and write signals are synchronized to the rdclk and wrclk clocks respectively. The prefixes wr and rd represent the signals that are synchronized by the wrclk and rdclk clocks respectively.
Port | Type | Required | Description |
---|---|---|---|
clock 11 | Input | Yes | Positive-edge-triggered clock. |
wrclk 12 | Input | Yes | Positive-edge-triggered clock. Use to synchronize the following ports:
|
rdclk 12 | Input | Yes | Positive-edge-triggered clock. Use to synchronize the following ports:
|
data 13 | Input | Yes | Holds the data to be written in the FIFO Intel® FPGA IP core when the wrreq signal is asserted. The port width is equal to the DATA_WIDTH parameter. |
wrreq 13 | Input | Yes | Assert this signal to request for a write operation. Ensure that the following conditions are met:
|
rdreq 13 | 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:
|
sclr 11 aclr 13 |
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. There are no minimum number of clock cycles for aclr signals that must remain active. By default, the aclr port is enabled. Make sure either aclr or sclr port is enabled and included in the design to ensure the correct functionality of the FIFO. |
q 13 | Output | Yes | Shows the data read from the read request operation. For the SCFIFO function and DCFIFO function, the width of the q port must be equal to the width of the data port. If you manually instantiate the FIFO functions, ensure that the port width is equal to the DATA_WIDTH (SCFIFO) or DATA_WIDTH_A (DCFIFO) parameter. For the DCFIFO_MIXED_WIDTHS function, the width of the q port can be different from the width of the data port. If you manually instantiate the FIFO function, ensure that the width of the q port is equal to the DATA_WIDTH_B parameter. The FIFO function supports a wide write port with a narrow read port, and vice versa. However, the width ratio is restricted by the type of RAM block, and in general, are in the power of 2. |
full 11 wrfull 12 rdfull 12 |
Output | No | When asserted, the FIFO is considered full. Do not perform write request operation when the FIFO is full. FOr DCFIFO, the rdfull signal functions as a combinational output instead of a derived version of the wrfull signal. Therefore, you must always refer to the wrfull port to ensure whether or not a valid write request operation can be performed, regardless of the target device. |
empty 11 wrempty 12 rdempty 12 |
Output | No | When asserted, the FIFO core is considered empty. Do not perform read request operation when the FIFO core is empty. For DCFIFO, the wrempty signal functions as a combinational output instead of a derived version of the rdempty signal. Therefore, you must always refer to the rdempty port to ensure whether or not a valid read request operation can be performed, regardless of the target device. |
almost_full 11 | 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 11 | Output | No | Asserted when the usedw signal is less than the ALMOST_EMPTY_VALUE parameter. It is used as an early indication of the empty signal. 14 |
usedw 11 wrusedw 12 rdusedw 12 |
Output | No | Show the number of words stored in the FIFO.
If you manually instantiate the SCFIFO function or the DCFIFO function:
The FIFO shows full even before the number of words stored reaches its maximum value. Therefore, you must always refer to the full or wrfull port for valid write request operation, and the empty or rdempty port for valid read request operation regardless of the target device. |
byteena | Input | Yes | Byte enable port at Port A to mask 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 (SCFIFO) or pseudo RAM (DCFIFO) supports data with BYTE_SIZE. |
The DCFIFO function rdempty output may momentarily glitch when the aclr input is asserted. To prevent an external register from capturing this glitch incorrectly, ensure that one of the following is true:
- The external register must use the same reset which is connected to the aclr input of the DCFIFO function, or
- The reset connected to the aclr input of the DCFIFO function must be asserted synchronous to the clock which drives the external register.
The output latency information of the FIFO Intel® FPGA IP core is important, especially for the q output port, because there is no output flag to indicate when the output is valid to be sampled.