An implementation of a MIPS I ISA compatible CPU.
See the docs folder for the CPU datasheet.
The following packages are required
- gcc-mips-linux-gnu
- make
- iverilog (tested against v11.0 and commit-hash ef01dd1e8161b6ee8bf9549acfa0fefcd1ba8dcb)
To build the CPU, build the tests and run them:
$ makeTo build the CPU:
$ make buildTo build the tests, without running them:
$ make build-testsTo run the tests:
$ make test.githubcontains Github Actions CI workflows for automated testing of the projectbuildcontains files relevant to building the project, such as a Dockerfile that is used by the CI pipelinedocscontains CPU documentation, including the datasheetrtlcontains the HDL for the CPUrtl/testcontains Verilog module-level CPU test-benchesscriptscontains various scripts created during development for the purpose of automating manual processestest/mipscontains instruction-level tests, such as C and ASM tests. The binaries are checked into Git to ensure reproducability. They can be re-assembled with./test/build_instruction_testbench.shand./test/build_c_testbench.shtest/rtlcontains the HDL harness for instruction-level testing