0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

优秀的 Verilog/FPGA开源项目介绍(一)

OpenFPGA 来源:OpenFPGA 作者:OpenFPGA 2021-10-11 15:31 次阅读

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

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

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

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

RIFFA项目

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

方便软件工程师使用:

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

方便硬件工程师使用:

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

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

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 内核驱动程序。公众号:OpenFPGA

b0ae49c6-2a05-11ec-82a8-dac502259ad0.png

其中FPGA文件夹是我们关心的部分,里面包含了ALtera和XIlinx两大主流FPGA厂家的几款主要板卡的DEMO,如下:

b106e1c6-2a05-11ec-82a8-dac502259ad0.png

Altera文件夹下:

b15216c8-2a05-11ec-82a8-dac502259ad0.png

Xilinx文件夹下:

b1acd432-2a05-11ec-82a8-dac502259ad0.png

有兴趣的可以自己查看使用,项目地址:

https://github.com/KastnerRG/riffa

Alex的众多项目

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

Alex Forencich主要项目

b282bb92-2a05-11ec-82a8-dac502259ad0.png

包含网络和PCIe相关,其中cocotbext-xxx是仿真测试模型(cocotb is a coroutine based cosimulation library for writing VHDL and Verilog testbenches in Python.cocotb是一套基于python的用于构建仿真及测试用例的lib库)。

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

有兴趣的可以自己查看使用,项目地址:

https://github.com/alexforencich

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

本文为OpenFPGA作者原创,未经本人授权禁止转载!
编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1625

    文章

    21619

    浏览量

    601151
  • PCIe
    +关注

    关注

    15

    文章

    1200

    浏览量

    82340
  • C++
    C++
    +关注

    关注

    21

    文章

    2097

    浏览量

    73452
  • 代码
    +关注

    关注

    30

    文章

    4719

    浏览量

    68210
  • python
    +关注

    关注

    55

    文章

    4766

    浏览量

    84363

原文标题:Alex的众多项目

文章出处:【微信号:Open_FPGA,微信公众号:OpenFPGA】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPGA加速深度学习模型的案例

    名称 :DE5Net_Conv_Accelerator 应用场景 :面向深度学习的开源项目,实现了AlexNet的第层卷积运算加速。 技术特点 : 采用了Verilog语言进行编程,
    的头像 发表于 10-25 09:22 99次阅读

    基于FPGA的JPEG-LS图像压缩器介绍

    现在来看下GitHub上面开源的JPEG LS算法的Verilog实现
    的头像 发表于 10-15 17:27 269次阅读
    基于<b class='flag-5'>FPGA</b>的JPEG-LS图像压缩器<b class='flag-5'>介绍</b>

    ElfBoard开源项目|“智慧光伏”开源项目技术文档

    最大化地捕捉和利用。下面就和各位小伙伴详细介绍下这一开源项目是怎样实现的。环境说明1.开发环境操作系统:Ubuntu18.0464位版2.交叉编译工具链:arm-
    的头像 发表于 10-11 15:52 312次阅读
    ElfBoard<b class='flag-5'>开源</b><b class='flag-5'>项目</b>|“智慧光伏”<b class='flag-5'>开源</b><b class='flag-5'>项目</b>技术文档

    怎么样提高verilog代码编写水平?

    优秀代码:在网上查找开源的、经过验证的高质量 Verilog 代码,学习他人的编程风格、代码结构和设计思路。 实践项目:尝试自己设计和实现
    发表于 09-25 20:05

    FPGA芯片架构和资源有深入的理解,精通Verilog HDL、VHDL

    、计算机相关专业,具有良好的专业基础知识。 2.工作年限不限,有工作经验或优秀应届毕业生亦可。 3.对FPGA芯片架构和资源有深入的理解,精通Verilog HDL、VHDL编程语言,熟悉时序约束、时序分析
    发表于 09-15 15:23

    【招聘】verilog vhdl FPGA

    1.熟悉FPGA架构及应用,熟悉图像算法的FPGA实现。 2.熟悉verilog vhdl,熟悉Xilinx或Intel等开发工具。 3.有AI算法 fpga实现经验优先。 4.本科及
    发表于 09-02 15:50

    哪有FPGAverilog编程基础知识?

    没接触过FPGA开发,那个verilog编程有什么入门基础知识学习的?
    发表于 04-29 23:09

    优秀Verilog/FPGA开源项目-浮点运算器(FPU)介绍

    浮点运算器(英文:floating point unit,简称FPU)是计算机系统的部分,它是专门用来进行浮点数运算的(CPU中也叫ALU)。
    的头像 发表于 04-26 11:27 2752次阅读
    <b class='flag-5'>优秀</b>的<b class='flag-5'>Verilog</b>/<b class='flag-5'>FPGA</b><b class='flag-5'>开源</b><b class='flag-5'>项目</b>-浮点运算器(FPU)<b class='flag-5'>介绍</b>

    FPGA开源项目Verilog常用可综合IP模块库

    所有代码在典型的 FPGA 和主流 FPGA 供应商中都具有高度可重用性。 可以出于任何目的对文件进行重新混合、转换和构建,甚至是商业用途。
    发表于 03-29 11:31 809次阅读
    <b class='flag-5'>FPGA</b><b class='flag-5'>开源</b><b class='flag-5'>项目</b>:<b class='flag-5'>Verilog</b>常用可综合IP模块库

    fpga是用c语言还是verilog

    FPGA(现场可编程逻辑门阵列)开发主要使用的编程语言是硬件描述语言(HDL),其中Verilog是最常用的编程语言之。而C语言通常用于传统的软件编程,与FPGA的硬件编程有所区别。
    的头像 发表于 03-27 14:38 1681次阅读

    优秀Verilog/FPGA开源项目开发-CAN通信篇

    CAN总线有两个ISO国际标准:ISO11898 和 ISO11519。
    的头像 发表于 02-22 09:32 1780次阅读
    <b class='flag-5'>优秀</b>的<b class='flag-5'>Verilog</b>/<b class='flag-5'>FPGA</b><b class='flag-5'>开源</b><b class='flag-5'>项目</b>开发-CAN通信篇

    FPGA? 开搞!

    。 该工具链使用 Yosys 和 OpenFPGALoader 等开源工具,并与 Cologne Chip 合作开发实施和比特流生成工具。在设计输入方面,工程师可以使用 Verilog、VHDL(通过
    发表于 01-11 00:52

    关于FPGA开源项目介绍

    Hello,大家好,之前给大家分享了大约一百多个关于FPGA开源项目,涉及PCIe、网络、RISC-V、视频编码等等,这次给大家带来的是不枯燥的娱乐项目,主要偏向老的游戏内核使用
    的头像 发表于 01-10 10:54 1299次阅读
    关于<b class='flag-5'>FPGA</b>的<b class='flag-5'>开源</b><b class='flag-5'>项目</b><b class='flag-5'>介绍</b>

    开源FPGA项目有哪些

    请问开源FPGA项目有哪些?
    发表于 12-26 12:09

    FPGA优质开源模块-SRIO IP核的使用

    本文介绍FPGA常用模块:SRIO(Serial RapidIO)。SRIO协议是种高速串行通信协议,在我参与的项目中主要是用于
    的头像 发表于 12-12 09:19 1998次阅读
    <b class='flag-5'>FPGA</b>优质<b class='flag-5'>开源</b>模块-SRIO IP核的使用