本目录存放一生一芯
基础任务需要使用的测试用例。目录结构如下:
.
├── custom-output # 0x7b自定义打印指令测试用例
│ ├── benchmark
│ ├── hello
│ ├── interrupt-test
│ ├── mario
│ ├── rt-thread
│ ├── time-test
│ └── yield-test
├── inst.bin # 包含3条addi指令,可用于测试cpu例程
├── inst_diff.bin # 包含3条addi指令和1条0x6b,可用于测试cpu_diff和chisel_cpu_diff例程
├── non-output # 无输出测试用例
│ ├── coremark
│ ├── cpu-tests
│ ├── dhrystone
│ ├── microbench
│ └── riscv-tests
└── README.md
所有测试用例使用0x6b
指令作为结束指令,当执行到0x6b
指令时,将a0
寄存器的值作为trap code
提交给difftest即可。trap code
为0表示正确执行并退出程序,非0表示断言失败。
该目录下的测试用例运行时无输出,可用于测试CPU指令实现的正确性。
该目录下的测试用例使用0x7b
指令作为输出指令,,可用于测试CPU指令实现的正确性。CPU在执行该指令时,将a0
寄存器的值作为ASCII字符打印出来。其中interrupt-test
和rt-thread
需要实现CLINT
,关于CLINT
的地址,可以参考这里。