报名编号:CICC1327
团队名称:301小队
首先在github下载 hbrid-sdk软件开发环境
在文件夹中有一个setup.sh文件,其内容如下:
意思是创建一个setup_confg.sh文件,指定NUCLEI_TOOL_ROOT路径,便于编译的时候能够找到其路径下的gcc工具链
NUCLEI_TOOL_ROOT=/home/ICer/Nuclei_Tools
Nuclei_Tools文件夹下的gcc文件中的可执行文件如下图所示,使用的编译工具为riscv-nuclei-elf-gcc
每次编译程序时,需要 source setup.sh文件,将gcc的路径环境加载进来
进入coremark目录下,运行makefile脚本,采用ILM方式编译产生coremark.verilog二进制文件
如下所示:
通过readmem的方式将文件加载到itcm中,采用VCS编译器运行tb脚本,相关的编译运行操作在Makefile中有详细的介绍
make run_test之后在终端中打印跑分信息如下所示,其跑分为3.05
其打印原理时利用了verilog语言中的打印函数实现的:
在uart发送模块,当发送握手时,直接将要发送的数据通过$fwrite函数打印出来;
也可以在tb文件中,写一个uart接收模块,其波特率为115200,等待接收完成之后再通过$fwrite函数打印
以上就是在虚拟机中仿真的过程,Nuclei_Tools文件包目前没在riscv-mcu的github中找到;另一个点是利用VCS和Verdi联合仿真的脚本和环境配置问题。