/RISC-V-RV32I-CPU_Verilog-Implementation

Implementation of the RV32I Instruction Set in Verilog.

Primary LanguageVerilogMIT LicenseMIT

RISC-V RV32I CPU - Verilog Implementation

Introduction:

After taking ECE 316 (Digital Logic Design) at the University of Texas at Austin, I found that I enjoyed using HDLs. I thought it would be cool to make a CPU in Verilog, so after some research, I found the RISC-V RV32I ISA and got started.

This project required a ton of independent research, so there isn't much optimization. I plan to implement optimizations, such as parallelization and pipelining, after I develop those skills in ECE 460N (Computer Architecture) next spring.

Goals:

  • Implement all of the RV32I's Base Instructions. ✅
  • Create test benches to ensure maximum accuracy. ✅
  • Synthesis on a Basys 3 with AMD Artix 7 FPGA Board.

Simulation Output (Basic Test Case)

Input: (Instructions.hex file)

image

Output:

image

Potential Plans:

Reference: