tinyriscv实现的是一个微RISC-V处理器核,用verilog语言编写,只求以最简单、最通俗易懂的方式实现RISC-V指令的功能,因此没有特意去对代码做任何的优化。
tinyriscv处理器核有以下特点:
- 实现了RV32I指令集,通过riscv的RV32I指令兼容性测试,支持以下指令:add addi and andi auipc beq bge bgeu blt bltu bne fence_i jal jalr lb lbu lh lhu lw lui or ori sb sh sw sll slli slt slti sltiu sltu sra srai srl srli sub xor xori;
- 支持RV32M指令集:mul mulh mulhu mulhsu div divu rem remu;
- 采用三级流水线,即取指,译码、访存、执行,回写;
- 可以运行简单的c语言程序。