makefile
DESIGN_NAME = "fifo_tb"
LOG_VCS = "vcs.log"
LOG_SIMV = "simv.log"
FILE_LIST = "./list.f"
# Code Coverage
CM = -cm line+cond+tgl+fsm+branch+assert
CM_DIR = -cm_dir cvrg
# Makefile body
.PHONY: env vcs simv verdi urg clean cleanall sim
env :
@echo "Design Name: $(DESIGN_NAME)"
@echo "Log File : $(LOG_VCS)"
@echo "Log File : $(LOG_SIMV)"
@echo "File List : $(FILE_LIST)"
# find . -name "*.v" > list.f
vcs :
vcs -nc -j32 -full64 -sverilog -debug_access+all \
+nospecify +notimingcheck +delay_mode_zero \
-l $(LOG_VCS) -f $(FILE_LIST) $(CM) $(CM_DIR)
simv : env vcs
./simv -nc +COMPARE +fsdb+parallel \
-l $(LOG_SIMV) $(CM) $(CM_DIR)
verdi :
verdi $(DESIGN_NAME).fsdb
urg :
verdi -full64 -cov -covdir ./cvrg.vdb
clean :
rm -rf simv ucli.key novas.* *.log
rm -rf csrc simv.daidir verdiLog cvrg.vdb vdCovLog
cleanall : clean
rm -rf *_Golden*.txt *_DUT.txt
sim : cleanall simv verdi
其中list.f中存放所有.v文件的相对路径,包括tb。
示例:
./fifo.v
./fifo_tb.v
在tb文件中,需要加入dump信号的指令。
initial
begin
$fsdbDumpfile("fifo_tb.fsdb");
$fsdbDumpvars("+all");
end
需要注意的是,dumpfile名要与makefile第一行的DESIGN_NAME相同。
否则需要手动打开fsdb的波形文件。
标签:LOG,CM,vcs,波形,verdi,tb,simv From: https://www.cnblogs.com/xzh-personal-issue/p/17831734.html