查看: 825|回复: 0
收起左侧

优秀的 Verilog/FPGA开源项目介绍(一)-PCIe通信

[复制链接]

  离线 

  • TA的每日心情
    奋斗
    2022-6-21 08:23
  • 签到天数: 2 天

    [LV.1]

    发表于 2021-12-5 12:56:52 | 显示全部楼层 |阅读模式

    有人预言,RISC-V或将是继Intel和Arm之后的第三大主流处理器体系。欢迎访问全球首家只专注于RISC-V单片机行业应用的中文网站

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    本帖最后由 塞巴斯蒂安 于 2021-12-5 12:56 编辑

    优秀的 Verilog/FPGA开源项目介绍(一)-PCIe通信

    今天开始会陆续介绍一些优秀的开源项目,项目基本都是和FPGA或HDL相关的。对于一些找工作或者急需项目经验的人来说,这些项目都有一定的参考价值。

    这里再介绍一下开源协议的区别,方便大家在阅读使用这些开源项目时尊重规则。

    详情查看:https://suisuisi.blog.csdn.net/article/details/120660472

    一、RIFFA项目

    RIFFA(FPGA 加速器的可重用集成框架)是一个简单的框架,用于通过 PC++I Express 总线将数据从主机 CPU 传送到 FPGA。该框架需要支持 PCIe 的工作站和带有 PCIe 连接器的板上的 FPGA。RIFFA 支持 Windows 和 Linux、Altera 和 Xilinx,具有 C/C++、Python、MATLAB 和 Java 的绑定。适配Xilinx和Intel的FPGA,支持PCIe 2.0设计中对底层硬件进行了抽象,用户使用的过程中无需关注底层的硬件,同时上层软件将PCIe的操作抽象为读和写操作,用户直接调用函数即可。

    方便软件工程师使用:

    在软件方面有两个主要功能:数据发送和数据接收。这些函数通过 C/C++、Python、MATLAB 和 Java 中的用户库公开。该驱动程序支持一个系统中最多5个 FPGA。软件适用于 Linux 和 Windows 操作系统。用户只需编写几行代码即可与 FPGA IP 核进行通信。

    方便硬件工程师使用:

    在硬件方面,用户访问一个独立的发送和接收信号的接口。这些信号提供事务握手和通过 FIFO 接口读取/写入数据。不需要了解总线地址、缓冲区大小或 PCIe 数据包格式。只需在 FIFO 接口上发送数据并在 FIFO 接口上接收数据。

    RIFFA 不依赖于 PCIe 桥接器,因此不受桥接器实现的限制。相反,RIFFA 直接与 PCIe 端点配合使用,运行速度足以使 PCIe 链路饱和。软件和硬件接口都得到了极大的简化。详细信息可以在硬件接口页面上找到。

    RIFFA 使用直接内存访问 (DMA) 传输和中断信号传输数据。这实现了 PCIe 链路上的高带宽。在我们的测试中,我们能够使所有测试中的链路饱和(或接近饱和)。我们已经在 AVNet Spartan LX150T、Xilinx ML605 和 Xilinx VC707 以及 Altera DE5-Net、DE4 和 DE2i 板上实现了 RIFFA。RIFFA 发行版包含在上面列出的三个开发板上设置设计的示例和指南。

    此外,该网站还提供了如何从所有软件绑定访问您的设计的示例。RIFFA 已经在 Fedora 13 和 17(32/64 位版本)和 Ubuntu Desktop 10.04 LTS 和 12.04 LTS(32/64 位版本)上进行了测试。RIFFA 依赖于 Linux 内核 2.6.27+(在 2.6.32 - 3.3.0 之间的版本上测试)支持的自定义 Linux 内核驱动程序。
    国外芯片技术交流-优秀的 Verilog/FPGA开源项目介绍(一)-PCIe通信risc-v单片机中文社区(1)

    其中FPGA文件夹是我们关心的部分,里面包含了ALtera和XIlinx两大主流FPGA厂家的几款主要板卡的DEMO,如下:
    国外芯片技术交流-优秀的 Verilog/FPGA开源项目介绍(一)-PCIe通信risc-v单片机中文社区(2)
    Altera文件夹下:
    国外芯片技术交流-优秀的 Verilog/FPGA开源项目介绍(一)-PCIe通信risc-v单片机中文社区(3)
    Xilinx文件夹下:
    国外芯片技术交流-优秀的 Verilog/FPGA开源项目介绍(一)-PCIe通信risc-v单片机中文社区(4)

    有兴趣的可以自己查看使用,项目地址:
    1. https://github.com/KastnerRG/riffa
    复制代码

    Alex的众多项目

    Alex的项目可以用惊艳来形容,绝大部分都是个人开发的,都是非常专业的代码,非常敬佩其专业能力和分享精神,或许这才是真正的诗和远方。

    Alex Forencich主要项目
    国外芯片技术交流-优秀的 Verilog/FPGA开源项目介绍(一)-PCIe通信risc-v单片机中文社区(5)
    包含网络和PCIe相关,其中cocotbext-xxx是仿真测试模型(cocotb is a coroutine based cosimulation library for writing VHDL and Verilog testbenches in Python.cocotb是一套基于python的用于构建仿真及测试用例的lib库)。

    其中cocotbext-axi也是一个非常出名的项目。

    有兴趣的可以自己查看使用,项目地址:
    1. https://github.com/alexforencich
    复制代码

    个人感觉Alex Forencich的PCIe项目完成度不如RIFFA,前者目前仅支持与 Xilinx UltraScale 和 UltraScale+ PCIe 硬核 IP 核配合使用,接口介于 64 位和 512 位之间。而后者在Altera及Xilinx很多主要平台经过验证,同时配备上位机驱动,方便使用。但是后者的仿真理论(包括使用cocotbext-pcie和 cocotbext- axi 的完整 cocotb 测试平台 。)更加充实,适合研究总线接口。以上仅代表个人愚见,我读书少,喷我你就是对的!






    上一篇:三星准备抛弃ARM,开发RISC-V架构自主CPU内核
    下一篇:德勤:RISC-V市场规模2年翻番,2024年接近10亿美元
    RISCV作者优文
    全球首家只专注于RISC-V单片机行业应用的中文网站
    回复

    使用道具 举报

    高级模式
    B Color Image Link Quote Code Smilies

    本版积分规则

    关闭

    RISC-V单片机中文网上一条 /2 下一条



    版权及免责声明|RISC-V单片机中文网 |网站地图

    GMT+8, 2024-4-25 22:22 , Processed in 0.674752 second(s), 48 queries .

    快速回复 返回顶部 返回列表