AXI4-Stream Interface Signaling for 100G 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

Segmented AXI4-Stream 100G operation uses either a 256-bit or 512-bit data bus. Up to six 100G ports can be active for the 256-bit configuration and up to three ports can be active for the 512-bit configuration.

Table 1. 6 x 100G Segmented AXI4-Stream Signaling
Port Segment(s) Interface Function Signaling
0 M=0…1 RX AXI-S valid rx_axis_tvalid_0
preamble_out[55:0] rx_preambleout_0[55:0]
seg<M>_data[127:0] rx_axis_tdata<M>[127:0]
seg<M>_ena rx_axis_tuser_ena<M>
seg<M>_sop rx_axis_tuser_sop<M>
seg<M>_eop rx_axis_tuser_eop<M>
seg<M>_err rx_axis_tuser_err<M>
seg<M>_mty[3:0] rx_axis_tuser_mty<M>[3:0]
TX AXI-S ready tx_axis_tready_0
almost_full tx_axis_taf_0
valid tx_axis_tvalid_0
preamble_in[55:0] tx_preamblein_0[55:0]
ptp_cf_offset_in[13:0] tx_ptp_cf_offset_in_0[13:0]
ptp_tag_field_in[7:0] tx_ptp_tag_field_in_0[7:0]
ptp_udp_chksum_in tx_ptp_udp_chksum_in_0
ptp_1588op_in[1:0] tx_ptp_1588op_in_0[1:0]
seg<M>_data[127:0] tx_axis_tdata<M>[127:0]
seg<M>_ena tx_axis_tuser_ena<M>
seg<M>_sop tx_axis_tuser_sop<M>
seg<M>_eop tx_axis_tuser_eop<M>
seg<M>_err tx_axis_tuser_err<M>
seg<M>_mty[3:0] tx_axis_tuser_mty<M>[3:0]
1 M=2…3 RX AXI-S valid rx_axis_tvalid_1
preamble_out[55:0] rx_preambleout_1[55:0]
seg<M>_data[127:0] rx_axis_tdata<M>[127:0]
seg<M>_ena rx_axis_tuser_ena<M>
seg<M>_sop rx_axis_tuser_sop<M>
seg<M>_eop rx_axis_tuser_eop<M>
seg<M>_err rx_axis_tuser_err<M>
seg<M>_mty[3:0] rx_axis_tuser_mty<M>[3:0]
TX AXI-S ready tx_axis_tready_1
almost_full tx_axis_taf_1
valid tx_axis_tvalid_1
preamble_in[55:0] tx_preamblein_1[55:0]
ptp_cf_offset_in[13:0] tx_ptp_cf_offset_in_1[13:0]
ptp_tag_field_in[7:0] tx_ptp_tag_field_in_1[7:0]
ptp_udp_chksum_in tx_ptp_udp_chksum_in_1
ptp_1588op_in[1:0] tx_ptp_1588op_in_1[1:0]
seg<M>_data[127:0] tx_axis_tdata<M>[127:0]
seg<M>_ena tx_axis_tuser_ena<M>
seg<M>_sop tx_axis_tuser_sop<M>
seg<M>_eop tx_axis_tuser_eop<M>
seg<M>_err tx_axis_tuser_err<M>
seg<M>_mty[3:0] tx_axis_tuser_mty<M>[3:0]
2 M=4…5 RX AXI-S valid rx_axis_tvalid_2
preamble_out[55:0] rx_preambleout_2[55:0]
seg<M>_data[127:0] rx_axis_tdata<M>[127:0]
seg<M>_ena rx_axis_tuser_ena<M>
seg<M>_sop rx_axis_tuser_sop<M>
seg<M>_eop rx_axis_tuser_eop<M>
seg<M>_err rx_axis_tuser_err<M>
seg<M>_mty[3:0] rx_axis_tuser_mty<M>[3:0]
TX AXI-S ready tx_axis_tready_2
almost_full tx_axis_taf_2
valid tx_axis_tvalid_2
preamble_in[55:0] tx_preamblein_2[55:0]
ptp_cf_offset_in[13:0] tx_ptp_cf_offset_in_2[13:0]
ptp_tag_field_in[7:0] tx_ptp_tag_field_in_2[7:0]
ptp_udp_chksum_in tx_ptp_udp_chksum_in_2
ptp_1588op_in[1:0] tx_ptp_1588op_in_2[1:0]
seg<M>_data[127:0] tx_axis_tdata<M>[127:0]
seg<M>_ena tx_axis_tuser_ena<M>
seg<M>_sop tx_axis_tuser_sop<M>
seg<M>_eop tx_axis_tuser_eop<M>
seg<M>_err tx_axis_tuser_err<M>
seg<M>_mty[3:0] tx_axis_tuser_mty<M>[3:0]
3 M=6…7 RX AXI-S valid rx_axis_tvalid_3
preamble_out[55:0] rx_preambleout_3[55:0]
seg<M>_data[127:0] rx_axis_tdata<M>[127:0]
seg<M>_ena rx_axis_tuser_ena<M>
seg<M>_sop rx_axis_tuser_sop<M>
seg<M>_eop rx_axis_tuser_eop<M>
seg<M>_err rx_axis_tuser_err<M>
seg<M>_mty[3:0] rx_axis_tuser_mty<M>[3:0]
TX AXI-S ready tx_axis_tready_3
almost_full tx_axis_taf_3
valid tx_axis_tvalid_3
preamble_in[55:0] tx_preamblein_3[55:0]
ptp_cf_offset_in[13:0] tx_ptp_cf_offset_in_3[13:0]
ptp_tag_field_in[7:0] tx_ptp_tag_field_in_3[7:0]
ptp_udp_chksum_in tx_ptp_udp_chksum_in_3
ptp_1588op_in[1:0] tx_ptp_1588op_in_3[1:0]
seg<M>_data[127:0] tx_axis_tdata<M>[127:0]
seg<M>_ena tx_axis_tuser_ena<M>
seg<M>_sop tx_axis_tuser_sop<M>
seg<M>_eop tx_axis_tuser_eop<M>
seg<M>_err tx_axis_tuser_err<M>
seg<M>_mty[3:0] tx_axis_tuser_mty<M>[3:0]
4 M=8…9 RX AXI-S valid rx_axis_tvalid_4
preamble_out[55:0] rx_preambleout_4[55:0]
seg<M>_data[127:0] rx_axis_tdata<M>[127:0]
seg<M>_ena rx_axis_tuser_ena<M>
seg<M>_sop rx_axis_tuser_sop<M>
seg<M>_eop rx_axis_tuser_eop<M>
seg<M>_err rx_axis_tuser_err<M>
seg<M>_mty[3:0] rx_axis_tuser_mty<M>[3:0]
TX AXI-S ready tx_axis_tready_4
almost_full tx_axis_taf_4
valid tx_axis_tvalid_4
preamble_in[55:0] tx_preamblein_4[55:0]
ptp_cf_offset_in[13:0] tx_ptp_cf_offset_in_4[13:0]
ptp_tag_field_in[7:0] tx_ptp_tag_field_in_4[7:0]
ptp_udp_chksum_in tx_ptp_udp_chksum_in_4
ptp_1588op_in[1:0] tx_ptp_1588op_in_4[1:0]
seg<M>_data[127:0] tx_axis_tdata<M>[127:0]
seg<M>_ena tx_axis_tuser_ena<M>
seg<M>_sop tx_axis_tuser_sop<M>
seg<M>_eop tx_axis_tuser_eop<M>
seg<M>_err tx_axis_tuser_err<M>
seg<M>_mty[3:0] tx_axis_tuser_mty<M>[3:0]
5 M=10…11 RX AXI-S valid rx_axis_tvalid_5
preamble_out[55:0] rx_preambleout_5[55:0]
seg<M>_data[127:0] rx_axis_tdata<M>[127:0]
seg<M>_ena rx_axis_tuser_ena<M>
seg<M>_sop rx_axis_tuser_sop<M>
seg<M>_eop rx_axis_tuser_eop<M>
seg<M>_err rx_axis_tuser_err<M>
seg<M>_mty[3:0] rx_axis_tuser_mty<M>[3:0]
TX AXI-S ready tx_axis_tready_5
almost_full tx_axis_taf_5
valid tx_axis_tvalid_5
preamble_in[55:0] tx_preamblein_5[55:0]
ptp_cf_offset_in[13:0] tx_ptp_cf_offset_in_5[13:0]
ptp_tag_field_in[7:0] tx_ptp_tag_field_in_5[7:0]
ptp_udp_chksum_in tx_ptp_udp_chksum_in_5
ptp_1588op_in[1:0] tx_ptp_1588op_in_5[1:0]
seg<M>_data[127:0] tx_axis_tdata<M>[127:0]
seg<M>_ena tx_axis_tuser_ena<M>
seg<M>_sop tx_axis_tuser_sop<M>
seg<M>_eop tx_axis_tuser_eop<M>
seg<M>_err tx_axis_tuser_err<M>
seg<M>_mty[3:0] tx_axis_tuser_mty<M>[3:0]
Table 2. 3 x 100G Segmented AXI4-Stream Signaling
Port Segment(s) Interface Function Signaling
0 M=0…3 RX AXI-S valid rx_axis_tvalid_0
preamble_out[55:0] rx_preambleout_0[55:0]
seg<M>_data[127:0] rx_axis_tdata<M>[127:0]
seg<M>_ena rx_axis_tuser_ena<M>
seg<M>_sop rx_axis_tuser_sop<M>
seg<M>_eop rx_axis_tuser_eop<M>
seg<M>_err rx_axis_tuser_err<M>
seg<M>_mty[3:0] rx_axis_tuser_mty<M>[3:0]
TX AXI-S ready tx_axis_tready_0
almost_full tx_axis_taf_0
valid tx_axis_tvalid_0
preamble_in[55:0] tx_preamblein_0[55:0]
ptp_cf_offset_in[13:0] tx_ptp_cf_offset_in_0[13:0]
ptp_tag_field_in[7:0] tx_ptp_tag_field_in_0[7:0]
ptp_udp_chksum_in tx_ptp_udp_chksum_in_0
ptp_1588op_in[1:0] tx_ptp_1588op_in_0[1:0]
seg<M>_data[127:0] tx_axis_tdata<M>[127:0]
seg<M>_ena tx_axis_tuser_ena<M>
seg<M>_sop tx_axis_tuser_sop<M>
seg<M>_eop tx_axis_tuser_eop<M>
seg<M>_err tx_axis_tuser_err<M>
seg<M>_mty[3:0] tx_axis_tuser_mty<M>[3:0]
1 M=4…7 RX AXI-S valid rx_axis_tvalid_1
preamble_out[55:0] rx_preambleout_1[55:0]
seg<M>_data[127:0] rx_axis_tdata<M>[127:0]
seg<M>_ena rx_axis_tuser_ena<M>
seg<M>_sop rx_axis_tuser_sop<M>
seg<M>_eop rx_axis_tuser_eop<M>
seg<M>_err rx_axis_tuser_err<M>
seg<M>_mty[3:0] rx_axis_tuser_mty<M>[3:0]
TX AXI-S ready tx_axis_tready_1
almost_full tx_axis_taf_1
valid tx_axis_tvalid_1
preamble_in[55:0] tx_preamblein_1[55:0]
ptp_cf_offset_in[13:0] tx_ptp_cf_offset_in_1[13:0]
ptp_tag_field_in[7:0] tx_ptp_tag_field_in_1[7:0]
ptp_udp_chksum_in tx_ptp_udp_chksum_in_1
ptp_1588op_in[1:0] tx_ptp_1588op_in_1[1:0]
seg<M>_data[127:0] tx_axis_tdata<M>[127:0]
seg<M>_ena tx_axis_tuser_ena<M>
seg<M>_sop tx_axis_tuser_sop<M>
seg<M>_eop tx_axis_tuser_eop<M>
seg<M>_err tx_axis_tuser_err<M>
seg<M>_mty[3:0] tx_axis_tuser_mty<M>[3:0]
2 M=8…11 RX AXI-S valid rx_axis_tvalid_2
preamble_out[55:0] rx_preambleout_2[55:0]
seg<M>_data[127:0] rx_axis_tdata<M>[127:0]
seg<M>_ena rx_axis_tuser_ena<M>
seg<M>_sop rx_axis_tuser_sop<M>
seg<M>_eop rx_axis_tuser_eop<M>
seg<M>_err rx_axis_tuser_err<M>
seg<M>_mty[3:0] rx_axis_tuser_mty<M>[3:0]
TX AXI-S ready tx_axis_tready_2
almost_full tx_axis_taf_2
valid tx_axis_tvalid_2
preamble_in[55:0] tx_preamblein_2[55:0]
ptp_cf_offset_in[13:0] tx_ptp_cf_offset_in_2[13:0]
ptp_tag_field_in[7:0] tx_ptp_tag_field_in_2[7:0]
ptp_udp_chksum_in tx_ptp_udp_chksum_in_2
ptp_1588op_in[1:0] tx_ptp_1588op_in_2[1:0]
seg<M>_data[127:0] tx_axis_tdata<M>[127:0]
seg<M>_ena tx_axis_tuser_ena<M>
seg<M>_sop tx_axis_tuser_sop<M>
seg<M>_eop tx_axis_tuser_eop<M>
seg<M>_err tx_axis_tuser_err<M>
seg<M>_mty[3:0] tx_axis_tuser_mty<M>[3:0]