本項目實現的是一個微riscv處理器核(tinyriscv),用verilog語言編寫,只求以最簡單、最通俗易懂的方式實現riscv指令的功能,所以沒有特地去對代碼作任何的優化,所以你會看到裏面寫的代碼有不少冗餘的地方。tinyriscv處理器核有如下特色:git
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/tinyriscvui
整體框架:spa