含描述符旁路输入/输出环回的设计示例 - 5.0 简体中文

QDMA Subsystem for PCI Express 产品指南 (PG302)

Document ID
PG302
Release Date
2023-10-18
Version
5.0 简体中文
图 1. AXI 存储器映射和描述符旁路设计示例

在“PCIe DMA”选项卡中选中Descriptor Bypass for Read (H2C)(对应读取的描述符旁路)选项和Descriptor Bypass for Write (C2H)(对应写入的描述符旁路)选项时,即可生成上述设计示例。选中这些选项卡的同时还可以搭配选中“Basic”(基本)选项卡中的任意 DMA 接口选项:

  • AXI Memory Mapped and AXI4-Stream with Completion
  • AXI Memory Mapped only
  • AXI Stream with Completion
  • AXI Memory Mapped with Completion

描述符旁路输入/输出环回由 AXI4‑Lite 主接口进行控制,方法是写入设计示例寄存器 DESCRIPTOR_BYPASS (0x090) bit[0] 和 bit[1]。

要启用描述符旁路输出,需进行适当的上下文编程。欲知详情,请参阅 上下文编程

C2H 串流简单旁路模式传输

要将 QDMA 设置为以简单旁路模式进行数据传输,请执行以下操作

  1. 将活动的 qid 写入寄存器 0x1408 (MDMA_C2H_PFCH_BYP_QID)。
  2. 从 0x140C (MDMA_c2H_PFCH_BYP_TAG) 读取标签值。
  3. 在设计示例寄存器 C3H_PREFETCH_TAG 0x24 中写入用于提取标签的标签值和 qid。qid 位为 [26:16],标签位为 [6:0]。
  4. 写入寄存器 DESCRIPTOR_BYPASS 0x90 bits [2:0] = 3'b100,以设置简单旁路描述符环回。

设置完初始 C2H 串流数据传输后,prefetch(预取)标签即变为有效,直至 qid 变为有效为止。当前 qid 变为无效后,必须生成新标签。