Verilog开源项目

讲到开源,必然要准守开源的协议。而且必须要讲究原则:

此处引用阮一峰的博客的一张关于开源许可证的图片作为参考,具体细节以协议条款为准。

Verilog开源项目_第1张图片 Caption

RISC-V相关

RISC-V是开源指令集(ISA)。基于RISC-V的开源内核和SoC列表

  • SiFive Freedom E300/U500 Platform

包含E300和U500的RTL代码,cpu内核基于Rocket,增加了SoC总线和外设IP,可以在FPGA上运行。 有比较详细的文档资料,但是基于Chisel语言,生成的verilog可读性差。 缺少rtl仿真验证环境。

  • 蜂鸟E200开源处理器

E200是开源RISC-V内核,外设IP及SoC基于SiFive E300架构。 有详细中文资料,内核采用verilog设计,包含仿真验证环境,可以在FPGA上运行。

  • ucb RISC-V Project Template

Chisel HDL和RocketChip SoC生成器。包括Rocket-chip(标量),BOOM-chip(超标量乱序)。

  • PULPino

包含32位 CPU内核实现和完整的SoC环境,开发语言为SystemVerilog。有完整的仿真环境,可以在FPGA运行。

  • Lowrisc

基于UCB Rocket-Chip基础,采用System Verilog编写改进部分的代码。

 

NVDLA : NVIDIA Deep Learning Accelerator

深度学习加速器IP,包含RTL,仿真环境,FPGA环境,综合环境。后续会发布基于UVM的验证环境。

设计采用verilog描述,但是包含很多基于Catapult-C转出来的部分,以及一些NV公司内部脚本生成的代码。生成的代码可读性较差。

这里有一些开源爱好者研究代码之后的技术参考资料

 

LEON/GRLIB

LEON系列是基于SPARC V8架构的处理器。最初的LEON1与LEON2由欧洲航天局发布,LEON3由GaislerResearch公司设计发布,2008年Aeroflex收购了Gaisler Research公司,并于2010年1月发布了LEON4,不过LEON4至今还没有公布源代码。LEON系列使用VHDL编写代码,其LEON2、LEON3系列都提供了一个容错版(Fault Tolerance),分别是LEON2-FT、LEON3-FT,这主要是因为LEON系列原计划是使用在航天器上,在航天器上的电子器件面对一个特殊问题,那就是太空中的各种高能粒子具有很高的动能,当这些粒子穿过航天器的电子器件时可能会影响半导体电路的逻辑状态,甚至对半导体材料造成永久损害。单个高能粒子对电子器件功能产生的影响称之为单粒子效应。其中,导致存储内容在0和1之间发生变化的现象,称之为SEU(Single Event Upset:单粒子翻转)。在容错版中通过一些逻辑结构纠正SEU带来的影响。LEON2采用5级流水线,LEON3采用7级流水线,同时增加了对多处理器的支持。LEON4又引入了静态分支预测、2级缓存。 LEON内核通常和GRLIB IP 库一起用的。

 

Opencores

始建于1999年,开源IP的大本营,包含CPU,通信接口,外设接口等各种数字IP core。 以verilog为主,也包含部分vhdl代码,很多IP基于Wishbone总线接口。 代码管理基于CVS,2009年迁移到svn,也有人把代码上传到了github

 

OpenASIC, 开源H.264 H.265硬件编码器

由复旦大学范益波团队维护,包括H.264编码器、H.264解码器、H.265/HEVC的编码器IP。

代码采用verilog(部分sv)设计,有仿真环境。

 

UVM 1.2参考代码和环境

UVM (Standard Universal Verification Methodology)源码和文档。有example仿真环境。

 

fusesoc: 基于Python的IP管理工具

FuseSoC is a package manager and a set of build tools for FPGA/ASIC development.

 

Pyverilog:python verilog

verilog的Python处理包,用于代码解析,数据流分析,控制流分析,代码生成。

 

开源Verilog工具

  • Verilator
  • Emacs Verilog-mode
  • Verilog-Perl

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(FPGA)