目录
紫光同创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名片。
网盘资料如下: