Xilinx XDMA说明和测试-ST


本文主要介绍Xilinx XDMA Stream接口的使用方法和下载测试方法。

1 测试工程

XDMA在AXI Stream接口模式下的基本使用方法与AXI Memory Mapped模式基本相同,区别在于在设置XDMA时,在Basic标签页中,DMA Interface option选择为AXI Stream。使用Vivado创建下图所示的Block Design,AXI-Lite接口接到BRAM上,AXIS的H2C接口直接连接到AXIS的C2H接口。该工程可从Github下载,使用的FPGA板卡为浪潮的F37X加速器,运行工程目录下的run.sh执行run.tcl即可完成工程的创建和编译。
在这里插入图片描述

2 驱动安装

驱动的安装与AXI Memory Mapped模式一致,驱动可从Github下载,根文件夹下的xdma.sh文件为测试命令脚本,使用方式为./xdma <参数>。需要注意的时,如果把编译好的驱动复制到新机器上,直接加载驱动会提示"insmod: ERROR: could not insert module xdma/xdma.ko: Invalid module format",需要重新执行sudo make install编译驱动后再加载。

  • 下载Bit文件,重启主机
  • 编译驱动:进入xdma文件夹,执行sudo make install
  • 编译工具:进行tools文件夹,执行make
  • 加载驱动:进入tests文件夹,执行sudo ./load_driver.sh

在这里插入图片描述

3 传输测试

  • AXI-Lite写通道:./reg_rw <设备> <地址> <数据长度> <写入数据>

在这里插入图片描述
在这里插入图片描述

  • AXI-Lite读通道:./reg_rw <设备> <地址> <数据长度>

在这里插入图片描述
在这里插入图片描述

  • AXI-Stream通道:直接调用XDMA的测试脚本run_test.sh,整个测试流程包括查询使能通道、确定接口方式(MM or ST),根据接口方式调用脚本dma_memory_mapped_test.sh或者dma_streaming_test。本工程是ST接口,所以调用dma_streaming_test.sh脚本,该脚本首先使用dma_form_device命令准备接收数据,然后使用dma_to_device命令将数据写入XDMA,最后对比读出的数据和写入的数据是否一致,验证传输过程是否出现错误。测试结果如下图所示。

在这里插入图片描述
在这里插入图片描述

4 错误解决

  • 错误
  • 错误现象:如下图
    在这里插入图片描述
  • 错误原因:
    • 接收指令dma_from_device定义的size不对
    • 自己定义的接口没给tlast信号
  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Xilinx XDMA是一种高性能的PCIe总线接口IP核,可用于数据传输和处理。对于进行Xilinx XDMA测试,以下是一些关键点和步骤。 首先,我们需要准备测试环境。我们需要一块支持PCIe接口的Xilinx FPGA开发板,并连接上测试设备,如计算机或其他外部设备。我们还需要安装好Xilinx Vivado和Xilinx SDK工具,以便进行IP核的配置和测试。 接下来,我们需要进行IP核的配置。在Vivado中创建一个新工程,并添加XDMA IP核。根据实际需求和接口要求,我们可以进行IP核的参数设置和端口配置。然后,生成并导出IP核的RTL设计,以便后续工程的使用。 完成IP核配置后,我们可以进行XDMA测试的编程和调试。使用Xilinx SDK工具,我们可以创建一个新的应用程序工程,并将IP核RTL文件添加到工程中。在代码中,我们可以使用相关函数和接口来初始化和配置XDMA IP核,并进行数据传输和处理。我们还可以添加一些测试代码,以验证IP核的性能和功能。 测试代码完成后,我们可以使用Vivado工具来进行仿真和调试。通过仿真,我们可以验证代码的正确性和功能。我们可以使用测试负载来模拟和生成不同的数据传输和处理场景,以评估IP核的性能。在仿真过程中,我们可以监测和分析各个信号和接口的波形和时序,以确保设计的正确性和稳定性。 最后,我们可以进行硬件验证和性能测试。将程序下载到开发板中,通过连接计算机或其他外部设备,我们可以实际测试XDMA IP核的性能和功能。我们可以使用性能测试软件和工具来对IP核进行吞吐量和延迟的测试,并评估其是否符合实际需求和规格要求。 通过以上步骤,我们可以进行Xilinx XDMA测试。通过配置IP核、编写测试代码、进行仿真和硬件验证,我们可以确保IP核的正确性、性能和稳定性,为后续的应用开发和部署提供可靠的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值