构造一个RISC-V CPU: 0.介绍
本系列内容可能会随我对RISC-V理解的情况更新
RISC-V是一个开源的指令集架构(ISA)。与RISC-V属于同一层级的有x86,ARM,MIPS等名称。
这个系列主要计划包括如下内容:
- 完成一个最基本,最核心的CPU:RV32I的构造
- 给操作系统做铺垫:为RV32I增加控制状态寄存器(Control Status Register, CSR)
- 增加多核心(multicore)支持:为RV32I增加原子扩展(A-extension),升级为RV32IA,增加多核环境下的具有一致性的缓存(Cache)
- 在RISC-V上运行操作系统
对于每一步,流程都是首先进行RTL设计,对RTL代码进行验证,然后是逻辑综合(Synthesis),布局布线(Place & Routing),生成FPGA的比特流(bitstream)并在FPGA上验证。
预计需要用到的语言有Verilog
, C++
, Python
, Tcl
预计需要用到的工具有Verilator
, Xilinx Vivado
, Amazon AWS F1 Instances / PYNQ
(最后一项是RISC-V运行的硬体环境,尽管F1
并不是那么硬)
已经有大佬将这个过程出书出版:手把手教你设计CPU――RISC-V处理器篇 - china-pub网上书店 。
这系列的文章更多是记录和优化我的学习过程。
如有任何知识上的不对或建议欢迎各位批评指正。
感谢阅读
推荐阅读: