04VS+QT PCIE测速软件

发布时间 2023-12-30 18:39:29作者: 米联客(milianke)

软件版本:vitis2021.1(vivado2021.1)

操作系统:WIN10 64bit

硬件平台:适用XILINX A7/K7/Z7/ZU/KU系列FPGA

登录"米联客"FPGA社区-www.uisrc.com视频课程、答疑解惑!

4.1概述

经过前面章节的学习,如果读者应该已经掌握了PCIE XDMA方案的使用,那么我们知道QT可以设计出华丽的界面,那么本章就是设计一个简单的测速码表程序,比起前面的章节测试,这个小程序界面非常酷。

4.2系统构架

本系统中通过XDMA IP将开发板及PCIE上位机识别连接。AXI Interconnect IP通过使用AXI及AXI_LITE总线将XDMA与内存部分DDR或者Bram连接。通过PCIE上位机发出读写指令控制XDMA对开发板内存进行读写操作。

4.3FPGA代码

FPGA可以用任何一个章节的,这里就用"03基于XDMA实现PCIE通信方案"的代码,简单。具体就不重复了,不清楚的可以看"03基于XDMA实现PCIE通信方案"相关部分教程内容。本方案中的上位机没有使用中断功能。

4.5测试码表上位机程序设计

首先感谢网友贡献的测试码表控件源码,笔者修改了几个参数就可以正常使用到本次的例子中了。设计思路也很简单,在QT中开启了2个定时器,分别用于h2c和c2h通道,每过100ms定时器进行一次读操作或者写操作。在pcie_fun.c文件中,有测试函数,完成传输测试后,把结果的值输出到myspeed测速码表控件。

以上代码中,显示速度的控件代码是myspeed.c和myspeed.h

关于PCIE通信的核心代码是pcie_fun.c和pcie_fun.h 详细的实现过程读者可以阅读程序源码。

4.6硬件安装

注意先下载程序,调试阶段下载bit文件,然后再开电脑。这样才能正确识别和后续测试工作正常开展。

4.7实验结果

不同的板卡,PCIE的最大带宽不一样,以实际为准。下面的是PCIEX2 2.0的测速指标。