2.5. Fractured MAC SOP-Aligned Client Interface for FGT Transceivers
The datapath interface consists of a fractured interface where the same set of signals is re-used for a single or multiple port datapath connections.
The following tables displays the ports details and the supported variants for each of the reconfiguration groups. The mode selection refers to the Ethernet mode parameter in the F-Tile Ethernet Multirate IP core Profile # IP Configuration tab.
Top Level Interface | Mode | TX Interface | RX Interface |
---|---|---|---|
i_tx_data[63:0] i_tx_valid i_tx_startofpacket i_tx_endofpacket i_tx_empty[2:0] 0_tx_ready i_tx_error i_tx_skip_crc o_rx_data[63:0] o_rx_valid o_rx_startofpacket 0_rx_endofpacket o_rx_empty[2:0] o_rx_error[5:0] o_rxstatus_data[39:0] o_rxstatus_valid |
1x 10GE-1/ 1x 25G-1 |
Port 0: i_tx_data[63:0] i_tx_valid i_tx_startofpacket i_tx_endofpacket o_tx_ready i_tx_error i_tx_skip_crc |
Port 0: o_rx_data[63:0] o_rx_valid o_rx_startofpacket o_rx_endofpacket o_rx_empty[2:0] o_rx_error[5:0] o_rxstatus_data[39:0] o_rxstatus_valid |
Top Level Interface | Mode | TX Interface | RX Interface |
---|---|---|---|
i_tx_data[127:0] i_tx_valid[0] i_tx_startofpacket[0] i_tx_endofpacket[0] i_tx_empty[5:0] o_tx_ready[0] i_tx_preamble[63:0] i_tx_error[0] i_tx_skip_crc[0] o_rx_data[127:0] o_rx_valid[0] o_rx_startofpacket[0] o_rx_endofpacket[0] o_rx_empty[5:0] o_rx_error[5:0] o_rxstatus_data[39:0] o_rxstatus_valid[0] o_rx_preamble[63:0] |
1x 10GE-1/ 1x 25GE-1 |
Port 0: i_tx_data[63:0] i_tx_valid[0] i_tx_startofpacket[0] i_tx_endofpacket[0] i_tx_empty[2:0] o_tx_ready[0] i_tx_error[0] i_tx_skip_crc[0] |
Port 0: o_rx_data[63:0] o_rx_valid[0] o_rx_startofpacket[0 o_rx_endofpacket[0] o_rx_empty[2:0] o_rx_error[5:0] o_rxstatus_data[39:0] o_rxstatus_valid[0] |
1x 50GE-1 |
Port 0: i_tx_data[127:0] i_tx_valid[0] i_tx_startofpacket[0] i_tx_endofpacket[0] i_tx_empty[3:0] o_tx_ready[0] i_tx_preamble[63:0] i_tx_error[0] i_tx_skip_crc[0] |
Port 0: o_rx_data[127:0] o_rx_valid[0] o_rx_startofpacket[0 o_rx_endofpacket[0] o_rx_empty[3:0] o_rx_error[5:0] o_rxstatus_data[39:0] o_rxstatus_valid[0] o_rx_preamble[63:0] |
Top Level Interface | Mode | TX Interface | RX Interface |
---|---|---|---|
i_tx_data[511:0] i_tx_valid[3:0] i_tx_startofpacket[3:0] i_tx_endofpacket[3:0] i_tx_empty[11:0] o_tx_ready[3:0] i_tx_preamble[127:0] i_tx_error[3:0] i_tx_skip_crc[3:0] o_rx_data[511:0] o_rx_valid[3:0] o_rx_startofpacket[3:0] o_rx_endofpacket[3:0] o_rx_empty[11:0] o_rx_error[23:0] o_rxstatus_data[159:0] o_rxstatus_valid[3:0] o_rx_preamble[127:0] |
4x10GE-1/ 4x 25GE-1 |
Port 0: i_tx_data[63:0] i_tx_valid[0] i_tx_startofpacket[0] i_tx_endofpacket[0] i_tx_empty[2:0] o_tx_ready[0] i_tx_error[0] i_tx_skip_crc[0] Port 1:i_tx_data[127:64] i_tx_valid[1] i_tx_startofpacket[1] i_tx_endofpacket[1] i_tx_empty[5:3] o_tx_ready[1] i_tx_error[1] i_tx_skip_crc[1] Port 2: i_tx_data[191:128] i_tx_valid[2] i_tx_startofpacket[2] i_tx_endofpacket[2] i_tx_empty[8:6] o_tx_ready[2] i_tx_error[2] i_tx_skip_crc[2] Port 3: i_tx_data[255:192] i_tx_valid[3] i_tx_startofpacket[3] i_tx_endofpacket[3] i_tx_empty[11:9] o_tx_ready[3] i_tx_error[3] i_tx_skip_crc[3] |
Port 0: o_rx_data[63:0] o_rx_valid[0] o_rx_startofpacket[0] o_rx_endofpacket[0] o_rx_empty[2:0] o_rx_error[5:0] o_rxstatus_data[39:0] o_rxstatus_valid[0] Port 1: o_rx_data[127:64] o_rx_valid[1] o_rx_startofpacket[1] o_rx_endofpacket[1] o_rx_empty[5:3] o_rx_error[11:6] o_rxstatus_data[79:40] o_rxstatus_valid[1] Port 2: o_rx_data[191:128] o_rx_valid[2] o_rx_startofpacket[2] o_rx_endofpacket[2] o_rx_empty[8:6] o_rx_error[17:12] o_rxstatus_data[119:80] o_rxstatus_valid[2] Port 3: o_rx_data[255:192] o_rx_valid[3] o_rx_startofpacket[3] o_rx_endofpacket[3] o_rx_empty[11:9] o_rx_error[23:18] o_rxstatus_data[159:120] o_rxstatus_valid[3] |
2x 50GE-2/ 2x 50GE-1 |
Port 0: i_tx_data[127:0] i_tx_valid[0] i_tx_startofpacket[0] i_tx_endofpacket[0] i_tx_empty[3:0] o_tx_ready[0] i_tx_preamble[63:0] i_tx_error[0] i_tx_skip_crc[0] Port 2: i_tx_data[255:128] i_tx_valid[2]i_tx_startofpacket[2] i_tx_endofpacket[2] i_tx_empty[7:4] o_tx_ready[2] i_tx_preamble[127:64] i_tx_error[2] i_tx_skip_crc[2] |
Port 0: o_rx_data[127:0] o_rx_valid[0] o_rx_startofpacket[0] o_rx_endofpacket[0] o_rx_empty[3:0] o_rx_error[5:0] o_rxstatus_data[39:0] o_rxstatus_valid[0] o_rx_preamble[63:0] Port 2: o_rx_data[255:128] o_rx_valid[2] o_rx_startofpacket[2] o_rx_endofpacket[2] o_rx_empty[7:4] o_rx_error[17:12] o_rxstatus_data[119:80] o_rxstatus_valid[2] o_rx_preamble[127:64] |
|
1x 40GE-4 |
Port 0: i_tx_data[127:0] i_tx_valid[0] i_tx_startofpacket[0] i_tx_endofpacket[0] i_tx_empty[3:0] o_tx_ready[0] i_tx_preamble[63:0] i_tx_error[0] i_tx_skip_crc[0] |
Port 0: o_rx_data[127:0] o_rx_valid[0] o_rx_startofpacket[0] o_rx_endofpacket[0] o_rx_empty[3:0] o_rx_error[5:0] o_rxstatus_data[39:0] o_rxstatus_valid[0] o_rx_preamble[63:0] |
|
1x 100GE-4/ 1x 100GE-2 |
Port 0: i_tx_data[511:0] i_tx_valid[0] i_tx_startofpacket[0] i_tx_endofpacket[0] i_tx_empty[5:0] o_tx_ready[0] i_tx_error[0]i_tx_skip_crc[0] |
Port 0: o_rx_data[511:0] o_rx_valid[0] o_rx_startofpacket[0] o_rx_endofpacket[0] o_rx_empty[5:0] o_rx_error[5:0] o_rxstatus_data[39:0] o_rxstatus_valid[0] |
Top Level Interface | Mode | TX Interface | RX Interface |
---|---|---|---|
i_tx_data[511:0] i_tx_valid[1:0] i_tx_startofpacket[1:0] i_tx_endofpacket[1:0] i_tx_empty[11:0] o_tx_ready[1:0] i_tx_preamble[127:0] i_tx_error[1:0] i_tx_skip_crc[1:0] o_rx_data[511:0] o_rx_valid[1:0] o_rx_startofpacket[1:0] o_rx_endofpacket[1:0] o_rx_empty[11:0] o_rx_error[11:0] o_rxstatus_data[79:0] o_rxstatus_valid[1:0] o_rx_preamble[127:0] |
1x 100GE-2 |
Port 0: i_tx_data[511:0] i_tx_valid[0] i_tx_startofpacket[0] i_tx_endofpacket[0] i_tx_empty[5:0] o_tx_ready[0] i_tx_error[0]i_tx_skip_crc[0] |
Port 0: o_rx_data[511:0] o_rx_valid[0] o_rx_startofpacket[0] o_rx_endofpacket[0] o_rx_empty[5:0] o_rx_error[5:0] o_rxstatus_data[39:0] o_rxstatus_valid[0] |
2x 50GE-1 |
Port 0: i_tx_data[127:0] i_tx_valid[0] i_tx_startofpacket[0] i_tx_endofpacket[0] i_tx_empty[3:0] o_tx_ready[0] i_tx_preamble[63:0] i_tx_error[0] i_tx_skip_crc[0] Port 1: i_tx_data[255:128] i_tx_valid[1] i_tx_startofpacket[1] i_tx_endofpacket[1] i_tx_empty[7:4] o_tx_ready[1] i_tx_preamble[127:64] i_tx_error[1] i_tx_skip_crc[1] |
Port 0: o_rx_data[127:0] o_rx_valid[0] o_rx_startofpacket[0] o_rx_endofpacket[0] o_rx_empty[3:0] o_rx_error[5:0] o_rxstatus_data[39:0] o_rxstatus_valid[0] o_rx_preamble[63:0] Port 1: o_rx_data[255:128] o_rx_valid[1] o_rx_startofpacket[1] o_rx_endofpacket[1] o_rx_empty[7:4] o_rx_error[11:6] o_rxstatus_data[79:40] o_rxstatus_valid[1] o_rx_preamble[127:64] |
|
2x 25GE-1/ 2x 10GE-1 |
Port 0: i_tx_data[63:0] i_tx_valid[0] i_tx_startofpacket[0] i_tx_endofpacket[0] i_tx_empty[2:0] o_tx_ready[0] i_tx_error[0] i_tx_skip_crc[0] Port 1: i_tx_data[127:64] i_tx_valid[1] i_tx_startofpacket[1] i_tx_endofpacket[1] i_tx_empty[5:3] o_tx_ready[1] i_tx_error[1] i_tx_skip_crc[1] |
Port 0: o_rx_data[63:0] o_rx_valid[0] o_rx_startofpacket[0] o_rx_endofpacket[0] o_rx_empty[2:0] o_rx_error[5:0] o_rxstatus_data[39:0] o_rxstatus_valid[0] Port 1: o_rx_data[127:64] o_rx_valid[1] o_rx_startofpacket[1] o_rx_endofpacket[1] o_rx_empty[5:3] o_rx_error[11:6] o_rxstatus_data[79:40] o_rxstatus_valid[1] |
|
1x 50GE-2 |
Port 0: i_tx_data[127:0] i_tx_valid[0] i_tx_startofpacket[0] i_tx_endofpacket[0] i_tx_empty[3:0] o_tx_ready[0] i_tx_preamble[63:0] i_tx_error[0] i_tx_skip_crc[0] |
Port 0: o_rx_data[127:0] o_rx_valid[0] o_rx_startofpacket[0] o_rx_endofpacket[0] o_rx_empty[3:0] o_rx_error[5:0] o_rxstatus_data[39:0] o_rxstatus_valid[0] o_rx_preamble[63:0] |
Top Level Interface | Mode | TX Interface | RX Interface |
---|---|---|---|
i_tx_mac_data[1023:0] i_tx_mac_valid[3:0] i_tx_mac_inframe[15:0] i_tx_mac_eop_empty[47:0] o_tx_mac_ready[3:0] i_tx_mac_error[15:0] i_tx_mac_skip_crc[15:0] o_rx_mac_data[1023:0] o_rx_mac_valid[3:0] o_rx_mac_inframe[15:0] o_rx_mac_eop_empty[47:0] o_rx_mac_fcs_error[15:0] o_rx_mac_error[31:0] o_rx_mac_status[47:0] |
1x 400GE-8 |
Port 0: i_tx_mac_data[1023:0] i_tx_mac_valid[0] i_tx_mac_inframe[15:0] i_tx_mac_eop_empty[47:0] o_tx_mac_ready[0] i_tx_mac_error[15:0] i_tx_mac_skip_crc[15:0] |
Port 0: o_rx_mac_data[1023:0] o_rx_mac_valid[3:0] o_rx_mac_inframe[15:0] o_rx_mac_eop_empty[47:0] o_rx_mac_fcs_error[15:0] o_rx_mac_error[31:0] o_rx_mac_status[47:0] |
2x 200GE-4 |
Port 0: i_tx_mac_data[511:0] i_tx_mac_valid[0] i_tx_mac_inframe[7:0] i_tx_mac_eop_empty[23:0] o_tx_mac_ready[0] i_tx_mac_error[7:0] i_tx_mac_skip_crc[7:0] Port 2: i_tx_mac_data[1023:512] i_tx_mac_valid[2] i_tx_mac_inframe[15:8] i_tx_mac_eop_empty[47:24] o_tx_mac_ready[2] i_tx_mac_error[15:8] i_tx_mac_skip_crc[15:8] |
Port 0: o_rx_mac_data[511:0] o_rx_mac_valid[0] o_rx_mac_inframe[7:0] o_rx_mac_eop_empty[23:0] o_rx_mac_fcs_error[7:0] o_rx_mac_error[15:0] o_rx_mac_status[23:0] Port 2: o_rx_mac_data[1023:512] o_rx_mac_valid[2] o_rx_mac_inframe[15:8] o_rx_mac_eop_empty[47:24] o_rx_mac_fcs_error[15:8] o_rx_mac_error[31:16] o_rx_mac_status[47:24] |
|
4x 100GE-2 |
Port 0: i_tx_mac_data[255:0] i_tx_mac_valid[0] i_tx_mac_inframe[3:0] i_tx_mac_eop_empty[11:0] o_tx_mac_ready[0] i_tx_mac_error[3:0] i_tx_mac_skip_crc[3:0] Port 1: i_tx_mac_data[511:256] i_tx_mac_valid[1] i_tx_mac_inframe[7:4] i_tx_mac_eop_empty[23:12] o_tx_mac_ready[1] i_tx_mac_error[7:4] i_tx_mac_skip_crc[7:4] Port 2: i_tx_mac_data[767:512] i_tx_mac_valid[2] i_tx_mac_inframe[11:8] i_tx_mac_eop_empty[35:24] o_tx_mac_ready[2] i_tx_mac_error[11:8] i_tx_mac_skip_crc[11:8] Port 3: i_tx_mac_data[1023:768] i_tx_mac_valid[3] i_tx_mac_inframe[15:12] i_tx_mac_eop_empty[47:36] o_tx_mac_ready[3] i_tx_mac_error[15:12] i_tx_mac_skip_crc[15:12] |
Port 0: o_rx_mac_data[255:0] o_rx_mac_valid[0] o_rx_mac_inframe[3:0] o_rx_mac_eop_empty[11:0] o_rx_mac_fcs_error[3:0] o_rx_mac_error[7:0] o_rx_mac_status[11:0] Port 1: o_rx_mac_data[511:256] o_rx_mac_valid[1] o_rx_mac_inframe[7:4] o_rx_mac_eop_empty[23:12] o_rx_mac_fcs_error[7:4] o_rx_mac_error[15:8] o_rx_mac_status[23:12] Port 2: o_rx_mac_data[767:512] o_rx_mac_valid[2] o_rx_mac_inframe[11:8] o_rx_mac_eop_empty[35:24] o_rx_mac_fcs_error[11:8] o_rx_mac_error[23:16] o_rx_mac_status[35:24] Port 3: o_rx_mac_data[1023:768] o_rx_mac_valid[3] o_rx_mac_inframe[15:12] o_rx_mac_eop_empty[47:36] o_rx_mac_fcs_error[15:12] o_rx_mac_error[31:24] o_rx_mac_status[47:36] |
Top Level Interface | Mode | TX Interface | RX Interface |
---|---|---|---|
i_tx_mac_data[511:0] i_tx_mac_valid[3:0] i_tx_mac_inframe[7:0] i_tx_mac_eop_empty[23:0] o_tx_mac_ready[3:0] i_tx_mac_error[7:0] i_tx_mac_skip_crc[7:0] o_rx_mac_data[511:0] o_rx_mac_valid[3:0] o_rx_mac_inframe[7:0] o_rx_mac_eop_empty[23:0] o_rx_mac_fcs_error[7:0] o_rx_mac_error[15:0] o_rx_mac_status[23:0] |
1x 200GE-4 |
Port 0: i_tx_mac_data[511:0] i_tx_mac_valid[0] i_tx_mac_inframe[7:0] i_tx_mac_eop_empty[23:0] o_tx_mac_ready[0] i_tx_mac_error[7:0] i_tx_mac_skip_crc[7:0] |
Port 0: o_rx_mac_data[511:0] o_rx_mac_valid[0] o_rx_mac_inframe[7:0] o_rx_mac_eop_empty[23:0] o_rx_mac_fcs_error[7:0] o_rx_mac_error[15:0] o_rx_mac_status[23:0] |
2x 100GE-2 |
Port 0: i_tx_mac_data[255:0] i_tx_mac_valid[0] i_tx_mac_inframe[3:0] i_tx_mac_eop_empty[11:0] o_tx_mac_ready[0] i_tx_mac_error[3:0] i_tx_mac_skip_crc[3:0] Port 2: i_tx_mac_data[511:256] i_tx_mac_valid[2] i_tx_mac_inframe[7:4] i_tx_mac_eop_empty[23:12] o_tx_mac_ready[2] i_tx_mac_error[7:4] i_tx_mac_skip_crc[7:4] |
Port 0: o_rx_mac_data[255:0] o_rx_mac_valid[0] o_rx_mac_inframe[3:0] o_rx_mac_eop_empty[11:0] o_rx_mac_fcs_error[3:0] o_rx_mac_error[7:0] o_rx_mac_status[11:0] Port 2: o_rx_mac_data[511:256] o_rx_mac_valid[2] o_rx_mac_inframe[7:4] o_rx_mac_eop_empty[23:12] o_rx_mac_fcs_error[7:4] o_rx_mac_error[15:8] o_rx_mac_status[23:12] |
|
4x 50GE-1 |
Port 0: i_tx_mac_data[127:0] i_tx_mac_valid[0] i_tx_mac_inframe[1:0] i_tx_mac_eop_empty[5:0] o_tx_mac_ready[0] i_tx_mac_error[1:0] i_tx_mac_skip_crc[1:0] Port 1: i_tx_mac_data[255:128] i_tx_mac_valid[1] i_tx_mac_inframe[3:2] i_tx_mac_eop_empty[11:6] o_tx_mac_ready[1] i_tx_mac_error[3:2] i_tx_mac_skip_crc[3:2] Port 2: i_tx_mac_data[383:256] i_tx_mac_valid[2] i_tx_mac_inframe[5:4] i_tx_mac_eop_empty[17:12] o_tx_mac_ready[2] i_tx_mac_error[5:4] i_tx_mac_skip_crc[5:4] Port 3: i_tx_mac_data[511:384] i_tx_mac_valid[3] i_tx_mac_inframe[7:6] i_tx_mac_eop_empty[23:18] o_tx_mac_ready[3] i_tx_mac_error[7:6] i_tx_mac_skip_crc[7:6] |
Port 0: o_rx_mac_data[127:0] o_rx_mac_valid[0] o_rx_mac_inframe[1:0] o_rx_mac_eop_empty[5:0] o_rx_mac_fcs_error[1:0] o_rx_mac_error[3:0] o_rx_mac_status[5:0] Port 1: o_rx_mac_data[255:128] o_rx_mac_valid[1] o_rx_mac_inframe[3:2] o_rx_mac_eop_empty[11:6] o_rx_mac_fcs_error[3:2] o_rx_mac_error[7:4] o_rx_mac_status[11:6] Port 2: o_rx_mac_data[383:256] o_rx_mac_valid[2] o_rx_mac_inframe[5:4] o_rx_mac_eop_empty[17:12] o_rx_mac_fcs_error[5:4] o_rx_mac_error[11:8] o_rx_mac_status[17:12] Port 3: o_rx_mac_data[511:384] o_rx_mac_valid[3] o_rx_mac_inframe[7:6] o_rx_mac_eop_empty[23:18] o_rx_mac_fcs_error[7:6] o_rx_mac_error[15:12] o_rx_mac_status[23:18] |
|
2x 50GE-2 |
Port 0: i_tx_mac_data[127:0] i_tx_mac_valid[0] i_tx_mac_inframe[1:0] i_tx_mac_eop_empty[5:0] o_tx_mac_ready[0] i_tx_mac_error[1:0] i_tx_mac_skip_crc[1:0] Port 2: i_tx_mac_data[383:256] i_tx_mac_valid[2] i_tx_mac_inframe[5:4] i_tx_mac_eop_empty[17:12] o_tx_mac_ready[2] i_tx_mac_error[5:4] i_tx_mac_skip_crc[5:4] |
Port 0: o_rx_mac_data[127:0] o_rx_mac_valid[0] o_rx_mac_inframe[1:0] o_rx_mac_eop_empty[5:0] o_rx_mac_fcs_error[1:0] o_rx_mac_error[3:0] o_rx_mac_status[5:0] Port 2: o_rx_mac_data[383:256] o_rx_mac_valid[2] o_rx_mac_inframe[5:4] o_rx_mac_eop_empty[17:12] o_rx_mac_fcs_error[5:4] o_rx_mac_error[11:8] o_rx_mac_status[17:12] |
|
1x 100GE-4 |
Port 0: i_tx_mac_data[255:0] i_tx_mac_valid[0] i_tx_mac_inframe[3:0] i_tx_mac_eop_empty[11:0] o_tx_mac_ready[0] i_tx_mac_error[3:0] i_tx_mac_skip_crc[3:0] |
Port 0: o_rx_mac_data[255:0] o_rx_mac_valid[0] o_rx_mac_inframe[3:0] o_rx_mac_eop_empty[11:0] o_rx_mac_fcs_error[3:0] o_rx_mac_error[7:0] o_rx_mac_status[11:0] |