安装gemmini 和chipyard过程:
安装版本:
chipyard 版本是1.8.1 ,gemmini版本0.7.0
tip: 如果在base里安装conda-lock觉得缓慢,可以新建新的环境时就指定安装conda-lock
conda create --name yourEnv python=3.7 conda-lock=1.4
到对应的env环境下
conda activate yourEnv
查看是否安装成功 conda-lock
conda-lock --version
安装chipyard:
这里墙裂建议使用魔法
git clone -b 1.8.1 https://github.com/ucb-bar/chipyard.git
cd chipyard
git checkout 1.8.1
./build-setup.sh esp-tools
source env.sh
cd generators/gemmini
git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
git fetch && git checkout v0.7.0
git submodule update --init --recursive
SPIKE_HASH=$(cat SPIKE.hash)
cd -
cd toolchains/esp-tools/riscv-isa-sim/build
git fetch && git checkout $SPIKE_HASH
make && make install
开启多线程加速
目录:
/chipyard/generators/gemmini/scripts/buid-verilator.sh
//18行
j="8" //线程数
目录:
/chipyard/sims/verilator/Makefile
//107 行
VERILATOR_THREADS ?= 16 //线程数
//110行
VERILATOR_FST_MODE ?= 1 //加速波形图用的
配置8*8个PE
目录:
/chipyard/generators/gemmini/src/main/scala/gemmini/CustomConfigs.scala
val Mum64Config = defaultConfig.copy(
meshRows = 8,
meshColumns = 8,
has_training_convs = false,
)
// Specify which of your custom configs you want to build here
val customConfig = Mum64Config
运行Gemmini仿真
每次重新开一个终端,需要先运行此命令,将conda激活
conda activate yourEnv
在chipyard/文件夹下
source env.sh
将为所请求的工具链正确设置PATH、RISCV和LD_LIBRARY_PATH环境变量
build software
cd chipyard/generators/gemmini/software/gemmini-rocc-tests
./build.sh
生成模拟器
cd generators/gemmini/
./scripts/build-verilator.sh --debug
–debug是为了生成波形
运行仿真
./scripts/run-verilator.sh resnet50 --debug
gemmini 波形图路径
Top/TestHarness/chiptop/system/tile_prci_domain/tile_reset_domain/tile/gemmini/ex_controller/mesh