50G Interlaken Intel® FPGA IP User Guide

ID 683217
Date 10/31/2022
Public
Document Table of Contents

4.5.1.3. 50G Interlaken IP Core Back-Pressured Packet Transfer Example

Figure 13. Packet Transfer on Transmit Interface with Back Pressure

This example illustrates the expected behavior of the 50G Interlaken application interface transmit signals during a packet transfer with back pressure.

In this example, the 50G Interlaken IP Core accepts the first four data symbols (128 bytes) of a data packet. The clock cycles in which the application transfers the data values d2 and d3 to the 50G Interlaken IP Core are grace-period cycles following the 50G Interlaken IP Core's de-assertion of itx_ready.

The 50G Interlaken IP Core supports up to 4 cycles of grace period, enabling you to register the input data and control signals, as well as the itx_ready signal, without changing functionality. The grace period supports your design in achieving timing closure more easily. In any case you must ensure that you hold itx_num_valid at the value of 0 when you are not driving data.

You can think of this interface as a FIFO write interface. When itx_num_valid[2:0] is nonzero, both data and control information (including itx_num_valid[2:0] itself) are written to the transmit side data interface. The itx_ready signal is the inverse of a hypothetical FIFO-almost-full flag. When itx_ready is high, the 50G Interlaken IP Core is ready to accept data. When itx_ready is low, you can continue to send data for another 6 to 8 clock cycles of tx_usr_clk.