• 紫光同创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名片。
    网盘资料如下:
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    深度学习系列47:styleGAN总结
    OpenSSL拒绝服务漏洞(CVE-2022-0778)的升级
    C#调用C++dll的时候如何同步调试dll?
    全网售罄!南卡护眼台灯L1为何能这么受欢迎?
    ConfigurationManager姿势快闪
    vue3 setup语法糖
    Linux之VFS之美
    方程组解的情况与向量组相关性转化【线代碎碎念】
    如何制造更多的 major page fault
    MySQL--函数
  • 原文地址:https://blog.csdn.net/qq_41667729/article/details/133915229