前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Verilog开源项目总结

Verilog开源项目总结

作者头像
网络交换FPGA
发布2019-10-29 16:57:47
2K0
发布2019-10-29 16:57:47
举报
文章被收录于专栏:网络交换FPGA网络交换FPGA

先说两点:

  1. 讨论技术,不谈情怀和主义。
  2. 开源不等于免费。

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

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
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-05-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 网络交换FPGA 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • RISC-V
  • NVDLA : NVIDIA Deep Learning Accelerator
  • LEON/GRLIB
  • Opencores
  • OpenASIC, 开源H.264 H.265硬件编码器
  • UVM 1.2
  • fusesoc: 基于Python的IP管理工具
  • Pyverilog
  • 开源Verilog工具
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档