RISC-V MCU中文社区

【分享】 无开发板在Linux系统下进行E203内核指令集测试以及跑分程序的测试

发表于 全国大学生集成电路创新创业大赛 2023-05-09 17:37:21
0
1457
0

队伍编号:CICC1449

队伍名称:礼堂盯帧电子研究所

摘要:

本文为描述在没有开发板的前提下如何在Linux系统进行指令集测试。

在不同的开发板上移植蜂鸟E203软核的过程请参考前文

1.将文件传输进入Linux系统

首先,将解压好的蜂鸟E203文件夹通过Xshell等方式传输到Linux系统虚拟机上。该虚拟机需要装有VCS软件。(如果需要观察仿真波形还需要用到Verdi联合仿真,没有VCS也可以使用IVerilog软件。)
图片alt

2.修改tb文件的读文件地址

进入tb文件夹,打开tb_top.v文件,对270行的$readmemh指令的testcase进行修改,修改值为你要做的指令集测试的地址。指令集测试的文件都存放在:/riscv-tools/riscv-tests/isa/generated中。如:需要做加法指令集测试则将testcase修改为xxxx/riscv-tools/riscv-tests/isa/generated/rv32ui-p-add.verilog.

3.指令集测试

进入vsim文件夹,该点所有步骤都需要在vsim文件夹中完成。
打开README.md文件,可以看到进行仿真所需要的指令。
图片alt

若使用VCS软件进行仿真,则依次输入make clean, make install, make compile SIM=vcs,
make run_test SIM=vcs,则可以进行指令集测试,若该指令集测试通过,则会在终端中打印处PASS的字样。
图片alt

需要做不同的指令集测试时,只需要对第二步中的testcase地址中的最后一个.verilog文件的文件名修改就可以了。

4.跑分程序测试

接下来介绍跑分程序的运行,在完成浮点指令集之前,对微架构进行优化,比较有参考性的指令集测试是coremark和dhrystone跑分程序。跑分程序位于/riscv-tools/fpga_test4sim中。
与第二点的操作相似,只需要将$readmemh指令的testcase修改成跑分程序的.verilog文件路径,重复第三点步骤,即可进行跑分测试。如下图所示,依次为coremark跑分和dhrystone跑分(我们小组已对微架构进行优化)。

coremark跑分

图片alt

dhrystone跑分

图片alt

喜欢0
用户评论
nicolynN

nicolynN 实名认证

懒的都不写签名

积分
问答
粉丝
关注
  • RV-STAR 开发板
  • RISC-V处理器设计系列课程
  • 培养RISC-V大学土壤 共建RISC-V教育生态
RV-STAR 开发板