紫光同创FPGA实现PCIE测速试验,提供PDS工程和Linux QT上位机源码和技术支持

目录

紫光同创FPGA实现PCIE测速试验,提供PDS工程和Linux QT上位机源码和技术支持

1、前言

"苟利国家生死以,岂因祸福避趋之!"大洋彼岸的我优秀地下档员,敏锐地洞察到祖国的短板在于高精尖半导体的制造领域,于是本着为中华民族伟大复兴的中国梦贡献绵薄之力的初心,懂先生站在高略高度和长远角度谋划,宁愿背当代一世之骂名也要为祖国千秋万世谋,2018年7月,懂先生正式打响毛衣战,随后又使出恰勃纸战术,旨在为祖国先进制程半导体领域做出自主可控的战略推动;在此,请收下我一声谢谢啊!!!!!!

2019年初我刚出道时,还是Xilinx遥遥领先的时代(现在貌似也是),那时的国产FPGA还处于辣鸡段位,国产FPGA仰望Xilinx情不自禁道:你以为躲在这里就找不到你吗?没用的,你那样拉轰的男人,无论在哪里,都像黑夜里的萤火虫那样的鲜明、那样的出众,你那忧郁的眼神,稀嘘的胡渣子,神乎其技的刀法,还有那杯Dry martine,都深深的迷住了我。。。然而才短短4年,如今的国产FPGA属于百家争鸣、百花齐放、八仙过海、神仙打架、方兴未艾、得陇望蜀、友商都是XX的喜极而泣之局面,面对此情此景,不得不吟唱老人家的诗句:魏武挥鞭,东临碣石有遗篇,萧瑟秋风今又是,换了人间。。。

言归正传,目前对于国产FPGA的共识有以下几点:

1:性价比高,与同级别国外大厂芯片相比,价格相差几倍甚至十几倍;

2:自主可控,国产FPGA拥有完整自主知识产权的产业链,从芯片到相关EDA工具

3:响应迅速,FAE技术支持比较到位,及时解决开发过程中遇到的问题,毕竟中文数据手册。。

4:采购方便,产业链自主可控,采购便捷

没玩过PCIE高速接口都不好意思说自己玩儿过FPGA,这是CSDN某大佬说过的一句话,鄙人深信不疑。。。本文使用紫光同创的PG2L100H-6FBG676 FPGA实现PCIE测速试验,提供紫光同创FPGA的PCIE IP核文件,将PCIE IP配置为X2模式,5G线速率,然后生成默认的example工程,该example工程已经包含了可进行 DMA 常规的读写内存测试,可以傻瓜式使用,提供Linux版本的驱动文件和QT上位机源码,在Linux端安装驱动,下载bit,然后运行QT上位机测速软件,即可完成PCIE测速试验;

本设计提供1套Pango Design Suite 2021.4版本的工程源码;提供PCIE IP核文件;提供Linux版本的驱动文件;提供Linux版本的QT上位机源码;

本博客详细描述了紫光同创FPGA实现PCIE测速试验的设计方案,工程代码可综合编译上板调试,可直接项目移植,适用于在校学生、研究生项目开发,也适用于在职工程师做学习提升,可应用于医疗、军工等行业的高速接口或图像处理领域;

提供完整的、跑通的工程源码和技术支持;

工程源码和技术支持的获取方式放在了文章末尾,请耐心看到最后;

免责声明

本工程及其源码即有自己写的一部分,也有网络公开渠道获取的一部分(包括CSDN、Xilinx官网、Altera官网等等),若大佬们觉得有所冒犯,请私信批评教育;基于此,本工程及其源码仅限于读者或粉丝个人学习和研究,禁止用于商业用途,若由于读者或粉丝自身原因用于商业用途所导致的法律问题,与本博客及博主无关,请谨慎使用。。。

2、我已有的PCIE方案

我的主页有PCIE通信专栏,该专栏基于XDMA的轮询模式实现与QT上位机的数据交互,既有基于RIFFA实现的PCIE方案,也有基于XDMA实现的PCIE方案;既有简单的数据交互、测速,也有应用级别的图像采集传输,以下是专栏地址:
点击直接前往

