User Flow Control Interface - 11.1 English

Aurora 8B/10B LogiCORE IP Product Guide (PG046)

Document ID
PG046
Release Date
2023-10-19
Version
11.1 English

The UFC interface is created when the core is generated with UFC enabled (This Figure). UFC s_axi_ufc_tx_tvalid and s_axi_ufc_tx_tready ports on the TX side start the UFC message and a 3-bit s_axi_ufc_tx_tdata port specifies the length of the message. With s_axi_ufc_tx_tready asserted, the UFC message can be supplied to the data port.

Figure 2-16:      Aurora 8B/10B Core UFC Interface

X-Ref Target - Figure 2-16

pg046_8b10b_core_ufc_interface.jpg

The RX side of the UFC interface consists of a set of AXI4-Stream ports that allows the UFC message to be read as a frame. Simplex modules retain only the interface needed to send data in the supported direction.

Table: UFC I/O Ports describes the ports for the UFC interface.

Table 2-7:      UFC I/O Ports

Name

Direction

Clock Domain

Description

UFC_S_AXIS_TX

s_axi_ufc_tx_tvalid

Input

user_clk

Asserted to request a UFC message be sent to the channel partner. Must be held until s_axi_ufc_tx_tready is asserted. Do not assert this signal unless the entire UFC message is ready to be sent; a UFC message cannot be interrupted after it has started.

s_axi_ufc_tx_tdata[0:2] or s_axi_ufc_tx_tdata[2:0]

Input

user_clk

Specifies the size of the UFC message that is sent. The SIZE encoding is a value between 0 and 7. See Table: SIZE Encoding.

s_axi_ufc_tx_tready

Output

user_clk

Asserted when an Aurora 8B/10B core is ready to read the contents of the UFC message. On the cycle after the s_axi_ufc_tx_tready signal is asserted, data on the s_axi_tx_tdata port is treated as UFC data. s_axi_tx_tdata data continues to be used to fill the UFC message until enough cycles have passed to send the complete message. Unused bytes from a UFC cycle are discarded.

UFC_M_AXIS_RX

m_axi_ufc_rx_tdata[0:(8n–1)] or m_axi_ufc_rx_tdata[(8n–1):0]

Output

user_clk

Incoming UFC message data from the channel partner (n = 16 bytes maximum).

m_axi_ufc_rx_tvalid

Output

user_clk

Asserted when the values on the m_axi_ufc_rx_tdata ports are valid.

m_axi_ufc_rx_tlast

Output

user_clk

Signals the end of the incoming UFC message.

m_axi_ufc_rx_tkeep[0:(n–1)] or m_axi_ufc_rx_tkeep[(n–1):0]

Output

user_clk

Specifies the number of valid bytes of data presented on the m_axi_ufc_rx_tdata port on the last word of a UFC message. Valid only when m_axi_ufc_rx_tlast is asserted (n = 16 bytes maximum).