图 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 设置为以简单旁路模式进行数据传输,请执行以下操作
- 将活动的 qid 写入寄存器 0x1408 (MDMA_C2H_PFCH_BYP_QID)。
- 从 0x140C (MDMA_c2H_PFCH_BYP_TAG) 读取标签值。
- 在设计示例寄存器 C3H_PREFETCH_TAG 0x24 中写入用于提取标签的标签值和 qid。qid 位为 [26:16],标签位为 [6:0]。
- 写入寄存器 DESCRIPTOR_BYPASS 0x90 bits [2:0] =
3'b100
,以设置简单旁路描述符环回。
设置完初始 C2H 串流数据传输后,prefetch(预取)标签即变为有效,直至 qid 变为有效为止。当前 qid 变为无效后,必须生成新标签。