使用 IP 核和开源库减少 FPGA 设计周期

FPGA 开发的目标是按时、按质交付项目。

然而,这一目标说起来简单,实现起来老费劲了。根据业内最广泛的调查之一,西门子威尔逊集团 2022 年的调查(https://blogs.sw.siemens.com/verificationhorizons/2022/10/10/prologue-the-2022-wilson-research-group-functional-verification-study/),70% 的 FPGA 项目落后于计划,12% 的项目落后计划 50% 以上。

为此,很多FPGA厂商都在自己EDA工具里嵌入IP减少FPGA项目的开发周期,使用 IP 是一种有助于实现按时、高质量且经济高效的项目交付的方法。

我们现在处于一个比较好的时期,例如,Vivado 2024.1 提供了 681 个 IP,使用这些IP可以快速的搭建FPGA系统,比如XDMA IP可以快速搭建基于PCIe的应用。当然,这些 IP 核的适用性取决于目标设备系列和设备的所需功能。

利用这些 IP 模块可以加快开发速度,并通过利用经过验证的组件降低技术风险。此外,这些 IP 核通常附带示例和测试平台,这有助于我们了解它们的操作和用法。

然而,这些IP并不能提供我们设计中需要的所有功能。在这种情况下,我们可能需要开发定制解决方案、购买第三方 IP 或使用开源IP库。

接下来,我们介绍几个高质量开源库来支持我们的设计:

FPGA_Library

https://github.com/suisuisi/FPGA_Library

该库包含诸多IP,包括图像处理、数字信号处理、接口等。

Open Logic

https://github.com/open-logic/open-logic

这个开源 VHDL 库提供了各种专注于 IP 外设创建的 IP 核。它提供了用于CDC、内存、FIFO、仲裁器、时分复用和其他功能(如 PRBS、延迟和桶形移位器)的模块。对于 AXI 支持,Open Logic 包括 AXI 主设备、从设备和流水线。它还提供用于 UART、SPI、I2C 等的接口 IP,使其成为 AXI 端点的宝贵资源。

HDL 模块

https://hdl-modules.com/index.html

该库提供一系列 AXI IP,包括interconnects 和 crossbars,以及 FIFO 等基本基础设施。为了支持仿真,HDL 模块还包括总线功能模型和通用组件,例如环形缓冲区、LFSR、数学函数和正弦发生器。通过阅读文档可以很好地了解它。

SURF(SLAC 终极 RTL 框架):

https://github.com/slaclab/surf

SURF 提供 AXI、以太网和设备库。设备库特别有用,带有 ADC 和 DAC 等外围设备的驱动程序。SURF 使用 CocoTB 和 GHDL 进行验证,使流程变得简单。

PSI Lib

https://github.com/paulscherrerinstitute/psi_fpga_all

由 Paul Scherrer 研究所开发,该库提供内存、FIFO、跨时钟域、时分复用、AXI 接口和其他常见模块的 IP 模块。

PoC Lib(Pile of Cores)

https://github.com/VLSI-EDA/PoC

由Technical University of Dresden大学提供,PoC 专注于内存、FIFO 和 I/O 控制器。它利用了 CocoTB、OSVVM、UVVM 和 VUnit 进行验证。

以上这些只是一些常用的库,可以结合之前推荐的开源库一起使用:

这些开源库可以帮助开发解决方案,而无需从头开始。其中许多库与 Vivado 完美集成,简化了它们的使用。

当然,这些库并不权威,需要结合使用场景进行修改和优化。

最后要注意的是:使用这些开源库时,请确保阅读、理解并遵守其开源许可证,以避免潜在的麻烦。

优秀的 Verilog/FPGA开源项目介绍(二十五)- FPGA图像处理库

IP库新增经过实践的Verilog 库

Verilog常用可综合IP模块库

相关推荐
RacentCLM3 分钟前
HTTPS只在登录时有用?关于TLS的误解讲清
数据库·网络协议·https
山东孙燕姿8 分钟前
设备台账重构:从一张表到三层模型
android·java·网络·低代码·重构·rxjava
雪雪爱冲浪24 分钟前
用 Kimi 做网页抓取:从零开始的科普指南
网络协议
hexiaoyan8271 小时前
互联卡设计方案:504-PCIE X16 金手指 FPGA Aurora协议互联卡
fpga开发·测试载板·互联卡·fpga aurora协议·夹板连接器·板卡互联
星夜离尘561 小时前
FPGA 二进制数如何变成十进制显示:可背压的逐位 BCD 转换器
fpga开发
YH_Analytics1 小时前
2026-2032 年中央鸡蛋输送机市场规模与增长预测
网络·人工智能
匠行科技1 小时前
基于VPX架构的4路10GSPS ADC信号采集处理板
fpga开发
洋不写bug2 小时前
HTTP(二):万字解析HTTP交互的请求、响应报文格式
网络协议·http·交互·postman·请求格式·响应格式·restful规范
sun0077002 小时前
ip rule路由
网络·网络协议·tcp/ip
liuhaoodng6262 小时前
《网络IA项目:单臂路由(vlan间通讯)优化实战版》
运维·网络·网络协议