Flex Interface Signaling for 50G FEC-Only Operation - 2.3 English

Versal Adaptive SoC 600G Channelized Multirate Ethernet Subsystem (DCMAC) LogiCORE IP Product Guide (PG369)

Document ID
PG369
Release Date
2023-11-08
Version
2.3 English

FLEX I/F 50G FEC-only operation uses a 2 x 80-bit data bus. Up to 12 50G ports can be active.

Table 1. 12 x 50G FEC-Only Signaling for Flex Interface
Port Interface Function Signaling
0 RX FLEX I/F enable rx_flex_ena_0
codeword start at data[159] rx_flex_start_0
codeword start at data[319] rx_flex_startb_0
dout flags[3:0] for data[159:0] rx_flex_fec_rx_dout_flags_0[3:0]
dout flags[3:0] for data[319:160] rx_flex_fec_rx_dout_flagsb_0[3:0]
data[159:0] rx_flex_data_0[159:0]
data[319:160] rx_flex_data_1[159:0]
TX FLEX I/F enable for data[159:0] tx_flex_ena_0
enable for data[319:160] tx_flex_enab_0
codeword start at data[159] tx_flex_start_0
codeword start at data[319] tx_flex_startb_0
stall tx_flex_stall_0
data[159:0] tx_flex_data_0[159:0]
data[319:160] tx_flex_data_1[159:0]
1 RX FLEX I/F enable rx_flex_ena_1
codeword start at data[159] rx_flex_start_1
codeword start at data[319] rx_flex_startb_1
dout flags[3:0] for data[159:0] rx_flex_fec_rx_dout_flags_1[3:0]
dout flags[3:0] for data[319:160] rx_flex_fec_rx_dout_flagsb_1[3:0]
data[159:0] rx_flex_data_1[159:0]
data[319:160] rx_flex_data_2[159:0]
TX FLEX I/F enable for data[159:0] tx_flex_ena_1
enable for data[319:160] tx_flex_enab_1
codeword start at data[159] tx_flex_start_1
codeword start at data[319] tx_flex_startb_1
stall tx_flex_stall_1
data[159:0] tx_flex_data_1[159:0]
data[319:160] tx_flex_data_2[159:0]
2 RX FLEX I/F enable rx_flex_ena_2
codeword start at data[159] rx_flex_start_2
codeword start at data[319] rx_flex_startb_2
dout flags[3:0] for data[159:0] rx_flex_fec_rx_dout_flags_2[3:0]
dout flags[3:0] for data[319:160] rx_flex_fec_rx_dout_flagsb_2[3:0]
data[159:0] rx_flex_data_2[159:0]
data[319:160] rx_flex_data_3[159:0]
TX FLEX I/F enable for data[159:0] tx_flex_ena_2
enable for data[319:160] tx_flex_enab_2
codeword start at data[159] tx_flex_start_2
codeword start at data[319] tx_flex_startb_2
stall tx_flex_stall_2
data[159:0] tx_flex_data_2[159:0]
data[319:160] tx_flex_data_3[159:0]
3 RX FLEX I/F enable rx_flex_ena_3
codeword start at data[159] rx_flex_start_3
codeword start at data[319] rx_flex_startb_3
dout flags[3:0] for data[159:0] rx_flex_fec_rx_dout_flags_3[3:0]
dout flags[3:0] for data[319:160] rx_flex_fec_rx_dout_flagsb_3[3:0]
data[159:0] rx_flex_data_3[159:0]
data[319:160] rx_flex_data_4[159:0]
TX FLEX I/F enable for data[159:0] tx_flex_ena_3
enable for data[319:160] tx_flex_enab_3
codeword start at data[159] tx_flex_start_3
codeword start at data[319] tx_flex_startb_3
stall tx_flex_stall_3
data[159:0] tx_flex_data_3[159:0]
data[319:160] tx_flex_data_4[159:0]
4 RX FLEX I/F enable rx_flex_ena_4
codeword start at data[159] rx_flex_start_4
codeword start at data[319] rx_flex_startb_4
dout flags[3:0] for data[159:0] rx_flex_fec_rx_dout_flags_4[3:0]
dout flags[3:0] for data[319:160] rx_flex_fec_rx_dout_flagsb_4[3:0]
data[159:0] rx_flex_data_4[159:0]
data[319:160] rx_flex_data_5[159:0]
TX FLEX I/F enable for data[159:0] tx_flex_ena_4
enable for data[319:160] tx_flex_enab_4
codeword start at data[159] tx_flex_start_4
codeword start at data[319] tx_flex_startb_4
stall tx_flex_stall_4
data[159:0] tx_flex_data_4[159:0]
data[319:160] tx_flex_data_5[159:0]
5 RX FLEX I/F enable rx_flex_ena_5
codeword start at data[159] rx_flex_start_5
codeword start at data[319] rx_flex_startb_5
dout flags[3:0] for data[159:0] rx_flex_fec_rx_dout_flags_5[3:0]
dout flags[3:0] for data[319:160] rx_flex_fec_rx_dout_flagsb_5[3:0]
data[159:0] rx_flex_data_5[159:0]
data[319:160] rx_flex_data_6[159:0]
TX FLEX I/F enable for data[159:0] tx_flex_ena_5
enable for data[319:160] tx_flex_enab_5
codeword start at data[159] tx_flex_start_5
codeword start at data[319] tx_flex_startb_5
stall tx_flex_stall_5
data[159:0] tx_flex_data_5[159:0]
data[319:160] tx_flex_data_6[159:0]