Makwfile中命令行
CM = -cm line+cond+fsm_branch+tgl //表示要收集的代码覆盖率类型
CM_NAME = -cn_name $(OUTPUT) //表示覆盖率的文件名
CM_DIR = -cm_dir ./$(OUTPUT).vdb //表示覆盖率要存放到哪个目录下
-cm_nocasedef //表示不将case语句中的default进行覆盖率的计算
-cm_hier ./vcs_cov.cfg //表示将vcs_cov.cfg文件中的配置加入覆盖率选项
// vcs_cov.cfg中的选项可以为
touch vcs_cov.cfg
-module fsm_top
+tree fsm_top.fsm_moore
+module .....
+library +filelist
urg -dir *.vdb & //产生覆盖率d报告
firefox urgReport //查看覆盖率报告
dve -covdir *.vdb & //用dve查看覆盖率报告
//如果想让某段代码不进行覆盖率统计,可使用如下特使注释代码
VCS coverage off //只能在VCS中使用,不能在DC中使用,dc会报错
VCS coverage on
//或者
synopsys translate_off //dc中不会报错
synopsys translate_on
//merge coverage for all test cases and generation of report files:
vcs -cm_pp $COV -cm_nocasedef -cm_name TOTAL 或者 dve -cadir *.vdb
//每个tb对代码覆盖率的贡献
vcs -cm_pp -b -cm line -cm_autograding 100
//一个编译文件夹下的代码的命令
vcs -f filelist.f -cm line+cond+fsm+tgl -debug_all