参照[官方文档](https://doc.nucleisys.com/hbirdv2/quick_start/simulation.html)中Quick Start 4.1 “How to run simulation”部分,中途遇到很多坑,特来记录一番。
我的是vmware 15.5pro虚拟机。这里有两个坑:
sudo apt-get install autoconf automake autotools-dev curl device-tree-compiler libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev git
这里又有一个坑:
复制的时候千万要注意,官网复制时是两行,导致gawk后面的软件没有装上,也可能是导致`lxt2 support disabled since zlib not available`的原因。
git clone https://github.com/riscv-mcu/e203_hbirdv2.git
# or
git clone https://gitee.com/riscv-mcu/e203_hbirdv2.git
编译需要用riscv的GNU工具,可以在[官网下载](https://nucleisys.com/download.php): RISC-V GNU, Centos/Ubuntux86-64
下载下来的文件是`nuclei_riscv_newlibc_prebuilt_linux64_2020.08.tar.bz2`,和官方写的`rv_linux_bare_9.21_centos64.tgz.bz2`的不同。
cp nuclei_riscv_newlibc_prebuilt_linux64_2020.08.tar.bz2 ~/
cd ~/
tar -xjvf nuclei_riscv_newlibc_prebuilt_linux64_2020.08.tar.bz2
cd/
mkdir -p ./riscv-tools/prebuilt_tools/prefix/bin
cd ./riscv-tools/prebuilt_tools/prefix/bin/
# 建立riscv gcc的链接
ln -s ~/nuclei_riscv_newlibc_prebuilt_linux64_2020.08.tar.bz2/gcc/bin/* .
cd/riscv-tools/riscv-tests/isa
source regen.sh
这里仅以iverilg为例
这里有个大坑:
不能直接用sudo 安装,因为这样安装的版本是10,我们需要版本12。这个地方卡了我最长时间!
git clone https://github.com/steveicarus/iverilog.git
# 安装依赖
sudo apt-get install autoconf gperf flex bison build-essential
# 安装
cd iverilog
sh autoconf.sh
./configure
make
sudo make install
安装波形查看工具:
sudo apt-get install gtkwave
cd/vsim
make clean
make install
make compile SIM=iverilog
make run_test SIM=iverilog
保证iverilog的版本是12,否则会一直卡住,运行不出结果。大概1min之后,会出现大大的“PASS”字样。
make wave SIM=iverilog
make regress_run SIM=iverilog
这会持续比较久,每个样例需要1~3min。
make regress_collect
按照指南运行时,需要弄清楚它的基本逻辑,系统和软件的版本确实非常折磨人,如果有docker就能方便很多。回顾一下这个过程,最大的坑是ubunbu18.04的版本和iverilog 12的版本。