蜂鸟E203(二)如何运行Verilog仿真测试平台

本文介绍了如何在Verilog测试平台中利用VCS软件运行蜂鸟E203的riscv-tests自测试用例。首先,详细列举了risc-v-tools组件,包括GCC、C运行库等。接着,强调了.gitignore文件的作用。然后,阐述了测试平台的主要功能,如初始化ITCM和判断测试用例是否成功。最后,提供了运行测试用例的makefile步骤,包括修改为使用VCS仿真工具并收集测试结果。
摘要由CSDN通过智能技术生成

从github下载蜂鸟E203如下所示(github上仅提供E203源代码):
在这里插入图片描述
在这里插入图片描述
riscv/riscv-tools在(一)已经在eclipse中配置完成。
risc-v tools包含:
(1)GCC(GNU C compile)
(2)C运行库
(3)Binutils
(4)GDB以及Openocd

(其中在使用git的过程中,一般我们总会有些文件无需纳入git的管理,也不希望它们总出现在未跟踪文件列表,这些文件通常是日志文件、临时文件、编译产生的中间文件、工具自动生成的文件等等。此时我们可以创建一个名为 .gitignore 的文件,列出要忽略的文件模式,Git会根据这些模式规则来判断是否将文件添加到版本控制中)

如何在verilog tb中利用vcs 软件运行riscv-tests自测试用例
在这里插入图片描述
自测试用例(riscv-test),由上图所示,在其子文件夹isa下,包含由汇编语言编写的一些测试处理器是否符合指令集架构定义的测试文件。
其中不同文件夹均是扩展指令集的指令测试:
基础指令集:RV32I RV64I

标准扩展 M(整数乘/除)

标准扩展A(原子内存操作)

标准扩展 C(精简的16位指令)

标准扩展 F(单精度浮点数)

标准扩展 D(双精度浮点数)

特权级 M(Machine)

特权级U(User)

特权级S(Supervisor)

而riscv-tests中这些指令集架构(ISA)的测试用例都是使用汇编语言编写,为了在仿真阶段能够被处理器执行,还需要将这些汇编程序编译成二进制文件。而在generated文件夹下,已经预先上传了一组编译完成的可执行文件和反汇编文件,以及能够被verilog 的tb文件readmemh函数读入的文件。
在这里插入图片描述
在这里插入图片描述
而testbench测试平台的主要功能在于:
1、例化DUT文件,并生成时钟和复位信号
2、根据运行命令解析测试用例的名称,并使用系统函数readmemh读入相应文件的内容,然后使用文件中的内容初始化ITCM
在这里插入图片描述
在这里插入图片描述
3、在运行结束后分析该测试用例是否执行成功,在tb文件中对x3寄存器进行判断,如果x3为1,则意味pass,否则fail
在这里插入图片描述
使用makefile 运行测试用例:

SIM_DIR     := ${PWD}
RUN_DIR      := ${PWD}/run
TESTNAME     := rv32ui-p-add 
TESTCASE     := ${RUN_DIR}/../../riscv-tools/riscv-tests/isa/generated/${TESTNAME}
DUMPWAVE     := 1
CORE        := e203
CFG         := ${CORE}_config

E201        := e201
E203        := e203
E205        := e205
E205F       := e205f
E205FD      := e205fd
E225FD      := e225fd

#将CORE_NAME中的CORE变量中如果有小写转换成大写
#将core_name中的CORE变量中如果有大写转换成小写
CORE_NAME = $(shell echo $(CORE) | tr a-z A-Z) 
core_name = $(shell echo 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值