Risc-V CPU 编写 0x00

这又是一个新的系列,具体内容是写出一个(多个)risc-v 指令集的 CPU 。具体技术选择使用 chisel 来编写,仿真优先使用 varilator ,最后板级调试优先使用 openocd 。具体流程为先写一个简单的单周期 CPU (支持有限的指令),而后重新编写一个5级流水线、能够移植linux,并且能够板级调试,最好能够实现双发射,并且能够运行 Risc-V 官方的测试程序的一个完整的 CPU ,如果还有时间可能尝试实现用户态与内核态的切换。

首先,毫无疑问应该准备好 chisel 的相关知识。它是基于 scala 语言扩展而来,能够编译出完全可综合的代码。因此首先应该学会 scala 和 chisel。链接如下,较为详细。

之后就应该配置相应的工具链了。由于是开发同时写博客,不能提前预知需要的工具,故这一节可能随时更新。

推荐使用 linux 系统, windows 不提供任何帮助与支持。(最好是 arch 哈哈哈)。

首先安装 java,我用的是 jdk15,其次要安装 scala,确保 scalac 和 scala 命令好用。之后安装chisel,sbt,firrtl,verilator,我用的都是软件源里最新的版本,直接跟着滚就行,喜欢用最新的版本。

之后要测试工具链。具体过程就省略了,随便查查都有的。

这一项目的地址是:

单周期:https://github.com/dupeiran001/SC_RiscV

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注