risc-v中文社区

 找回密码
 立即注册
查看: 2158|回复: 1

[原创] 几款常见risc-v芯片

[复制链接]

347

主题

564

帖子

2237

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2237
发表于 2021-9-10 00:12:28 | 显示全部楼层 |阅读模式
1. Rocket,BOOM
很多RISC-V开发者,无论硬件还是软件,首次接触的CPU core就是Rocket。Rocket Chip Generator可以生成包括Rocket core的一整套SoC,各种参数统统可配置。Rocket Chip是用Chisel开发的,
初学者(CPU设计开发的数字前端初学者,尤其是只懂Verilog的初学者)要去看Rocket的代码还是会有些吃力的,对初学者不太友好。不过正因为其面世较早,又有Berkeley的纯正血统,粉丝众多,
很多paper都是基于Rocket Chip做的,资料也很好找,但似乎没有详细的官方文档。
Rocket是64位CPU core(也是今天介绍的几款处理器中唯一一款64位的),采用经典五级流水,顺序执行,单发射,还支持各种分支预测。BOOM(Berkeley Out-of-Order Machine)基于Rocket,
乱序执行,BOOM有还算比较详细的文档。这两个用来学习还是很不错的。而且Rocket还是比较成熟的,基于Rocket core已经有很多ASIC产品了。只是Chisel是道坎,CPU设计还没开始学就跳进Chisel的坑里去了!
Rocket Chip github:https://github.com/chipsalliance/rocket-chip
BOOM github: https://github.com/riscv-boom/riscv-boom
一句话总结:Berkeley纯正血统,但欲学本core,必先入Chisel之坑。
2. Hammingbird E203
蜂鸟处理器是在国内RISC-V社区大名鼎鼎的芯来科技开发的RISC-V MCU系列。E203是其开源的一款单privilege mode,两级流水(不严格说法)的MCU,主打小面积、低功耗。使用Verilog开发。
麻雀虽小,五脏俱全,也包括debug module,代码严谨优美,用来学习设计没得说。官方文档不算多,但是市面上可以买到胡振波大牛写的两本书,也算是学习资料丰富了。
开源的E203在github上其实是一个SoC平台。E203使用自定义的类AXI接口,支持debug spec 0.11。唯一的缺憾是没有官方的verilator环境,如果使用verilator的话得自己搭个环境了。
像我这种在家用不了商业仿真软件(也不愿意装D版)的硅农,只能用意念仿真了,目前还是看看代码,等有时间的话Port一个verilator仿真环境过去。开源蜂鸟E203支持Icarus Verilog开源仿真工具,
这个仿真工具不知道还有没有人维护,就我以前使用而言,几乎只能仿纯verilog,对于很多不可综合的写法也不支持,使用非常受限,就更别提把GDB接入到仿真了。
github: https://github.com/SI-RISCV/e200_opensource
一句话点评:初学者学习RISC-V处理器设计首选。
3. Ibex
提到开源RISC-V就不能不提Riscy系列了,尤其是zero-riscy,使用很广泛。Ibex是脱胎于zero-riscy的core,支持RV32IMC及一些Z系列指令,由LowRISC维护。Ibex小巧精悍,文档详实,学习资料丰富,
支持verilator, 可以使用verilator+openOCD+GDB 仿真时debug。对于我这样的重度Verilator依赖者来说非常友好。
Ibex支持machine mode和user mode两种privilege mode,可以实现比单machine mode更加丰富的功能。Ibex采用system verilog开发,对于传统的IC工程师是个好消息。Ibex现在也支持了指令cache了,
提高了performance,但装了cache会让core变得臃肿很多,对于学习cache controller的设计是个好事情。
Ibex使用类TLUL的自定义接口,官方的SoC是PULP。Google的OpenTitan项目也是基于Ibex。相关的设计学习资料算是相当多了。
github: https://github.com/lowRISC/ibex
文档:https://ibex-core.readthedocs.io/en/latest/introduction.html
一句话点评:啥都别说了,这么好的东西还不赶紧盘它?
4. VexRiscv
VexRiscv可配置,可支持RV32IMCA,可配置为经典5级流水。VexRiscv使用SpinalHDL开发,类似Chisel,也是一款基于Scala的硬件建构语言。可配置MMU,所以理论上可以支持操作系统。
VexRiscv有个官方的SoC:Briey,使用AXI接口。和Rocket Chip一样,支持Verilator+OpenOCD+GDB仿真。和Rocketchip一样都是使用scala解释器sbt工具,超占内存,快把我的老爷机拖垮了。
也许是大牛都不爱写文档,VexRiscv文档很少很粗略。
github:https://github.com/SpinalHDL/VexRiscv
一句话点评:佳作,SpinalHDL代表作,需入SpinalHDL的坑。
5. SweRV EH1
SweRV EH1是WD开发的其中一款RISC-V core,支持RV32IMC,双发射,单线程,9级流水,性能应该说是相当不错,28nm可以跑到1GHz。而且还有份详细的文档,不愧是大厂出品。
SweRV是使用Verilog/System Verilog开发,使用AXI接口,对熟悉AMBA且不想去学Chisel及Scala的同学来说是相当友好了。而且支持verilator,必须点赞。值得一提的是SweRV带指令cache,
且实现了丰富的cache maintenance自定义指令,非常值得学习。
github: https://github.com/chipsalliance/Cores-SweRV
一句话点评:大厂出品,进阶学习佳作。
6. 无剑
听说平头哥的RISC-V处理器开源我还是很兴奋的,想仔细研究一番,但入手后有些失望。代码是刻意处理过的,注释都被去掉了,代码段的排版也非常不利于阅读,甚至有些代码是接近网表的加扰后的代码,
顿时失去了兴趣。平头哥目的应该是推广这套平台,里面包括软硬件系统及SDK,从开源的程度来看,重点应该是软件。当然我是从研究学习硬件部分出发来说的,如果是使用无剑平台,包括仿真、FPGA、
软件开发,应该是没有问题的。
github: https://github.com/T-head-Semi/wujian100_open
一句话点评:学习资料缺乏,代码可读性较差,不是一个理想的学习对象。


回复

使用道具 举报

347

主题

564

帖子

2237

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2237
 楼主| 发表于 2021-9-10 14:36:30 | 显示全部楼层
7、香山
香山是一款开源的高性能 RISC-V 处理器,基于 Chisel 硬件设计语言实现,支持 RV64GC 指令集。
在香山处理器的开发过程中,其团队使用了包括 Chisel、Verilator 等在内的大量开源工具,实现了差分验证、仿真快照、RISC-V 检查点等处理器开发的基础工具,建立起了一套包含设计、实现、验证等在内的基于开源工具的处理器前端敏捷开发流程。
软件文档:https://gitee.com/OpenXiangShan/XiangShan
软件首页:https://github.com/OpenXiangShan
官方下载:https://github.com/OpenXiangShan/XiangShan
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



Archiver|手机版|小黑屋|risc-v中文社区

GMT+8, 2024-4-27 08:26 , Processed in 0.016655 second(s), 17 queries .

risc-v中文社区论坛 官方网站

Copyright © 2018-2021, risc-v open source

快速回复 返回顶部 返回列表