You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Felix 82fe15aa3e
feat(makefile): 为lab9增加benchmarks
8 months ago
..
core fix(top_sram_wrapper): 补充difftest下SRAM的顶层文件 10 months ago
src fix(mstatus.mpp): 写入非法值时,mpp保持原值 8 months ago
test perf(test/lab4): 强化 lab4 的测例 10 months ago
.gitignore chore(.gitignore): 移除不必要的文件规则 10 months ago
Makefile feat(makefile): 为lab9增加benchmarks 8 months ago
README.md perf(difftest/makefile): 增加 help 提示 9 months ago

README.md

🧬 RISCV-DIFFTEST

对 SRAM 结构的 RISCV-LAB 提供差分测试支持

差分测试框架修改自 soc-simulator

📑 目录说明

  • core 存放待测试处理器的代码,其顶层信号应与 top_sram_wrapper 中信号定义一致
  • test 存放测试代码
  • src 存放模拟器代码

🔨 使用方法

  1. 将 CPU 代码放置到相对于本文件夹的 core 文件夹中。
  2. 在本文件夹下,使用 make 命令完成编译,结果位于 obj_dir/Vtop
  3. 每次修改 CPU 代码后,需要重新 make,如果引入了一些时间早于编译产物的代码,需要先 make cleanmake

🧪 参数说明

makefile 中已经预置了常用命令,使用 make help 查看命令使用方法

在命令 ./obj_dir/Vtop 后面可以加上不同参数,可以实现不同的功能:

  • 无参数 运行串口测试工具,打印 RISC-V LOGO

  • <测试文件路径> -rvtest 运行对应测试文件的差分测试

    • 在上述命令后继续增加参数:
      • -trace <记录波形时长> 记录波形,并导出
      • -starttrace <开始记录波形的时刻> 从指定时刻开始记录一段固定时长的波形
      • -pc 报错时将额外输出最近的 PC 历史记录
      • -delay 行为不一致时将继续运行一段时间再停止
      • -cpu_trace 记录被测试的处理器的程序运行历史信息,生成 trace.txt
      • -perf 打印处理器运行的IPC数据