modelSim仿真出错
1. The interface port ‘infu’ must be passed an actual interface.
在调用接口连接TEST和DUT的时候,compilation通过了,但是simulation的时候出错了,报上面这个错。
解决:将编译命令改成:
| vsim -voptargs="+acc" top -do "run -all" #其中 top是顶层模块,其中例化了TEST,DUT
|
参考
SV仿真脚本
makefile中变量需要加上花括号{}。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| cov_opt = line+tgl+fsm+cond
run: vcs urg dve vcs: vcs -sverilog \ +v2k \ -f filelist \ +notimingcheck \ -debug_all \ -R \ -cm ${cov_opt}
sim: ./simv -cm ${cov_opt}
urg: urg -dir simv.vdb -report both dve: dve -covdir simv.vdb //在VCS中观察仿真结果 .PHONY:clean clean: rm -rf csrc simv ucli.key simv.daidir rm -rf simv.vdb vc_hdrs.h
|
覆盖率仿真
1 2 3 4
| % vcs -cm line+cond+fsm source.v % simv -cm line+cond+fsm % urg -dir simv.vdb // 生成覆盖率报告 % dve -covdir simv.vdb //在VCS中观察仿真结果
|
SV仿真脚本2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| # # Verilog \ SystemVerilog simulation script # 2019-07-27 #
files = filelist comp_log = comp.log sim_log = sim.log defines = cov_opt = line+tgl+fsm+cond
compile_options = -sverilog +v2k -f filelist \ -debug_all \ +vcs+vcdpluson -timescale="1ns/1ps" \ +define+${defines} \ -l ${comp_log} runtime_options = \ -cm ${cov_opt} \ -l ${sim_log}
compile_option=-sverilog -f filelist run: vcs sim
vcs: vcs ${compile_options}
sim: ./simv ${runtime_options} urg: urg -dir simv.vdb -report both
.PHONY:clean clean: rm -rf csrc simv ucli.key simv.daidir rm -rf simv.vdb vc_hdrs.h rm -rf *.log rm -rf *.vpd
|