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协议
相关推荐
云原生指北2 小时前
你的数据正在喂养 AI:从 Atlassian 公告,看科技平台的数据训练默认政策
笔记
**蓝桉**2 小时前
容器服务学习笔记
笔记·学习
逻辑诗篇3 小时前
高性能存储扩展利器|PCIE719 基于Zynq UltraScale+的企业级可编程SAS方案
fpga开发
zhangrelay3 小时前
三分钟云课实践速通--模拟电子技术-模电--SimulIDE
linux·笔记·学习·ubuntu·lubuntu
木木_王4 小时前
嵌入式Linux学习 | 数据结构 (Day05) 栈与队列详解(原理 + C 语言实现 + 实战实验 + 易错点剖析)
linux·c语言·开发语言·数据结构·笔记·学习
lkforce4 小时前
MiniMind学习笔记(三)--train_pretrain.py(预训练)
笔记·机器学习·ai·预训练·minimind·train_pretrain
OSwich4 小时前
【 Godot 4 学习笔记】数组(Array)
笔记·学习·godot
数据皮皮侠AI4 小时前
中国城市可再生能源数据集(2005-2021)|顶刊 Sci Data 11 种能源面板
大数据·人工智能·笔记·能源·1024程序员节
其实防守也摸鱼4 小时前
面试常问问题总结--护网蓝队方向
网络·笔记·安全·面试·职场和发展·护网·初级蓝队
liuluyang5305 小时前
SV主要关键词详解
fpga开发·uvm·sv