Rocket Chip
RISC-V生态系统Rocket Chip 从 Chisel 源代码生成顺序执行的 RISC-V 核心和完整的片上系统。SiFive 的首批商用核心便基于它,而 Chipyard 将其用作其设计的基础。
概述
Rocket Chip 是用于片上 RISC-V 系统的生成器。片上系统是将处理器核心与缓存、内存控制器以及与其他设备的连接集成在同一块芯片上的系统。生成器是一种根据一组参数生成硬件设计的程序,因此同一份代码既可以输出小型单核设计,也可以输出大型多核设计。
它的主核心 Rocket 是顺序执行的,这意味着它按照程序列出的顺序执行指令。Rocket 具有五级流水线,即每条指令经过五个步骤,多条指令同时处于执行过程中。它实现了 64 位 RISC-V 指令集,并配有内存管理单元(虚拟内存背后的硬件),因此可以启动 Linux。该设计使用 Chisel 编写,这是一种构建在 Scala 编程语言之上的硬件构建语言。
历史
Rocket Chip 来自 UC Berkeley,出自设计 RISC-V 指令集的那个团队。Krste Asanović 及其同事在 2016 年的技术报告 "The Rocket Chip Generator" 中描述了它,Berkeley 用它构建了许多研究芯片。
由 RISC-V 创造者创立的公司 SiFive 将其首批商用核心建立在 Rocket 之上。Linux Foundation 的开源硬件小组 CHIPS Alliance 现在托管该项目。
使用位置
大多数用户通过 Chipyard 接触 Rocket,这是一个将 Rocket、BOOM 和其他模块组合成完整芯片的框架。Chipyard 在软件仿真、FPGA 上或通过制造工具运行这些芯片。FPGA 是一种可以重新配置以像不同电路一样工作的芯片,研究人员用它来在制造之前以真实速度测试设计。
