Mapping AXI DMA IP Buffer Descriptor Fields to AXI4-Stream Fields - 7.2 English - PG138

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

Document ID
PG138
Release Date
2024-06-05
Version
7.2 English

The AXI Ethernet Subsystem requires that certain AXI4-Stream Control/Status words be used to support TCP/IP Checksum Offload. The subsystem does not have any requirements on how the AXI4-Stream words are created or where the data comes from, only that the correct values are in each field. At the time that this document is written,AMD provides a core that can be used to provide the require AXI4-Stream functionality to implement TCP / IP Checksum Offload, the AXI_DMA IP core. See the change log for the version of AXI DMA to use.

The AXI DMA core is designed to operate with many AXI4-Stream cores in addition to the AXI Ethernet Subsystem. This guide contains information about the mapping between the AXI Ethernet AXI4-Stream fields and the AXI DMA Buffer Descriptor fields for the purposes of TCP / IP Checksum Offload.

The AXI DMA core uses registers to point to data areas in external memory called Buffer Descriptors. The Buffer Descriptors are five 32-bit words in external memory and contain AXI DMA operation control information, pointers to other areas of external memory which contain data to move which are called Data Buffers, and generic Application Defined words which map to AXI4-Stream Control and AXI4-Stream Status words.

The following first figure shows the mapping between the AXI DMA Buffer Descriptor words in external memory and the fields in the transmit AXI4-Stream case and the second figure shows the mapping for the receive AXI4-Stream case. The first word in the AXI_STR_TXC_TDATA data contains the Flag information that is directly set by the AXI DMA core, and the first word in the AXI_STR_RXS_TDATA data contains the Flag information that is set by the AXI Ethernet Subsystem.

