From 08bb9f3da490dd249a361b6f761fd9bb0f9c4437 Mon Sep 17 00:00:00 2001 From: Mario1159 Date: Sat, 24 Dec 2022 06:07:57 +0000 Subject: [PATCH] Update 'README.md' --- README.md | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7adbdb2..76b92a8 100644 --- a/README.md +++ b/README.md @@ -1 +1,30 @@ -# 5-Stage RISC-V pipelined processor with hazard detection \ No newline at end of file +# Collection of SystemVerilog basic RV32I CPU cores +- Single cycle processor +- 5-Stage pipelined processor with hazard detection + + +## Directory Structure + . + ├── 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 +``` +## Testing +(TODO) +## Benchmark +(TODO) \ No newline at end of file