






| 特性 | DMA 写(主机到FPGA) | DMA 读(FPGA到主机) | 直接寄存器访问 |
|---|---|---|---|
| 数据流向 | Host Memory → FPGA | FPGA → Host Memory | CPU寄存器 ↔ FPGA寄存器 |
| PCIe事务 | Mem Read (主机是 Completer) | Mem Write (主机是 Completer) | Mem Read/Write |
| AXI事务 | AXI4 Write | AXI4 Read | AXI4-Lite Read/Write |
| 驱动主要动作 | 准备源(主机)和目标(FPGA)描述符 | 准备源(FPGA)和目标(主机)描述符 | ioremap, iowrite/read |
| 性能 | 高带宽 | 高带宽 | 低延迟,低带宽 |
| 用途 | 传输大量数据(如图像、数据流) | 读取大量结果数据 | 配置、控制、状态查询 |





| 特性 | 模式一:与存储器交互 | 模式二:与用户逻辑交互 |
|---|---|---|
| 连接方式 | XDMA <-> AXI Interconnect <-> DDR控制器 | XDMA <-> 你的自定义逻辑(AXI Slave) |
| FPGA逻辑角色 | 被动/旁观者 | 主动参与者 |
| DMA写过程 | 数据自动写入DDR,逻辑无需关心 | 逻辑必须通过AXI-Stream接口实时接收数据,并管理背压 |
| DMA读过程 | 数据自动从DDR读出,逻辑无需关心 | 逻辑必须通过AXI-Stream接口实时提供数据 |
| 优点 | 简单,易于实现,适合大数据块缓存 | 延迟低,适合流式处理,数据可直接送入处理单元 |
| 缺点 | 延迟较高(需要经过DDR) | 逻辑设计复杂,需要正确处理AXI协议 |
