艾巴生活网

您现在的位置是:主页>科技 >内容

科技

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

2024-05-13 14:34:59科技帅气的蚂蚁
优秀Verilog FPGA开源项目介绍(一)——PCIe通信今天会陆续介绍一些优秀的开源项目,基本都和FPGA或者HDL有关。对于一些正在找工作或者急需

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

优秀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和Linux,Altera和Xilinx,具有C/C,Python,MATLAB和Java的绑定。适配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支持的定制Linux内核驱动程序(在2.6.32和3.3.0之间的版本上测试)。微信官方账号:OpenFPGA

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

在Altera文件夹下:

在XIX文件夹下:

有兴趣的可以自己查查用。项目地址为:

https://github.com/KastnerRG/riffa

亚历克斯的许多项目

Alex的项目可以用惊艳来形容。大部分是个人开发的,是非常专业的代码。我很佩服他的专业能力和分享精神。也许这才是真正的诗和远方。微信官方账号:OpenFPGA

Alex Forencich主要项目

该网络与PCIe有关,其中cocotbext-xxx是一个模拟测试模型(Cocotb是一个基于公司的co模拟库,用于用python编写VHDL和verilog测试平台。Cocotb是一套基于Python的lib库,用于构建仿真和测试用例)。

cocottext-axi也是一个非常著名的项目。

有兴趣的可以自己查查用。项目地址为:

https://github.com/alexforencich

个人感觉Alex Forencich的PCIe项目没有RIFFA的完整。前者目前只支持搭配Xilinx UltraScale和UltraScale PCIe硬核IP核使用,接口在64位到512位之间。后者已经在Altera和Xilinx多个主要平台验证,并配有PC驱动,使用方便。而是后者的仿真理论(包括使用cocotbext-pcie和cocotbext- axi的完整cocotb测试平台)。)更充实,适合学习总线接口。以上仅代表本人拙见。我读书不多。喷我你是对的!

本文为OpenFPGA作者原创,未经本人授权禁止转载!japan quarterly 日本季刊