update README.md

Signed-off-by: Blue Liang <liangkangnan@163.com>
pull/1/head
Blue Liang 2020-01-13 08:45:24 +08:00
parent 9420b85796
commit 2b174b2518
1 changed files with 9 additions and 8 deletions

View File

@ -1,19 +1,19 @@
# 1.初衷
本开源项目的初衷是本人想入门riscv熟悉riscv的指令内容和汇编语法。
本开源项目的初衷是本人想入门RISC-V熟悉RISC-V的指令内容和汇编语法。
本人对riscv很感兴趣很看好riscv的发展前景觉得riscv就是cpu界中的linux。由于riscv是这两年才开始迅速发展的因此关于riscv的学习参考资料目前还很少特别是适合入门的资料因此学习起来进度很缓慢于是萌生了自己从零开始写riscv处理器核的想法。
本人对RISC-V很感兴趣很看好RISC-V的发展前景觉得RISC-V就是cpu界中的linux。由于RISC-V是这两年才开始迅速发展的因此关于RISC-V的学习参考资料目前还很少特别是适合入门的资料因此学习起来进度很缓慢于是萌生了自己从零开始写riscv处理器核的想法。
本人是一名fpga小白为了快速入门、深入掌握riscv我开始了学习fpga和verilog的&quot;艰难&quot;历程。我工作的内容是和嵌入式软件相关的,平时根本不会接触到fpga也不会用到riscv因此只能用业余时间来学习riscv在经过断断续续学习fpga和verilog一个多月后总算有点成果了也即本项目。
本人是一名FPGA小白为了快速入门、深入掌握RISC-V我开始了学习FPGA和verilog的&quot;艰难&quot;历程。我工作的内容是和嵌入式软件相关的,平时根本不会接触到FPGA也不会用到RISC-V因此只能用业余时间来学习RISC-V在经过断断续续学习FPGA和verilog一个多月后总算有点成果了也即本项目。
网上有不少关于riscv的开源项目,但是大多都写得很&quot;高深&quot;,对于我这种小白来说学习起来是非常吃力的,不太适合入门。本项目目前的代码量非常少,是很简单易懂的,对于想入门riscv的同学来说是一个很好的参考希望能吸引更多的同学能够参与到riscv的学习中来促进riscv的发展,如果能起到抛砖引玉的作用的话那就更好了,也许说是砖的话或者有点夸大了,但哪怕是起到一颗沙子的作用,也就足矣了。
网上有不少关于RISC-V的开源项目,但是大多都写得很&quot;高深&quot;,对于我这种小白来说学习起来是非常吃力的,不太适合入门。本项目目前的代码量非常少,是很简单易懂的,对于想入门RISC-V的同学来说是一个很好的参考希望能吸引更多的同学能够参与到RISC-V的学习中来促进RISC-V的发展,如果能起到抛砖引玉的作用的话那就更好了,也许说是砖的话或者有点夸大了,但哪怕是起到一颗沙子的作用,也就足矣了。
# 2.介绍
本项目实现的是一个微RISC-V处理器核(tinyriscv)用verilog语言编写只求以最简单、最通俗易懂的方式实现riscv指令的功能因此没有特意去对代码做任何的优化因此你会看到里面写的代码有很多冗余的地方。tinyriscv处理器核有以下特点
本项目实现的是一个微RISC-V处理器核(tinyriscv)用verilog语言编写只求以最简单、最通俗易懂的方式实现RISC-V指令的功能因此没有特意去对代码做任何的优化因此你会看到里面写的代码有很多冗余的地方。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. 支持RV32M的乘法(单周期)指令mul mulh mulhu mulhsu
2. 支持RV32M指令mul mulh mulhu mulhsu div divu rem remu
3. 采用三级流水线,即取指,译码、访存、执行,回写;
4. 可以运行简单的c语言程序
@ -63,10 +63,11 @@ tinyriscv的整体框架如下
# 4.未来计划
1. 支持除法指令;
2. 在真实的FPGA平台(xilinx artix-7)上跑起来;
3. ……
# 5.更新记录
2020-01-02支持RV32M的乘法指令。
2020-01-02支持RV32M的乘法指令。
2020-01-13支持RV32M的除法指令。