天天看点

RISC V Rocket-chip 模拟器使用笔记(一)

1.Rocket-chip可以做什么

“Rocket是一款64bit的标量处理器,5级流水线,采用的是risc-v指令集,集成FPU,并有许多or1200没有的特性,比如:无阻塞缓存、分支预测、返回地址堆栈、硬件页表填充、cache支持ECC、支持多核等。”

它允许我们生成不同配置(自定义)的SOC,包括软件工具链。

2.Rocket-chip的子模块(文件目录)

RISC V Rocket-chip 模拟器使用笔记(一)

1.chisel3:用来进行RTL级建模的HDL

2.Rocket:Rocket 核心代码以及cache

3.Uncore: 除内核以外的外部逻辑代码:一致性端口,片上接口,主机接口等

4.hardfloat:参数化FMA等,文件夹内有README代码

5.Dramsim2 为模拟器模拟DRAM的时序

6.RISCVTOOLS:软件工具链

7.CSRC:为C++模拟器开发的胶水代码(在计算机编程领域,胶水代码也叫粘合代码,用途是粘合那些可能不兼容的代码。可以使用与胶合在一起的代码相同的语言编写,也可以用单独的胶水语言编写。胶水代码不实现程序要求的任何功能,它通常出现在代码中,使现有的库或者程序在外部函数接口(如Java本地接口)中进行互操作。)

8.Emulator:为C++模拟器创幻目录,生产代码和执行

9.Fsim:FPGA模拟器

10.Src: Chisel 源代码

11.Project:一些配置文件

12.Vsim:ASIC模拟器

3. Rocket chip 配置的参数

Tile(),Memory(),Caches(),Core(),Uncore()

4.生成简单的模拟测试:

RISC V Rocket-chip 模拟器使用笔记(一)
RISC V Rocket-chip 模拟器使用笔记(一)
RISC V Rocket-chip 模拟器使用笔记(一)

运行成功。

接下来将学习自己配置和添加接口。

附录:

初始配置

RISC V Rocket-chip 模拟器使用笔记(一)
下一篇: build.xml DEMO

继续阅读