An in-order 5-stage pipelined CPU which implements the RV32I base instruction set and the M instruction set extension for multiplication/division operations as per the RISC-V ISA specification.
NOTE: The following instructions assume a Linux/WSLg environment.
- Install the following prerequisites for compilation and simulation.
Name | Version |
---|---|
iverilog |
>= 11.0 |
gtkwave |
>= 3.3.104 |
sudo apt install -y iverilog gtkwave
- Clone the repository
git clone https://github.com/cepdnaclk/e17-co502-RV32IM-Pipeline-Implementation-Group1.git
- Test the hardware modules as shown in the next section.
The unit tests for the hardware units can be launched by executing the following command from the code/cpu
directory,
sh scripts/test_module.sh <module_name>
where <module_name>
refers to the name of the module being tested (e.g. alu
).