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

相关推荐
Joshua-a21 小时前
FPGA基于计数器的分频器时序违例的解决方法
嵌入式硬件·fpga开发·fpga
尤老师FPGA21 小时前
LVDS系列38:Xilinx 7系 AD9253 LVDS接口设计仿真(五)
fpga开发
史蒂芬_丁1 天前
PG分频_CLB
fpga开发
博览鸿蒙1 天前
嵌入式是否如传说中那么简单?
fpga开发
Aaron15881 天前
全频段SDR干扰源模块设计
人工智能·嵌入式硬件·算法·fpga开发·硬件架构·信息与通信·基带工程
洋洋Young2 天前
【Xilinx FPGA】DDR3 SDRAM 控制器
fpga开发·xilinx
碎碎思2 天前
在 FPGA 里跑 SDR 和 FT8:一个 32 MHz 全频谱无线电的硬核实现
fpga开发
EVERSPIN2 天前
USB3.0接口转换高性能图像传感和数据采集方案
fpga开发·usb3.0·接口转换·usb3.0接口转换
Macbethad2 天前
串口服务器技术报告:从RS232/485到MODBUS TCP的工业通信演进
fpga开发
GateWorld2 天前
FPGA DSP模块使用中不易察觉的坑
fpga开发·ip·实战经验·fpga dsp使用