单发射5级流水线 RISC-V CPU
使用 vivado 和 Nexys4-DDR 实现的单发射5级流水线 RISC-V CPU。
该CPU采用了五级流水线设计,分为取指——译码——执行——访存——写回五个阶段。实现了处理冒险的停顿和前递功能。
支持的指令集:除了 FENCE、ECALL、EBREAK 以外的所有RV32I指令集,共37条。
xgriscv_parts.v
实现了一些数据通路上的小部件,如pc寄存器、MUX、加法器、数据通路、寄存器等。xgriscv_mem.v
实现了指令内存和数据内存。xgriscv_alu.v
实现了算术逻辑部件运算器。xgriscv_regfile.v
实现了32个通用寄存器。xgriscv_controller.v
实现了控制器(向ALU和数据通路发送控制信号)。xgriscv_datapath.v
实现了数据通路:将所有部件连接起来。xgriscv_pipelined.v
是仿真时将所有流水线部件连接的顶层文件。xgriscv_tb.v
产生仿真时的时钟信号。xgriscv_fpga_top.v
是下载到 FPGA 时将外围电路和所有流水线部件连接的顶层文件。
经过各种玄学优化,代码跑到了 130 MHz。