Verilog开源项目

先说两点:

讨论技术,不谈情怀和主义。

开源不等于免费。

关于各种开源协议的对比,阮一峰的博客上有张图片可以参考。具体细节以协议条款为准,请咨询专业法律人士。

RISC-V

RISC-V是开源指令集(ISA)。

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采用5级流水线,LEON3采用7级流水线,同时增加了对多处理器的支持。LEON4又引入了静态分支预测、2级缓存。

LEON内核通常和GRLIB IP 库一起用的。GRLIB中可用的IP内核包括:

AMBA AHB/APB control

LEON3 SPARC processor

32-bit PC133 SDRAM controller

32-bit PCI bridge with DMA

10/100/1000 Mbit Ethernet MAC

8/16/32-bit PROM and SRAM controller

16/32/64-bit DDR/DDR2 controllers

USB 2.0 host and device controllers

CAN controller

TAP controller

SPI

I2C

UART with FIFO

modular timer unit

interrupt controller

32-bit GPIO port

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

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

开源Verilog工具

Verilator

Emacs Verilog-mode

Verilog-Perl

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180514G1APL200?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券