本文主要是介绍Verilator入门12:仿真玄铁coremark步骤详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
上一节介绍了如何用verilator跑coremark case,本节将进一步介绍具体的步骤,由上一节,我们知道,直接运行
make runcase CASE=coremark SIM=verilator THREADS=8
即可完成这个仿真,本节我们来看下具体步骤,打开Makefile我们可以看到runcase的时候会执行如下部分:
runcase:@make cleanVerilator
ifeq ($(CASE),)$(error Please specify CASE=xxx on the command line, like: \$(newline) > make buildcase CASE=xxx... \$(newline) The list of valid cases can be obtained by executing: \$(newline) > make showcase ...)
endif
ifeq ($(findstring $(CASE), $(CASE_LIST)), $(CASE))@make -s compile@make -s buildcase CASE=$(CASE)
ifeq ($(SIM), vcs)cd ./work && ./simv -l run.vcs.log $(SIMV_POWER_OPT)
elseifeq ($(SIM), nc) cd ./work && irun -R -l run.irun.logelseifeq ($(SIM), verilator)make buildVerilatorcd ./work && obj_dir/Vtop elsecd ./work && vvp xuantie_core.vvp endifendif
endif
一步步看,首先执行make -s compile会对910的RTL进行编译,生成对应的C++文件,随后执行make -s buildcase CASE=$(CASE),对要仿真的coremark例子的代码进行交叉编译,生成其对应的可执行bin文件,接着执行make buildVerilator,编译verilator之前生成的C++文件生成仿真程序,最后cd ./work && obj_dir/Vtop执行仿真程序。下面我们逐一解析下,注意在执行下面操作之前需要按照上一节介绍的配置
这篇关于Verilator入门12:仿真玄铁coremark步骤详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!