尝试把rocketchip项目引入到自己的项目中
- verilator需要直接编译最新Git仓库: (目前可用) Verilator 5.033 devel rev v5.032-66-gcc1133c0d
- rocket-chip应该指定mill版本为
0.11.7
- rocket-chip编译用firtool为:
$ firtool --version
LLVM (http://llvm.org/):
LLVM version 17.0.0git
Optimized build.
CIRCT firtool-1.43.0
mill -i generator[6.5.0].runMain freechips.rocketchip.system.FuzzMain --target-dir /root/research/rocket-chip/build/rtl --full-stacktrace --split-verilog
- --split-verilog 在新版本的firrtl里面并不支持,可能有别的名字,请在编译的时候主动指定。
mill -i testsoc.runMain testsoc.SimMain --target-dir ./build/rtl --full-stacktrace
- 目前直接拷贝了之前rocket-chip里面能用的bootrom,之后可能需要一些修改。
make clean && make emu REF=$(pwd)/ready-to-run/riscv64-spike-so -j32
- 类似于Rocket Core,BOOM的核心名称是boomcore
- 需要注意指定NOOP_HOME到根目录
export NOOP_HOME=/home/shensd/hw_verification/RocketChipImport
- 或者直接运行
source env.sh
./build/emu -i ./ready-to-run/microbench.bin