USER-K Block Interface - 12.0 English

Aurora 64B/66B LogiCORE IP Product Guide (PG074)

Document ID
PG074
Release Date
2023-11-17
Version
12.0 English

The following figure shows the USER-K interface ports for a single-lane design with the USER-K interface enabled.

Figure 1. USER-K Port Interface

USER-K blocks are special, single-block codes that include control blocks passed directly to the user application without being decoded by the Aurora 64B/66B interface. These blocks can be used to implement application-specific control functions and have a lower priority than UFC blocks but higher than user data blocks.

The following table lists the USER-K interface ports.

Table 1. USER-K Interface Ports
Name Direction Clock Domain Description
USER_K_S_AXIS_TX
s_axi_user_k_tx_tdata[0:(64 n –1)] or s_axi_user_k_tx_tdata[(64 n –1):0](1) Input user_clk

USER-K block data is 64-bit aligned.

Signal Mapping per lane:

Default:

s_axi_user_k_tx_tdata={{4'h0,user_k_blk_no[0:3],user_k_data[55:0]}*n}

Little endian format:

s_axi_user_k_tx_tdata={{user_k_data[55:0],4'h0,user_k_blk_no[3:0]}*n}.

s_axi_user_k_tx_tvalid Input user_clk Indicates valid User-K data on the s_axi_user_k_tx_tdata port.
s_axi_user_k_tx_tready Output user_clk Indicates the Aurora 64B/66B core is ready to accept data on the s_axi_user_k_tx_tdata interface.
USER_K_M_AXIS_RX
m_axi_rx_user_k_tvalid Output user_clk Indicates valid User-K data on the m_axi_user_k_tx_tdata port.
m_axi_rx_user_k_tdata or m_axi_rx_user_k_tdata[(64 n –1):0](1) Output user_clk

Received USER-K blocks from the Aurora 64B/66B lane are 64-bit aligned.

Signal Mapping per lane:

Default:

m_axi_rx_user_k_tdata=

{{4'h0,user_k_blk_no[0:3],user_k_data[55:0]}*n}

Little endian format:

m_axi_rx_user_k_tdata=

{{user_k_data[55:0],4'h0,user_k_blk_no[3:0]}*n}.

  1. n is the number of lanes.

The USER-K block is not differentiated for streaming or framing designs. Each USER-K block is eight-bytes wide and is encoded with a USER-K BTF value as specified in the following table. The BTF value is indicated by the user application in the s_axi_user_k_tx_tdata port as a USER-K block number. The USER-K block is a single block code and always delineated by a USER-K block number. Provide the USER-K block with the block number as specified in the following two figures. The USER-K block data is limited to the specified seven bytes of the s_axi_user_k_tx_tdata port.

Table 2. USER-K Block Valid Block Type Field (BTF) Values
USER-K Block Number USER-K Block BTF
USER-K Block 0 0xD2
USER-K Block 1 0x99
USER-K Block 2 0x55
USER-K Block 3 0xB4
USER-K Block 4 0xCC
USER-K Block 5 0x66
USER-K Block 6 0x33
USER-K Block 7 0x4B
USER-K Block 8 0x87

The following figure shows the USER-K format in default (big-endian) mode.

Figure 2. USER-K Format in Default Mode
Page-1 Rectangle.427 Sheet.2 0:3 (zeros) 0:3 (zeros) Sheet.3 4:7 (user K) 4:7 (user K) Sheet.4 8:63 (data) 8:63 (data) Sheet.5 Sheet.6

The following figure shows the USER-K format in little-endian mode.

Figure 3. USER-K Format in Little-Endian Mode
Page-1 Rectangle.427 Sheet.2 7:4 (zeros) 7:4 (zeros) Sheet.3 3:0 (user K) 3:0 (user K) Sheet.4 63:8 (data) 63:8 (data) Sheet.5 Sheet.6