配置 RISC-V 合规性测试¶
本节提供新旧两种RISC-V合规性测试的途径,这两种途径的测试效果是相似的。新框架测试(riscof)生成的测试报告更完整美观,旧框架测试的环境配置更简单一些。
使用 riscof 测试¶
新框架测试目前仅支持在 Linux 环境中运行。
安装必要组件¶
为了进行新框架的测试,我们需要安装的必要组件如下:
- Python3.6 以及 pip3
- RISCOF
- RISCV-GNU Toolchain
- Spike
- Architectual Tests
首先自行安装 Python 3 以及 pip,然后安装 RISCOF:
pip3 install git+https://github.com/riscv/riscof.git
安装 RISCV-GNU Toolchain 以编译测试程序:
sudo apt install binutils-riscv64-unknown-elf gcc-riscv64-unknown-elf
编译 Spike 模拟器,作为参考实现:
sudo apt-get install device-tree-compiler
git clone https://github.com/riscv-software-src/riscv-isa-sim.git
cd riscv-isa-sim
mkdir build
cd build
../configure --prefix=/usr/local
make
sudo make install
使用下面的命令将 Architectual Tests 克隆到当前文件夹
riscof --verbose info arch-test --clone
编译仿真器代码¶
参考波形仿真一节先编译出仿真器可执行程序。
运行测试¶
cd riscof-target
riscof --verbose info run --config ./config.ini --no-browser --suite YOURPATH/riscv-arch-test/riscv-test-suite/rv32i_m \
--env YOURPATH/riscv-arch-test/riscv-test-suite/env
测试通过后会生成一个 HTML 格式的报告。报告位于 riscof-target/rsicof_work/report.html
。
关于 riscof¶
更多关于新测试框架 riscof 的资料,请参考官方文档。
旧框架测试¶
RISC-V 合规性测试仅支持使用 Makefile 与 gcc 编译器运行,如果你使用的是 Windows,那么你应当配置好 mingw 环境,以便运行测试。如果你已经配置好 Verilator,那么合规性测试应当也可以正常运行。
编译仿真器代码¶
参考波形仿真一节先编译出仿真器可执行程序。
克隆合规性测试仓库¶
合规性测试仓库位于 https://github.com/riscv-non-isa/riscv-arch-test,旧框架是该仓库的一个分支。在和 yatcpu 同级的目录下(注意不要克隆到 yatcpu 内)运行下面的命令。
git clone -b old-framework-2.x https://github.com/riscv-non-isa/riscv-arch-test.git
克隆完成后,进入合规性测试仓库,配置环境变量,并编译运行测试:
cd riscv-arch-test
export TARGET_SIM=~/yatcpu/verilog/verilator/obj_dir/VTop
export TARGETDIR=~/yatcpu/riscv-target
export RISCV_TARGET=yatcpu
make
最后更新:
2022-08-04 20:05:19
本页作者: