The following figure shows the USER-K interface ports for a single-lane design with the USER-K interface enabled.
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.
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}. |
|
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.
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.
The following figure shows the USER-K format in little-endian mode.