本项目实现的是一个微 riscv 处理器核 (tinyriscv), 用 verilog 语言编写, 只求以最简单, 最通俗易懂的方式实现 riscv 指令的功能, 因此没有特意去对代码做任何的优化, 因此你会看到里面写的代码有很多冗余的地方. tinyriscv 处理器核有以下特点:
1) 实现了 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;
2) 采用三级流水线, 即取指, 译码, 访存, 执行, 回写;
3) 可以运行简单的 c 语言程序;
详细内容和源码见 码云: https://gitee.com/liangkangnan/tinyriscv
来源: http://www.bubuko.com/infodetail-3333267.html