RVSCC/README.md

40 lines
1.4 KiB
Markdown
Raw Normal View History

2022-12-24 06:07:57 +00:00
# Collection of SystemVerilog basic RV32I CPU cores
2022-12-27 03:03:15 +00:00
## Table of contesnts
- [Core List](#core-list)
- [Directory structure](#directory-structure)
- [Requirements](#requirements)
- [Build](#build)
- [Tests](#tests)
- [Benchmark](#benchmark)
## Core list
2022-12-24 06:07:57 +00:00
- Single cycle processor
2022-12-27 03:03:15 +00:00
- 5-Stage pipelined processor with hazard detection
2022-12-24 06:07:57 +00:00
2022-12-27 03:03:15 +00:00
## Directory structure
2022-12-24 06:07:57 +00:00
.
├── fw # Firmware
│ ├── sandbox # C/Assembly sandbox firmware source
│ └── test # Assembly programs used for testbenchs
├── rtl # RTL Modules
└── test # SystemVerilog testbenchs
## Requirements
- SystemVerilog simulator
- CMake
- 32-bit GNU RISC-V toolchain
If your package manager does not provide the RISC-V GNU toolchain you can compile it from their [main repository](https://github.com/riscv-collab/riscv-gnu-toolchain) or for Windows you can download the [xPack pre-compiled binaries](https://github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack/releases).
## Build
To build the firmware that will be loaded in the instruction memory execute CMake in the `fw` directory specifying the RISC-V toolchain and build the recipe based in your selected generator (`make` in the following example).
```
cmake -DCMAKE_TOOLCHAIN_FILE=./cmake/toolchain.cmake -Bbuild
make -Cbuild
```
2022-12-27 03:03:15 +00:00
## Tests
2022-12-24 06:07:57 +00:00
(TODO)
## Benchmark
(TODO)