一. 各FPGA厂家IP库
对于一些常用的IP,通常各FPGA厂商的开发软件中会自带,并长期免费提供给用户使用或者允许申请IP评估免费使用一段时间。这些IP通常是不开源的,但使用起来很方便,有助于开发者快速实现相关功能。
1.1 Xilinx(AMD) IP核
Xilinx官网的IP核界面如上图所示,我们可以按各种分类查找IP核,也可以根据关键词搜索IP核,对于一些较新的IP,Xilinx会开发IP评估,我们也可以申请IP评估资格来先一步使用这些IP。关于IP评估的申请使用请参考我的另一篇博客:
另一种方法是在Vivado软件中的IP Catalog中搜索,注意将隐藏和禁用不匹配的IP关掉(这里Vivado的中文翻译错了),这样就能搜索到所有IP,否则只会显示和当前器件匹配的IP。
1.2 Altera(Inter) IP核
[查找英特尔® FPGA 知识产权 (IP) 核心 (intel.cn)](https://www.intel.cn/content/www/cn/zh/products/programmable/intellectual-property/find-fpga-ip.html#sort=%40title ascending)
Inter官网的FPGA知识产权界面如上图所示,同样可搜索IP或者根据分类查找,也可在Quartus软件的IP Catalog中搜索,选择Show IP for all device families,表示显示所有器件可用的IP; 选择Show IP for active device families,表示仅显示当前器件可用的IP。
二. 开源FPGA IP网站
FPGA和IC设计发展多年,大量的IP已经被设计完成并开源分享出来,找到这些开源的代码能帮助我们事半功倍的完成工作。当然,这些开源IP用起来不如FPGA厂家提供的IP方便,有些能直接使用,有些则需要我们先消化理解代码并做少量修改才能实现需要的功能,但相较于从头开发已经算是站在了巨人的肩膀上。
2.1 OpenCores
网站简介:世界上最大的FPGA开源IP核网站,里面包含大量已经测试好/没有完全测试好的Verilog/VHDL源代码。
在左侧点击Projects可以看到网站的目录,如下图所示。此网站需要先注册(免费的),登录后才能下载。
2.2 Github
GitHub: Where the world builds software · GitHub
GIthub是世界上最大的软件代码分享平台,虽然相较于C语言、Python等软件语言,HDL语言在Github上资源较少,但仍然有大量优秀的HDL代码值的借鉴。可以在Github上搜索关键词,如下图的I2C Verilog即可找到开源的IP核。
2.3 CSDN
CSDN上有大量博主会分享HDL代码,有优质的,有凑数的,需要自行把控。
2.4 alexforencic
[Welcome Alex Forencich]
可以看到,该网站的Verilog IP包含:
-
AXI总线 -
AXI Stream总线 -
以太网 -
Mersenne Twister PRNG -
UART -
Wishbone总线
其实还包括pcie的IP核,没有在上图显示出来。该网站源码在Github上开源,有人持续维护。
2.5 zipcpu
The ZipCPU by Gisselquist Technology
这是一个个人博客网站,博主有分享大量自己编写的IP核,包括AXI-Lite,AXI Stream,UART,I2C等。当然从网站名称我们可以知道,博主设计了一个CPU,名叫ZipCPU,并配备了一个操作系统,叫ZipOS。
2.6 其它开源IP网站
我的博客网站https://www.myhardware.top/导航中的开源代码类别,会持续更新优质的开源IP网站,大家可以关注一下。
三. 总结
建议优先使用厂商提供的IP核完成设计。如果厂商未提供相关IP,优先去OpenCores中找,再去Github上搜索,基本就能找到相关/类似的IP或HDL功能模块。当然,我的博客中也有个人工作中总结的一些Verilog功能模块,都经过本人实际上板验证可供参考,觉得有用可订阅加关注。
如果本文对你有所帮助,欢迎点赞、转发、收藏、评论让更多人看到,赞赏支持就更好了。
如果对文章内容有疑问,请务必清楚描述问题,留言评论或私信告知我,我看到会回复。
徐晓康的博客持续分享高质量硬件、FPGA与嵌入式知识,软件,工具等内容,欢迎大家关注。