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

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

3天内不再提示

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

FPGA技术江湖 来源:FPGA技术江湖 2025-01-15 10:47 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

024ee2e6-d213-11ef-9310-92fbcf53809c.jpg

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

028fe48a-d213-11ef-9310-92fbcf53809c.png

为此,很多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,包括图像处理、数字信号处理、接口等。

02cb28e2-d213-11ef-9310-92fbcf53809c.png

Open Logic

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

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

02d958f4-d213-11ef-9310-92fbcf53809c.png

HDL 模块

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

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

02fa48c0-d213-11ef-9310-92fbcf53809c.png

SURF(SLAC 终极 RTL 框架):

https://github.com/slaclab/surf

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

03124d3a-d213-11ef-9310-92fbcf53809c.png

PSI Lib

https://github.com/paulscherrerinstitute/psi_fpga_all

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

0331d66e-d213-11ef-9310-92fbcf53809c.png

PoC Lib(Pile of Cores)

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

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

0345e618-d213-11ef-9310-92fbcf53809c.png

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

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

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

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

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

    关注

    1664

    文章

    22503

    浏览量

    639288
  • IP
    IP
    +关注

    关注

    5

    文章

    1883

    浏览量

    156718
  • 开源
    +关注

    关注

    3

    文章

    4346

    浏览量

    46445

原文标题:使用 IP 核和开源库减少 FPGA 设计周期

文章出处:【微信号:HXSLH1010101010,微信公众号:FPGA技术江湖】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

    本文介绍一个FPGA常用模块:SRIO(Serial RapidIO)。SRIO协议是一种高速串行通信协议,在我参与的项目中主要是用于FPGA和DSP之间的高速通信。有关SRIO协议的详细介绍网上有很多,本文主要简单介绍一下SRIO I
    的头像 发表于 12-12 09:19 4023次阅读
    <b class='flag-5'>FPGA</b>优质<b class='flag-5'>开源</b>模块-SRIO <b class='flag-5'>IP</b><b class='flag-5'>核</b>的使用

    关于FPGA IP

    对于深入学习使用FPGA的小伙伴们,特别是一些复杂的、大规模的设计应用,适宜的IP核对开发能起到事半功倍的作用。IP的概念与我们sdk里
    发表于 04-29 21:01

    FPGAIP使用技巧

    FPGAIP使用技巧主要包括以下几个方面: 理解IP的概念和特性 : IP
    发表于 05-27 16:13

    #FPGA点拨 生成FIFO的IP

    fpgaIP
    电子技术那些事儿
    发布于 :2022年10月12日 21:52:56

    #FPGA点拨 如何验证带有IP的代码

    fpgaIP代码
    电子技术那些事儿
    发布于 :2022年10月12日 21:53:35

    IP简介

    已有的HDL的设计方法。当在进行复杂系统设计的时侯,这些宏功能模块、IP无疑将大大地减少设计风险及缩短开发周期。使用这些宏功能模块、IP
    发表于 07-06 14:15

    IP简介

    无疑将大大地减少设计风险及缩短开发周期。使用这些宏功能模块、IP,就会将更多的时间和精力放在改善及提高系统级的产品方面,而不需要重新开发
    发表于 07-15 14:46

    FPGA IP的相关问题

    我用的是xinlinx spartan6 FPGA,我想知道它的IPRAM是与FPGA独立的,只是集成在了一起呢,还是占用了FPGA的资源
    发表于 01-10 17:19

    采用EDA软件和FPGA实现IP保护技术

    (Intellectual Property)IP由相应领域的专业人员设计,并经反复验证。IP的拥有者可通过出售
    发表于 07-29 08:33

    基于IPFPGA设计方法是什么?

    的分类和特点是什么?基于IPFPGA设计方法是什么?
    发表于 05-08 07:07

    FPGAIP的生成

    FPGAIP的生成,简单介绍Quartus II生成IP的基本操作,简单实用挺不错的资料
    发表于 11-30 17:36 12次下载

    基于FPGAIP设计技术

    FPGAIP设计技术的系列资料,大家可以收集看下,这些都是我看过过滤后留下的,感觉不错,希望对大家有帮助
    发表于 11-30 17:49 6次下载

    FPGA实现基于Vivado的BRAM IP的使用

      Xilinx公司的FPGA中有着很多的有用且对整个工程很有益处的IP,比如数学类的IP,数字信号处理使用的
    的头像 发表于 12-29 15:59 1.4w次阅读

    fpga ip是什么 常用fpga芯片的型号

     FPGA IP(Intellectual Property core)是指在可编程逻辑器件(Field-Programmable Gate Array,FPGA)中使用的可复用的设
    的头像 发表于 07-03 17:13 9931次阅读

    FPGA实现基于Vivado的BRAM IP的使用

    Xilinx公司的FPGA中有着很多的有用且对整个工程很有益处的IP,比如数学类的IP,数字信号处理使用的
    的头像 发表于 12-05 15:05 3646次阅读