Model Me, Model World

Blayground

RISC-V I Tool sets

Much of the RISC-V resource was publicized on GitHub. But as git-submodule is used, it’s possible that if a small tool module is updated but a larger project which adopts this module will not update this module until some contributor manually update the .gitmodules file. Before that, one has to check if the newer version of the sub-module is compatible with current project. It is at our own risk to update a sub-module without testing out its compatibility.

In an essence of saving time, the following table was intended to figure out the dependencies between this bunch of codes.

RepoSubmoduleDescription
rocket-chipvRocket Chip Generator
rocketRocket Microarchitectural Implementation of RISC-V ISA
chisel
uncore
hardfloat@berkeley-hardfloat
dramsim2@DRAMSim2
riscv-toolssee below
fpga-zynqsee below
riscv-toolsvRISC-V Tools (GNU Toolchain, ISA Simulator, Tests)
riscv-gccgcc+newlib and gcc+glibc toolchains
riscv-llvmclang compiler*
riscv-fesvrRISC-V Frontend Server
riscv-pkRISC-V Proxy Kernel
riscv-isa-simRISC-V Functional ISA Simulator spike
riscv-qemuQEMU with RISC-V Emulation Support
riscv-opcodesRISC-V Opcodes
riscv-testssubmodule env @riscv-test-env
fpga-zynq+vReady to use prebuild binaries, reference linked to amazon servers.+ fpga-images-zedboard, fpga-images-zybo, fpga-images-zc706.
Linux-Digilent-DevFork of linux for the Zybo. For use in the Zybo RISC-V Rocket tutorial.
u-boot-Digilent-DevFork of u-boot for the Zybo. For use in the Zybo RISC-V Rocket tutorial.
riscv-linux
riscv-gnu-toolchainGNU toolchain for RISC-V, including GCC 4.9.2. Maybe a newer version of riscv-gcc+
riscv-sodoreducational microarchitectures for risc-v isa
chisel
chisel-tutorialchisel tutorial exercises and answers
chisel-siftSIFT processing pipeline in Chisel(under development)*
riscv-angelJavaScript RISC-V ISA Simulator. Boots linux in a web-browser.
misc
homebrew-riscv
riscv-clang
ccbenchMemory System Microbenchmarks
bitsFirebox Benchmarks

The above table tried to explain these bunch of repositories and their functionalities as well as their dependencies.

In consistent with the hierarchy of the above table suggests, three comprehensive tutorials are present in rocket-chipriscv-tools and fpga-zynq repositories covering about hardware description, simulation & build toolchain and FPGA verification respectively. One who is interested in this topic is recommended to read these documents thoroughly.