127.XIlinx fpga端的pcie(XDMA)与驱动是如何交换数据的

特性 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协议
相关推荐
淬炼之火7 分钟前
笔记:Contrastive Object-Aware Fusion
图像处理·笔记·计算机视觉·多模态·图像融合
乐观主义现代人11 分钟前
redis 源码学习笔记
redis·笔记·学习
YJlio12 分钟前
Registry Usage (RU) 学习笔记(15.5):注册表内存占用体检与 Hive 体量分析
服务器·windows·笔记·python·学习·tcp/ip·django
rgc_520_zyl18 分钟前
idea离线模式使用备忘录
笔记
Aaron158825 分钟前
全频段SDR干扰源模块设计
人工智能·嵌入式硬件·算法·fpga开发·硬件架构·信息与通信·基带工程
超龄超能程序猿40 分钟前
Docker常用中间件部署笔记:MongoDB、Redis、MySQL、Tomcat快速搭建
笔记·docker·中间件
时兮兮时1 小时前
CALIPSO垂直特征掩膜(VFM)—使用python绘制主类型、气溶胶和云的子类型
笔记·python·calipso
时兮兮时1 小时前
MODIS Land Cover (MCD12Q1 and MCD12C1) Product—官方文档的中文翻译
笔记·mcd12q1
时兮兮时1 小时前
Linux 服务器后台任务生存指南
linux·服务器·笔记
_Kayo_1 小时前
Node.js 学习笔记6
笔记·学习·node.js