Non-Segmented Mode - 2.3 English

Versal Devices Integrated 100G Multirate Ethernet MAC Subsystem Product Guide (PG314)

Document ID
PG314
Release Date
2024-05-30
Version
2.3 English
Note: In the following tables, <N> = port number 0 to 3 and <M> is the word number 0 to 7.
Table 1. Non-Segmented AXI4-Stream Interface Signal Descriptions – TX Direction
Port Name I/O Description
tx_axis_tvalid_<N> I Asserted by user logic to indicate that the current bus cycle is valid.
tx_axis_tready_<N> O Driven by the MRMAC to indicate that the interface is able to accept the data currently present on the bus. If the tready signal deasserts during a transfer, the user logic must hold the current data on the bus until tready is asserted again.
tx_axis_tlast_<N> I Indicates that the current bus cycle contains the last data transfer for the packet. This is the only time a partially-filled data word is permitted.
tx_axis_tdata<M>[63:0] I Packet data, in network order.
tx_axis_tkeep_user_<M>[7:0] I tkeep[7:0]. A per-byte data valid indication for last word. Valid when tlast is 1. tkeep indicates whether the data found in the corresponding tdata lane is valid. The mapping is as follows:
  • tkeep[0] = tdata[7:0] is valid
  • tkeep[1] = tdata[15:0] is valid
  • ...
  • tkeep[7] = tdata[63:56] is valid

Data bytes always fill the tdata signal contiguously from LSB to MSB with no gaps in between. Therefore, the legal patterns of the tkeep signal are:

  • 0000_0001 (1 byte valid)
  • 0000_0011 (2 bytes valid)
  • 0000_0111 (3 bytes valid)
  • ...
  • 1111_1111 (all bytes valid)
tx_axis_tkeep_user_<M>[8] I ERR. Error indication for the packet. Valid when corresponding tlast is 1.
tx_axis_tkeep_user_<M>[9] I Preempt. Indicates that the packet in progress is to be preempted. Valid when tlast is 1. For more details on frame preemption support, see the related information below.
tx_axis_tkeep_user_<M>[10] I Resume. Indicates that the packet being sent on the AXI4-Stream interface is a resumption of a previously preempted packet. This signal is to be asserted at the beginning of new packet transfer. For more details on frame preemption support, see the related information below.
tx_preamblein_<N>[55:0] I This signal is used to convey preamble + SFD values when custom preamble mode is enabled. It is also used when Frame Preemption is enabled. The tx_preamblein signal must be provided during the first transfer of data. When enabled, six preamble bytes followed by one SFD byte must be provided to populate the packet's 64B/66B Start code.
tx_ptp_1588op_in_<N>[1:0] I Select the desired PTP operation.
  • 2’b00 – No operation: no timestamp is taken and the frame is not modified.
  • 2’b01 – 1-step: a timestamp should be taken and inserted into the frame. The timestamp is also returned to the client using the additional ports of 2-step operation.
  • 2’b10 – 2-step: a timestamp should be taken and returned to the client using the additional ports of 2-step operation. The frame itself is not modified.
  • 2’b11 – Reserved.
tx_ptp_cf_offset_<N>[15:0] I This specifies the offset (in octets) to the PTP Correction field. Offset 0 corresponds to the first byte of the Ethernet Destination Address. If UDP checksum adjustment is required (tx_ptp_upd_chksum_in is set), the first byte of the checksum is assumed to be located at tx_ptp_cf_offset - 10 octets. Note, this value must be even, and for timestamping applications not following IEEE 1588 protocol but wanting to use the 1-step timestamp insertion feature, any user specified correction field offset must be a minimum of 18 bytes from the end of the packet.
tx_ptp_upd_chksum_in_<N> I Update UDP checksum:
  • 1’b0: PTP frame does not contain a UDP checksum
  • 1’b1: PTP frame does contain a UDP checksum which the core is required to recalculate. The location of the checksum is ascertained as described in the tx_ptp_cf_offset field.
tx_ptp_tag_field_in_<N>[15:0] I Identifying tag to use for egress PTP packet. This should be valid during the SOP cycle on the AXI4-Stream interface.
tx_ptp_tstamp_tag_out_<N>[15:0] O Egress Tag. Valid when tx_ptp_tstamp_valid_out<N> is set.
tx_ptp_tstamp_valid_out_<N> O Indicates that Egress tag/timestamp is valid.
tx_ptp_rsfec_offset_out_<N>[6:0] O Egress RSFEC codeword offset of start of packet. This is only valid when RSFEC is enabled.
tx_ptp_tstamp_out_<N>[54:0] O Egress Timestamp. Valid when tx_ptp_tstamp_valid_out_<N> is set.
Table 2. Non-Segmented AXI4-Stream Interface Signal Descriptions – RX Direction
Port Name I/O Description
rx_axis_tvalid_<N> O Indicates that the data and flags on the AXI4-Stream bus output are valid. The user logic must accept the data transfer. There is no backpressure mechanism.
rx_axis_tlast_<N> O Indicates that the current bus cycle output contains the last data transfer for the packet.
rx_axis_tdata<M>[63:0] O Contains the data for the received packet in network order.
rx_axis_tkeep_user_<M>[7:0] O tkeep[7:0]. A per-byte data valid indication for last word. Valid when tlast is 1.
rx_axis_tkeep_user_<M>[8] O Err. Error indication for the received packet. Valid when tlast is 1. A value of 1 indicates that an error was detected in the received frame and it should be discarded.
rx_axis_tkeep_user_<M>[9] O Preempt. Indicates that the packet being output on the bus was preempted. The preambleout field (below) reflects the Preemption header, which allows the user logic to handle reassembly. Valid when tlast is 1. For more details on frame preemption support, see the related information below.
rx_preambleout_<N>[55:0] O This signal is used to convey extracted preamble + SFD values when the custom preamble mode is enabled. It is also used when Frame Preemption is enabled. The rx_preambleout signal is provided during the first transfer of data. When enabled, the six preamble bytes followed by one SFD bytes carried by a packet's 64B/66B Start code are provided.
rx_ptp_rsfec_offset_out_<N>[6:0] O Ingress RSFEC codeword offset of start of packet. This is only valid when RSFEC is enabled.
rx_ptp_tstamp_out_<N>[54:0] O Ingress timestamp.
Note: This signal is also shared with the Flex I/F. When used in Flex I/F mode (ctl_pcs_rx_ts_en_<N>==1), the timestamp is valid for the first word of the data.