Normal Transmit AXI4-Stream Control Words - 7.2 English

AXI 1G/2.5G Ethernet Subsystem Product Guide (PG138)

Document ID
PG138
Release Date
2023-11-15
Version
7.2 English

The Normal Transmit AXI4-Stream Control frame always contains six 32-bit control words (Words 0 to 5). Of these words, only control words 0, 1, 2, and 3 are used by the AXI Ethernet Subsystem. The following figure and tables show the definitions of these words.

If the transmit AXI4-Stream control word bits 1:0 are 00 (TX_CSCNTRL is disabled) or if the parameter C_TXCSUM is 0 (the transmit checksum offload function is not included in build), then none of the transmit AXI4-Stream control words are used and no transmit checksum offload takes place. If the parameter C_TXCSUM is 1, transmit partial checksum offload can be controlled on a frame-by-frame basis by setting or clearing the transmit AXI4-Stream control word 1 bits 1:0 to 01 (TX_CSCNTRL). If the parameter C_TXCSUM is 2, the transmit full checksum offload can be controlled on a frame-by-frame basis by setting or clearing the transmit AXI4-Stream control word 1 bits 1:0 to 10 (TX_CSCNTRL). For more details about how the transmit AXI4-Stream control words are used for transmit checksum offload, see Partial TCP/UDP Checksum Offload in Hardware.

The transmit AXI4-Stream Data strobes are used to indicate how many bytes in the last 32-bit word of the payload are valid data. 1 is used to indicate valid bytes. For example, axi_str_txd_strb(3:0) = 0001 would indicate that only the first byte of the last word of the payload [axi_str_txd(7:0) ] is valid and the remaining three bytes are unused.

axi_str_txd_strb(3:0) = 0011 would indicate that the first two bytes of the last word of the payload [axi_str_txd(15:0) ] are valid and the remaining two bytes are unused. See the following figure for the Transmit AXI4-Stream Control Word definition.

Figure 1. Transmit AXI4-Stream Control Words AXI Ethernet Page-1 Sheet.2 Sheet.3 MSB MSB Sheet.4 LSB LSB Sheet.5 31 31 Sheet.6 Word 0 Word 0 Sheet.7 Word 2 Word 2 Sheet.8 TxCsInit TxCsInit Sheet.9 Sheet.10 0 0 Sheet.11 Sheet.12 15 15 Sheet.13 16 16 Sheet.14 31 31 Sheet.15 reserved for future use reserved for future use Sheet.16 TxCsInsert TxCsInsert Sheet.17 Sheet.18 0 0 Sheet.19 Sheet.20 15 15 Sheet.21 16 16 Sheet.22 31 31 Sheet.23 TxCsBegin TxCsBegin Sheet.24 Sheet.25 0 0 Sheet.26 31 31 Sheet.27 Sheet.28 0 0 Sheet.29 31 31 Sheet.30 Word 3 Word 3 Sheet.31 Word 4 Word 4 Sheet.32 Word 5 Word 5 Sheet.33 Transmit AXI4-Stream Control Words Transmit AXI4-Stream Control Words Sheet.34 Sheet.35 27 27 Sheet.36 28 28 Sheet.37 flag = A flag = A Sheet.38 reserved for future use reserved for future use Sheet.39 reserved for future use reserved for future use Sheet.40 reserved for future use reserved for future use Sheet.41 0 0 Sheet.42 Sheet.43 1 1 Sheet.44 2 2 Sheet.45 31 31 Sheet.46 Word 1 Word 1 Sheet.47 reserved for future use reserved for future use Sheet.48 Sheet.49 0 0 Sheet.50 Sheet.51 Sheet.52 TxCsCntrl TxCsCntrl Sheet.1 X14078 X14078
Table 1. Transmit AXI4-Stream Control Word 0 – TAG
Bits Name Description
31–28 Flag

1010 = Normal Transmit Frame

0101= Receive Status Transmit Frame

All other selections are reserved.

27–0 Reserved Reserved for future use
Table 2. Transmit AXI4-Stream Control Word 1 – APP0
Bits Name Description
31–2 Reserved Reserved for future use
1–0 TxCsumCntrl

Transmit Checksum Enable:

  • 00 = No transmit checksum offloading should be performed on this frame.
  • 01 = Partial transmit checksum offloading should be performed on this frame based upon other data provided in the control words. For the partial checksum to be performed, C_TXCSUM must be set to 1.
  • 10 = Full transmit IP and TCP/UDP checksum offloading should be performed on this frame if it meets the requirements. For the full checksum to performed, C_TXCSUM must be set to 2.
  • 11 = Reserved
Table 3. Transmit AXI4-Stream Control Word 2 – APP1
Bits Name Description
31–16 TxCsBegin Transmit Checksum Calculation Starting Point: This value is the offset to the location in the frame to the first byte that needs to be included in the checksum calculation. The first byte is indicated by a value of zero. The beginning position must be 16-bit aligned.
15–0 TxCsInsert Transmit Checksum Insertion Point: This value is the offset to the location in the frame where the checksum value should be written into the TCP or UDP segment header. The value must be 16-bit aligned and cannot be in the first 8 bytes of the frame. It also should not contain a value that exceeds the length of the frame.
Table 4. Transmit AXI4-Stream Control Word 3 – APP2
Bits Name Description
31–16 Reserved Undefined value.
15–0 TxCsInit Transmit Checksum Calculation Initial Value: This value is a 16-bit seed that can be used to insert the TCP or UDP pseudo header into the checksum calculation. See Partial TCP/UDP Checksum Offload in Hardware for more information on using this field.