当前位置: 首页 > 工具软件 > PicoRV32 > 使用案例 >

picoRV32 CPU introduction(开源cpu)

慕项明
2023-12-01

RISC-V 最早是UC Berkeley 1992年的一个项目并用于课程教学,是基于MIPS-II ISA演变而来。2000年MIT在此基础上进行项目研究,并在2002年进入了课程教学。RISC-V ISA是从2010年夏开始定义,已经与早期受MIPS启发的设计完全不同。

自从2014年5月RISC-V 2.0版本之后,RISC-V ISA被快速采用,在2015年8月开始成立了非赢利性的RISC-V基金会,基金会接管了官方RISC-V标准的管理工作,其官网是https://riscv.org

官方文档分为上下部分,riscv-spec-v2.2是上部称之为用户设计文档,riscv-privileged-v1.10是下部称之为特权级设计文档。

RISC-V有一些Base  ISA,命名为RV32 I、RV32E、RV64I……

另外还有一些Extension  ISA,命名为M 、F、D、 A、C……

以上各种ISA都是定义在用户设计文档中。

在特权级设计文档中会介绍各种特权级下Trap和CSRs的使用。

 

picoRV32是一个RISC-V RV32IMC Instruction Set实现,在https://github.com/cliffordwolf/picorv32上可以下载到open source code。

picoRV32 使用了RISC-V ISR,但是Trap/interrupt/interrupt return是重新设计的,采用了一种简化方案完成interrupt操作以及实现一个简单的内建的custom interrupt controller。

 

picoRV32是用Verilog硬件描述语言写的(*.v),可 将其编译出来后,用 picoRV32作为CPU替换soc内原有的ARM,在FPGA上进行仿真 。当然,我是软件工程师,这部分工作是由数字硬件ic工程师完成。对于我来说,到手的就是一个可以跑RISC-V code 的FPGA硬件平台。

 

我的工作是建立编译环境,编写启动代码,完成Interrupt验证 ,移植rtos os,提供一个可用 的基本os环境来运行soc各个模块功能。

(下一篇开始从编译环境介绍)

(参考文献: riscv-spec-v2.2)

 

 类似资料: