草庐IT

FPGA有哪些优质的带源码的IP开源网站?

碎碎思 2023-04-12 原文

这是某乎上的一个问题,我觉得还不错,今天就系统性的总结一下

1、fpga4fun

https://www.fpga4fun.com/

你能在这个网站上找到什么?

您可以找到信息页面,以及使用 FPGA 板构建的 FPGA 项目。

注重点:项目。

FPGA 项目使用一种称为 Verilog 的语言,您需要学习它才能理解项目。但是通过此处显示的示例以及其他可用的在线资源,这并不太难。

上面就是整个网站上的内容(翻译过的,原英文网站),不能用丰富形容,简直是太丰富,常用的接口,简单的项目(很具有代表性的项目),不说什么了,赶快去试一试吧。

2、OPENCORES

https://opencores.org/

Opencores是一个开源的数字电路设计社区,它提供了免费的开源IP(知识产权)核心,让工程师和爱好者们可以使用这些IP核心来构建自己的数字电路设计。Opencores的IP核心包括处理器、总线接口、视频、音频和其他数字电路组件,这些核心都是由社区的成员设计和共享的。Opencores的使命是提供一种可持续的方式来设计数字电路,使任何人都可以访问免费的IP核心,从而降低数字电路设计的门槛,并促进创新和知识共享。Opencores也提供了在线论坛和博客等社区资源,使成员可以交流想法和经验,并获得支持和帮助。

3、OpenHW Group

https://github.com/openhwgroup

https://www.openhwgroup.org/

OpenHW Group 是一个非营利性组织,旨在促进和推广开放源代码硬件设计。该组织由一群来自不同公司、组织和学术界的人士于2019年成立,致力于为开放硬件社区提供基础技术、工具、流程和法律框架等支持。其主要目标是推动开放源代码硬件的采用和发展,并在其中扮演一个公正的中立角色。

OpenHW Group 的成员来自多个领域,包括芯片设计、EDA工具、IP供应商、系统集成商、学术界和咨询公司等。该组织致力于推动开放源代码硬件的发展,以推广基于RISC-V架构的开放源代码芯片设计和开发为主要目标。OpenHW Group 不仅提供开源的硬件设计和软件工具,还提供教育和培训、技术支持和认证等服务,以支持开放源代码硬件社区的成长。

4、FPGACPU

http://www.fpgacpu.org/links.html

Jan Gray 的 RISC CPU 网站是一个个人网站,展示了他在 RISC(精简指令集计算)CPU 和相关 FPGA 项目方面的工作。

Jan Gray 是一位硬件设计师,已经开发了几个 RISC CPU,包括 XR16、GR000 和 XSOC。这些 CPU 的设计旨在可合成并优化 FPGA 实现。XR16 和 GR000 CPU 是 16 位 RISC 处理器,而 XSOC 则是一个更复杂的 SoC 设计,包括 8 位 RISC CPU 核、内存、I/O 接口和其他外设。

该网站提供了有关每个 CPU 设计的详细信息,包括架构图、指令集描述和性能基准。此外,Jan Gray 维护一个邮件列表,供 FPGA CPU 爱好者讨论与 FPGA-based CPU 和相关项目相关的主题。

总的来说,Jan Gray 的 RISC CPU 网站是一个对于任何想要学习 FPGA-based CPU 设计和实现的人来说都是一个有价值的资源,也是一个寻找可用于自己项目的开源 RISC CPU 核心的硬件设计师的宝贵资料。

5、FPGAARCADE

https://www.fpgaarcade.com

6、官网

各大官网会提供针对自家芯片或者板卡的测试例程

xilinx官网

intel官网

lattice官网

7、digilent for refernce

https://digilent.com/reference/start

其实大家不了解的地方是,国内很多开发板的例程都来源这个网站,尤其一些“特殊”的外设,像MIPI,HDMI等,有些例程看源码还能看到“残留”。大家可以先按照自己需求寻找相关开发板和外设,点击进去就有例程和原理图参考。

8、ADI-ANALOGDEVICE

https://github.com/analogdevicesinc/hdl

https://wiki.analog.com/resources/fpga/

详细的介绍见:

想学习高速ADC/DAC/SDR项目这个项目你不得不理解

9、GITHUB

https://github.com/

这个无需多言,代码最全,但是搜索是需要点“真功夫”,像RIFFA\PYNQ\VITIS AI等这些耳熟能详的项目基本都在github上开源的。

总结

HDL在这方面开源的并不多,但是我个人认为fpga4fun和opencores在这些里面就属于前二,完善的社区及完整的HDL代码是主要原因。其他的也是很完美的平台,大家斟酌使用。

最后还有一些比较单一的网站,有兴趣可以看看

国外VHDL& Verilog IP Resource 下载网站列表

有关FPGA有哪些优质的带源码的IP开源网站?的更多相关文章

  1. ruby - 从 Ruby 中的主机名获取 IP 地址 - 2

    我有一个存储主机名的Ruby数组server_names。如果我打印出来,它看起来像这样:["hostname.abc.com","hostname2.abc.com","hostname3.abc.com"]相当标准。我想要做的是获取这些服务器的IP(可能将它们存储在另一个变量中)。看起来IPSocket类可以做到这一点,但我不确定如何使用IPSocket类遍历它。如果它只是尝试像这样打印出IP:server_names.eachdo|name|IPSocket::getaddress(name)pnameend它提示我没有提供服务器名称。这是语法问题还是我没有正确使用类?输出:ge

  2. ruby - Ping ruby 网站? - 2

    在Ruby中可以使用哪些替代方法来ping一个ip地址?标准库“ping”库的功能似乎非常有限。我对在这里滚动我自己的代码不感兴趣。有没有好的gem?我应该接受它并忍受它吗?(我在Linux上使用Ruby1.8.6编写代码) 最佳答案 net-ping值得一看。它允许TCPping(如标准ruby​​ping),但也允许UDP、HTTP和ICMPping。ICMPping需要root权限,但其他则不需要。 关于ruby-Pingruby网站?,我们在StackOverflow上找到一个类

  3. UE4 源码阅读:从引擎启动到Receive Begin Play - 2

    一、引擎主循环UE版本:4.27一、引擎主循环的位置:Launch.cpp:GuardedMain函数二、、GuardedMain函数执行逻辑:1、EnginePreInit:加载大多数模块int32ErrorLevel=EnginePreInit(CmdLine);PreInit模块加载顺序:模块加载过程:(1)注册模块中定义的UObject,同时为每个类构造一个类默认对象(CDO,记录类的默认状态,作为模板用于子类实例创建)(2)调用模块的StartUpModule方法2、FEngineLoop::Init()1、检查Engine的配置文件找出使用了哪一个GameEngine类(UGame

  4. ruby-on-rails - 您希望看到哪些 Rails 插件? - 2

    您认为可以作为插件很好地存在于您的Rails应用程序中必须实现的哪些行为?您过去曾搜索过哪些插件功能但找不到?哪些现有的Rails插件可以改进或扩展,如何改进或扩展? 最佳答案 我希望在管理界面中看到一个引擎插件,它提供了应用程序中所有模型的仪表板摘要,以及可配置的事件图表。 关于ruby-on-rails-您希望看到哪些Rails插件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questio

  5. ruby - 实现k最近邻需要哪些数据? - 2

    我目前有一个reddit克隆类型的网站。我正在尝试根据我的用户之前喜欢的帖子推荐帖子。看起来K最近邻或k均值是执行此操作的最佳方法。我似乎无法理解如何实际实现它。我看过一些数学公式(例如k表示维基百科页面),但它们对我来说并没有真正意义。有人可以推荐一些伪代码,或者可以查看的地方,以便我更好地了解如何执行此操作吗? 最佳答案 K最近邻(又名KNN)是一种分类算法。基本上,您采用包含N个项目的训练组并对它们进行分类。如何对它们进行分类完全取决于您的数据,以及您认为该数据的重要分类特征是什么。在您的示例中,这可能是帖子类别、谁发布了该项

  6. ruby - 在 TCPServer (Ruby) 中,我如何从客户端获取 IP/MAC? - 2

    我想在Ruby的TCPServer中获取客户端的IP地址。以及(如果可能的话)MAC地址。例如,Ruby中的时间服务器,请参阅评论。tcpserver=TCPServer.new("",80)iftcpserverputs"Listening"loopdosocket=tcpserver.acceptifsocketThread.newdoputs"Connectedfrom"+#HERE!HowcanigettheIPAddressfromtheclient?socket.write(Time.now.to_s)socket.closeendendendend非常感谢!

  7. ruby - 使用 Ruby 和 Mechanize 登录网站 - 2

    我需要从站点抓取数据,但它需要我先登录。我一直在使用hpricot成功地抓取其他网站,但我是使用mechanize的新手,我真的对如何使用它感到困惑。我看到这个例子经常被引用:require'rubygems'require'mechanize'a=Mechanize.newa.get('http://rubyforge.org/')do|page|#Clicktheloginlinklogin_page=a.click(page.link_with(:text=>/LogIn/))#Submittheloginformmy_page=login_page.form_with(:act

  8. 网站日志分析软件--让网站日志分析工作变得更简单 - 2

    网站的日志分析,是seo优化不可忽视的一门功课,但网站越大,每天产生的日志就越大,大站一天都可以产生几个G的网站日志,如果光靠肉眼去分析,那可能看到猴年马月都看不完,因此借助网站日志分析工具去分析网站日志,那将会使网站日志分析工作变得更简单。下面推荐两款网站日志分析软件。第一款:逆火网站日志分析器逆火网站日志分析器是一款功能全面的网站服务器日志分析软件。通过分析网站的日志文件,不仅能够精准的知道网站的访问量、网站的访问来源,网站的广告点击,访客的地区统计,搜索引擎关键字查询等,还能够一次性分析多个网站的日志文件,让你轻松管理网站。逆火网站日志分析器下载地址:https://pan.baidu.

  9. elasticsearch源码关于TransportSearchAction【阶段三】 - 2

    1.回顾.TransportServicepublicclassTransportServiceextendsAbstractLifecycleComponentTransportService:方法:1publicfinalTextendsTransportResponse>voidsendRequest(finalTransport.Connectionconnection,finalStringaction,finalTransportRequestrequest,finalTransportRequestOptionsoptions,TransportResponseHandlerT>

  10. (附源码)vue3.0+.NET6实现聊天室(实时聊天SignalR) - 2

    参考文章搭建文章gitte源码在线体验可以注册两个号来测试演示图:一.整体介绍  介绍SignalR一种通讯模型Hub(中心模型,或者叫集线器模型),调用这个模型写好的方法,去发送消息。  内容有:    ①:Hub模型的方法介绍    ②:服务器端代码介绍    ③:前端vue3安装并调用后端方法    ④:聊天室样例整体流程:1、进入网站->调用连接SignalR的方法2、与好友发送消息->调用SignalR的自定义方法 前端通过,signalR内置方法.invoke()  去请求接口3、监听接受方法(渲染消息)通过new signalR.HubConnectionBuilder().on

随机推荐