此外,我的主页有中断模式的PCIE通信专栏,该专栏基于XDMA的中断模式实现与QT上位机的数据交互,以下是专栏地址:点击直接前往

3、设计思路框架

提供紫光同创FPGA的PCIE IP核文件,将PCIE IP配置为X2模式,5G线速率,然后生成默认的example工程,该example工程已经包含了简单的读写例程,可以傻瓜式使用,提供Linux版本的驱动文件和QT上位机源码,在Linux端安装驱动,下载bit,然后运行QT上位机测速软件,即可完成PCIE测速试验;工程设计框图如下:

PCIE硬件设计

这个根据每个人手里的板子而定,这里仅介绍我这里情况,如下:

我的板子是一个PCIEX2的连接器;原理图如下:

PCIE IP核添加和配置

我们提供PCIE IP核文件,新建一个PDA工程,然后按照如下步骤添加PCIE IP核添加并配置:




然后双击打开IP配置,如下:

配置完成后,点击"Generate"产生 PCIe 的example工程,如下:

然后打开生成的example工程,如下:

驱动文件和驱动安装

提供Linux版本的驱动文件,如下:

linux 系统版本为 ubuntu-16.04.3,不能安装虚拟机;先切换到管理权限,su 然后口 password:输入密码;如下:

输入"cd + 目录"并敲回车,进入驱动文件所在目录;如下:

输入"make"并敲回车,等待编译完成,完成后可以在 driver 目录下看到.ko 文件;如下:

输入"insmod pango_pci_driver.ko"并敲回车,驱动加载成功后,界面如下:

QT上位机和源码

提供Linux版本的QT上位机源码;如下: QT版本为QT5.7.1;

Linux下的QT软件安装请自行CSDN搜索解决。。。

4、PDS工程详解

注意!!

注意!!

注意!!

该工程需要拷贝到Linux中去;

开发板FPGA型号:紫光同创--PG2L100H-6FBG676;

开发环境:Pango Design Suite 2021.4

输入输出:PCIE2.0 X2;

工程作用:紫光同创FPGA实现PCIE测速试验

工程代码架构如下:

工程的资源消耗如下:

工程已经综合编译完成,如下:

5、上板调试验证并演示

用刚安装的 QT 软件打开上位机测程序进行 PCIe 速度测试程序,程序位于 linux 桌面PCIe_test/PC/pciespeed 中,打开下图的测速软件 pciespeed,打开后并单击红色框中"run"按钮,出现如下测速码表界面;

只读测试验结果如下:

只写测试结果如下:

6、福利:工程代码的获取

福利:工程代码的获取

代码太大,无法邮箱发送,以某度网盘链接方式发送,

资料获取方式:私,或者文章末尾的V名片。

网盘资料如下:

相关推荐
我言秋日胜春朝★40 分钟前
【Linux】进程地址空间
linux·运维·服务器
C-cat.1 小时前
Linux|环境变量
linux·运维·服务器
yunfanleo1 小时前
docker run m3e 配置网络,自动重启,GPU等 配置渠道要点
linux·运维·docker
糖豆豆今天也要努力鸭2 小时前
torch.__version__的torch版本和conda list的torch版本不一致
linux·pytorch·python·深度学习·conda·torch
烦躁的大鼻嘎2 小时前
【Linux】深入理解GCC/G++编译流程及库文件管理
linux·运维·服务器
ac.char2 小时前
在 Ubuntu 上安装 Yarn 环境
linux·运维·服务器·ubuntu
敲上瘾2 小时前
操作系统的理解
linux·运维·服务器·c++·大模型·操作系统·aigc
长弓聊编程2 小时前
Linux系统使用valgrind分析C++程序内存资源使用情况
linux·c++
cherub.2 小时前
深入解析信号量:定义与环形队列生产消费模型剖析
linux·c++
重生之我是数学王子3 小时前
QT基础 编码问题 定时器 事件 绘图事件 keyPressEvent QT5.12.3环境 C++实现
开发语言·c++·qt