使用Xilinx PCIE XDMA框架读写访问DDR3内容

复制代码
在 FPGA 开发中,使用 XDMA(PCIe DMA)是实现主机和 FPGA 之间数据传输的常见方法。`xdma_rw.exe` 是一个官方提供的命令行工具,用于与 FPGA 进行读写操作,支持从 PCIe 总线读取或写入数据。我利用xdma框架实现了DDR3内存的读写访问,下面是详细的操作步骤。  

一、建立工程

XDMA IP核的配置如下:

配置完的接口如下:

mig ip主要配置的地方如下:

添加AXI接口形式的mig核,使得上位机数据能够存入DDR3同时中断信号能够中断上位机,对应的完整block design框图如下:

接下来很重要的是要对Address Editior进行更改:

XDMA针对AXI_Lite部分的映射地址设置为0x40000000,则上位机0地址便于AXI_LITE0x40000000对应:

绑定管脚:

二、安装xdma系统驱动

将程序烧录到FPGA板卡后,检测到PCI串行端口,接下来安装对应的驱动程序。

在终端打开测试模式:

重启计算机,安装驱动程序,直接在官方下载即可,安装成功的界面如下:

这里已经提供了编译好的xdma_rw.exe文件,同时给定的操作如下:

根据地址分配的情况可知,如果输入0x000_0000将对应于中断寄存器内容,AXI对应映射地址0x4000_0000;

如果从0x4000_0000开始读写将会映射到MIG IP中0x8000_0000。

对DDR3对应的地址进行读写,结果如下,说明通过XDMA-AXI MIG-DDR3读写成功。

相关推荐
千寻xun1 小时前
三、实战篇-NVME SSD控制之FPGA实现(一)
fpga开发·nvme ssd·nvme协议
XMAIPC_Robot5 小时前
软硬协同实时控制|RK3588业务调度+FPGA硬件时序,ethercat实现半导体设备微秒级响应(125us)
linux·arm开发·人工智能·fpga开发
upper20205 小时前
从零开始设计riscv cpu记录之七
fpga开发·riscv·riscv设计·btb·分支预测
ARM|X86+FPGA工业主板厂家9 小时前
AI视觉跟随运动控制实战|RK3588 NPU检测+FPGA EtherCAT多轴联动精准跟随方案,适用于半导体视觉对位等
人工智能·fpga开发·硬件工程·ethercat·实时系统
XMAIPC_Robot13 小时前
RK3588+FPGA半导体设备量产踩坑大全|发热、时序漂移、推理抖动、成像干扰、EMC干扰方案
人工智能·嵌入式硬件·fpga开发·arm+fpga
凡亿卓达方案设计1 天前
FPGA硬件开发怎么选靠谱方案商?
fpga开发
Eloudy1 天前
QSFP28、RoCEv2、RFSoC-4x2 数据传输与器件链路
网络·fpga开发·rocev2
Echo_cy_1 天前
基于ZYNQ-7000的Ethernet驱动配置
linux·驱动开发·嵌入式硬件·fpga开发·ethernet·zynq
現実君1 天前
关于MCU下位替换FPGA的经验与方案
单片机·嵌入式硬件·fpga开发
Terasic友晶科技2 天前
【教程】Agilex 5 SoC 的两种启动模式的开发演示(一)(FPGA Configuration First)
fpga开发·agilex 5 soc