L-tile和H-tile Avalon® 存储器映射 Intel® FPGA IP PCI Express* 用户指南

ID 683667
日期 11/11/2021
Public
文档目录

8.4. Read DMA和Write DMA描述符格式

读和写描述符分别储存于 PCIe* 系统存储器的不同描述符列表中。每个列表最多可储存128个描述符。每个描述符8 DWORD,或32字节。Read DMA和Write DMA描述符列表开始于Read Status and Descriptor BaseWrite Status and Descriptor Base地址寄存器中编程地址偏移0x200字节。

编程RD_DMA_LAST_PTRWR_DMA_LAST_PTR寄存器会触发Read或Write Descriptor Controller描述符列表读取处理。因而,写这些寄存器必须是设置DMA传送过程中的最后一步。

注: 因为DMA Descriptor Controller使用FIFO储存描述符列表条目,所以一旦开始描述符列表中的指定传送就不可重编程DMA Descriptor Controller。
表 72.  读描述符格式使用您自己的DMA控制器时, Avalon® -ST上的Read和Write Data Mover也必须使用此格式。

地址偏移

寄存器名称

描述

0x00

RD_LOW_SRC_ADDR

读DMA源地址的低DWORD。为Read Data Mover指定在 PCIe* 系统存储器中取回数据的地址。

0x04

RD_HIGH_SRC_ADDR

读DMA源地址的高DWORD。为Read Data Mover指定在 PCIe* 系统存储器中取回数据的地址。

0X08

RD_CTRL_LOW_DEST_ADDR

读DMA目的地址的低DWORD。为Read Data Mover指定在Avalon-MM域中写数据的地址。

0x0C

RD_CTRL_HIGH_DEST_ADDR

读DMA目的地址的高DWORD。为Read Data Mover指定在Avalon-MM域中写数据的地址。

0x10 CONTROL 指定以下信息:
  • [31:25] 保留则必为0。
  • [24:18] ID。指定Descriptor IDDescriptor ID 0在列表的前端。而对于最大描述符列表,Descriptor ID127在列表的末尾。
  • [17:0] SIZE。传送大小以DWORD为单位。且必须为非零。最大传送为(1 MB - 4字节)。如果指定传送量小于最大传送量,则传送量为输入的实际大小。
0x14 - 0x1C 保留 N/A
表 73.  写描述符格式

地址偏移

寄存器名称

描述

0x00

WR_LOW_SRC_ADDR

写DMA源地址的低DWORD。为Write Data Mover在 Avalon® MM域中指定取回数据的地址。

0x04

WR_HIGH_SRC_ADDR

写DMA源地址的高DWORD。为Write Data Mover在 Avalon® MM域中指定取回数据的地址。

0x08

WR_CTRL_LOW_DEST_ADDR

Write Data Mover目的地址的低DWORD。为Write DMA在 PCIe* 系统存储器中指定写数据的地址。

0x0C

WR_CTRL_HIGH_DEST_ADDR

写DMA目的地址的高DWORD。在Write Data Mover写数据的 PCIe* 系统存储器中指定地址。

0x10 CONTROL 指定以下信息:
  • [31:25] 保留则必为0。
  • [24:18] ID。指定Descriptor IDDescriptor ID 0在列表的前端。Descriptor ID在列表的末尾。
  • [17:0] SIZE。传送量以DWORD为单位。且必须为非零。最大传送量为(1 MB - 4字节)。如果指定传送量小于最大传输量,则传送量为输入的实际大小。
0x14 - 0x1C 保留 N/A