Dependencies
BLIMP requires the following:
CMake (as well as any preferred backend, such as Ninja)
The RISCV toolchain, for cross-compiling
One of the following (for Verilog simulation):
Exact versions required are unknown, but all functionality was successfully demonstrated on the BRG research server. Those looking to replicate should aim for:
CMake >= 3.10
GCC >= 13 (necessary for using
<format>)RISCV Toolchain built 2025 or later (we built in Jan. 2025)
Verilator >= 5.032
Note that the build system is currently only intended to work on Linux systems.
In particular, MacOS doesn’t natively support ELF utilities (i.e. elf.h),
and has particular command-line flags with CMake that don’t work with the
RISCV toolchain. Further work could be done for this use case, but isn’t
needed at this time.
Verilator Version
Currently, Blimp will throw errors with the current version of Verilator due to the use of tasks inside of a function - see Further Work