目录
1. 现有环境
vcs2016.03
verdi2016.03
2. 操作步骤
2.1 将 e200 opensource 项目下载到本机 Linux 环境中
git clone https://github.com/SI-RISCV/e200_opensource.git
2.2 编译RTL代码
cd <your e200_dir>lvsim
make install CORE=e203
2.3 修改vism/install/tb/tb_top.v
initial begin
$value$plusargs("DUMPWAVE=%d",dumpwave);
if(dumpwave != 0)begin
// To add your waveform generation function
$fsdbDumpfile("dump.fsdb");
$fsdbDumpvars("+all");
end
end
2.4 修改vsim/bin/run.Makefile,
把SIM_TOOL,SIM_OPTIONS,WAVE_TOOL,WAVE_OPTIONS这些选项为vcs和verdi
SIM_TOOL := vcs #To-ADD: to add the simulatoin tool
SIM_OPTIONS := -full64 -cpp g++-4.8 -cc gcc-4.8 -LDFLAGS -Wl,--no-as-needed -line +vcsd +vpi -r +plusarg_save -Mupdate +cli+3 +error+10 +v2k +ntb_exit_on_error=10 -negdelay +neg_tchk +memcbk +sdrverbose -timescale=1ns/100ps +warn=all +warn=noTFIPC +warn=noWSUM -sverilog -l vcs.log -rdynamic -P ${NOVAS_HOME}/share/PLI/VCS/linux64/novas_new_dumper.tab ${NOVAS_HOME}/share/PLI/VCS/linux64/pli.a +incdir+${VSRC_DIR}/core/+${VSRC_DIR}/perips/
SIM_EXEC := ../simv #To-ADD: to add the simulatoin executable
WAV_TOOL := verdi #To-ADD: to add the waveform tool
WAV_OPTIONS := -2001 -sv -top tb_top +incdir+${VSRC_DIR}/core/+${VSRC_DIR}/perips/ #To-ADD: to add the waveform tool options
wave:
# gvim -p ${TESTCASE}.spike.log ${TESTCASE}.dump &
${WAV_TOOL} ${WAV_OPTIONS} ${RTL_V_FILES} ${TB_V_FILES} &
2.5 在目录vsim执行make compile
会执行以下的flow,会创建run目录,并链接run/Makefile到bin/run.makefile,这个时候执行make compile
${RUN_DIR}:
mkdir -p ${RUN_DIR}
rm -f ${RUN_DIR}/Makefile
ln -s ${SIM_DIR}/bin/run.makefile ${RUN_DIR}/Makefile
compile: ${RUN_DIR}
make compile RUN_DIR=${RUN_DIR} -C ${RUN_DIR}
2.6 在run目录下执行make all
all: run
compile.flg: ${RTL_V_FILES} ${TB_V_FILES}
@-rm -rf compile.flg
${SIM_TOOL} ${SIM_OPTIONS} ${RTL_V_FILES} ${TB_V_FILES} ;
touch compile.flg
2.7 在vsim目录里下执行make run_test
默认会run testcase rv32ui-p-add, 结束后run目录下会有rv32ui-p-add目录,里面会有波形文件和log文件。
run_test: compile
make run DUMPWAVE=${DUMPWAVE} TESTCASE=${TESTCASE} RUN_DIR=${RUN_DIR} -C ${RUN_DIR}
cd ${TEST_RUNDIR}; ${SIM_EXEC} +DUMPWAVE=${DUMPWAVE} +TESTCASE=${TESTCASE} |& tee ${TESTNAME}.log; cd ${RUN_DIR};
2.8 导入波形
执行make wave打开verdi
点击file->load simulation results->对应目录下的dump.fsdb文件
参考链接:
https://www.cnblogs.com/mikewolf2002/p/11399364.html