Figure 1. Transmit AXI DMA Buffer Descriptor AXI4-Stream Field Mapping AXI Ethernet Page-1 Sheet.2 DMA Core Register DMA Core Register Sheet.3 CURDESC_PTR Register value CURDESC_PTRRegister value Sheet.4 NXTDESC NXTDESC Sheet.5 Sheet.6 Reserved Reserved Sheet.7 Sheet.8 Buffer Address Buffer Address Sheet.9 Sheet.10 Sheet.11 Reserved Reserved Sheet.12 Sheet.13 Reserved Reserved Sheet.14 Sheet.15 Control Control Sheet.16 Sheet.17 Status Status Sheet.18 APP1 APP1 Sheet.19 APP2 APP2 Sheet.20 APP3 APP3 Sheet.21 APP4 APP4 Sheet.22 Sheet.23 APP0 APP0 Sheet.24 Sheet.25 Sheet.26 Sheet.27 Sheet.28 Sheet.30 Data Data Sheet.33 Reserved Reserved Sheet.31 Buffer Descriptors in external memory Buffer Descriptorsin external memory Sheet.29 Data Buffer in external memory Data Buffer in external memory Sheet.32 AXI_STR_TXC_ACLK AXI_STR_TXC_ACLK Sheet.35 AXI_STR_TXC_ARESETN AXI_STR_TXC_ARESETN Sheet.36 AXI_STR_TXC_TDATA(31:0) AXI_STR_TXC_TDATA(31:0) Sheet.37 AXI_STR_TXC_TVALIDs AXI_STR_TXC_TVALIDs Sheet.38 AXI_STR_TXC_TREADY AXI_STR_TXC_TREADY Sheet.39 AXI_STR_TXC_TSTRB(3:0) AXI_STR_TXC_TSTRB(3:0) Sheet.40 AXI_STR_TXC_TLAST AXI_STR_TXC_TLAST Sheet.41 AXI_STR_TXD_ACLK AXI_STR_TXD_ACLK Sheet.42 AXI_STR_TXD_ARESETN AXI_STR_TXD_ARESETN Sheet.43 AXI_STR_TXD_TDATA(31:0) AXI_STR_TXD_TDATA(31:0) Sheet.44 AXI_STR_TXD_TVALID AXI_STR_TXD_TVALID Sheet.45 AXI_STR_TXD_TREADY AXI_STR_TXD_TREADY Sheet.46 AXI_STR_TXD_TSTRB(3:0) AXI_STR_TXD_TSTRB(3:0) Sheet.47 AXI_STR_TXD_TLAST AXI_STR_TXD_TLAST Sheet.1 Sheet.48 A A Sheet.49 Transmit frame data (variable) Transmit frame data (variable) Sheet.50 F F Sheet.51 1,3, 7,F 1,3,7,F Standard Arrow Sheet.53 FLAG - set by AXI DMA FLAG - set by AXI DMA Sheet.34 Sheet.66 Sheet.67 Sheet.68 Sheet.69 Sheet.70 Sheet.71 Sheet.54 X14081 X14081 Sheet.57 Sheet.58
Figure 2. Receive AXI DMA Buffer Descriptor AXI4-Stream Field Mapping AXI Ethernet Page-1 Sheet.3 DMA Core Register DMA Core Register Sheet.4 CURDESC_PTR Register value CURDESC_PTRRegister value Sheet.5 NXTDESC NXTDESC Sheet.6 Sheet.7 Reserved Reserved Sheet.8 Sheet.9 Buffer Address Buffer Address Sheet.10 Sheet.11 Sheet.12 Reserved Reserved Sheet.13 Sheet.14 Reserved Reserved Sheet.15 Sheet.16 Control Control Sheet.17 Sheet.18 Status Status Sheet.19 APP1 APP1 Sheet.20 APP2 APP2 Sheet.21 APP3 APP3 Sheet.22 APP4 APP4 Sheet.23 Sheet.24 APP0 APP0 Sheet.25 Sheet.26 Sheet.27 Sheet.28 Sheet.29 Sheet.30 Data Data Sheet.31 Reserved Reserved Sheet.32 Buffer Descriptors in external memory Buffer Descriptorsin external memory Sheet.33 Data Buffer in external memory Data Buffer in external memory Sheet.34 AXI_STR_TXC_ACLK AXI_STR_TXC_ACLK Sheet.35 AXI_STR_TXC_ARESETN AXI_STR_TXC_ARESETN Sheet.36 AXI_STR_TXC_TDATA(31:0) AXI_STR_TXC_TDATA(31:0) Sheet.37 AXI_STR_TXC_TVALIDs AXI_STR_TXC_TVALIDs Sheet.38 AXI_STR_TXC_TREADY AXI_STR_TXC_TREADY Sheet.39 AXI_STR_TXC_TSTRB(3:0) AXI_STR_TXC_TSTRB(3:0) Sheet.40 AXI_STR_TXC_TLAST AXI_STR_TXC_TLAST Sheet.41 AXI_STR_TXD_ACLK AXI_STR_TXD_ACLK Sheet.42 AXI_STR_TXD_ARESETN AXI_STR_TXD_ARESETN Sheet.43 AXI_STR_TXD_TDATA(31:0) AXI_STR_TXD_TDATA(31:0) Sheet.44 AXI_STR_TXD_TVALID AXI_STR_TXD_TVALID Sheet.45 AXI_STR_TXD_TREADY AXI_STR_TXD_TREADY Sheet.46 AXI_STR_TXD_TSTRB(3:0) AXI_STR_TXD_TSTRB(3:0) Sheet.47 AXI_STR_TXD_TLAST AXI_STR_TXD_TLAST Sheet.48 Sheet.49 A A Sheet.50 receive frame data (variable) receive frame data (variable) Sheet.51 F F Sheet.52 1,3, 7,F 1,3,7,F Standard Arrow Sheet.54 FLAG - set by AXI DMA FLAG - set by AXI DMA Sheet.55 Sheet.56 Sheet.57 Sheet.58 Sheet.59 Sheet.60 Sheet.61 Sheet.62 X14082 X14082 Sheet.63 Sheet.64