使用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读写成功。

相关推荐
hahaha601615 小时前
Flash烧录速度和加载配置速度(纯FPGA & ZYNQ)
fpga开发
hahaha601615 小时前
ARINC818编解码设计FPGA实现
fpga开发
XMAIPC_Robot16 小时前
基于RK3568的多网多串电力能源1U机箱解决方案,支持B码,4G等
linux·fpga开发·能源·边缘计算
广药门徒19 小时前
在使用一些不用驱动大电流的设备就可以用stm32的自己的上下拉但是本身上下拉不就是给iicspi这些他通信给信号的吗中怎么还跟驱动能力扯上了有什么场景嘛
stm32·单片机·fpga开发
hahaha601621 小时前
XDMA pcie环路测试
fpga开发
XMAIPC_Robot2 天前
基于FPGA + JESD204B协议+高速ADC数据采集系统设计
fpga开发
XMAIPC_Robot2 天前
基于RK3576+FPGA+AI工业控制器的工地防护检测装备解决方案
人工智能·fpga开发
XMAIPC_Robot2 天前
基于 ZYNQ UltraScale+ OV5640的高速图像传输系统设计,支持国产替代
linux·数码相机·fpga开发·架构·边缘计算
读书点滴3 天前
关于FPGA软核的仿真(一)
fpga开发
XMAIPC_Robot3 天前
基于 NXP + FPGA+Debian 高可靠性工业控制器解决方案
运维·人工智能·fpga开发·debian·边缘计算