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.
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 |
Bits | Name | Description |
---|---|---|
31–2 | Reserved | Reserved for future use |
1–0 | TxCsumCntrl |
Transmit Checksum Enable:
|
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. |
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. |