BRG’s Luculently Interfaced Modular Processor
The main documentation for Blimp can be found on the GitHub Pages
Blimp uses CMake as its build system generator. To begin testing, first generate the build
system using CMake, optionally specifying either Verilator or VCS as the Verilog compiler
(Blimp uses Verilator by default)
mkdir build
cd build
cmake .. -DCMAKE_Verilog_COMPILER_ID=VerilatorFrom there, users can run any individual test by specifying its name as a target:
make ALU_testKnown tests can be listed with the list target.
Tests for a specific top-level version N can be run with the target check-vN
make check-v7Finally, all tests can be run with the check target
make checkRunning tests as shown above can often be slow; users may additionally
want to specify a level of parallelism (ex. make -j ALU_test) or
specify a different backend when generating the build system (ex.
cmake .. -GNinja)
Simulation programs are kept in the app directory. A given program
can be built natively by with the target app-<program>-native,
which will build <program>-native in the app directory
make app-hello-native
./app/hello-nativePrograms can also be built for RISCV by omitting the native suffix
make app-helloThese can then be run using the functional-level simulator, specifying the path to the ELF file
make fl-sim
./fl-sim app/helloThey can also be run on a specific Blimp version by making the corresponding simulator
make v7-sim
./v7-sim +elf=app/hello