VCS查看代码覆盖率(行、状态机、翻转、条件、分支覆盖率等)


虚拟机:VMware -14.0.0.24051
环 境:ubuntu 18.04.1
脚 本:makefile(点击直达原来的脚本没有代码覆盖率查看功能,新添加了这个功能



一、脚本内容

#LAB_DIR = /home/cyl/target/personal/sync_fifo
#LAB_DIR = /home/cyl/target/personal/async_fifo
#LAB_DIR = /home/cyl/target/personal/uart
#LAB_DIR = /home/cyl/target/personal/spi
#LAB_DIR = /home/cyl/target/personal/apb
#LAB_DIR = /home/cyl/target/personal/ahb2apb

DFILES = $(LAB_DIR)/*.v 

# code coverage command
CM = -cm line+cond+fsm+branch+tgl
CM_NAME = -cm_name simv
CM_DIR = -cm_dir ./covdir.vdb



all :clean elab rung
all1:clean elab run cov verdi
all2:clean elab run verdi

elab:
	vcs -full64 -LDFLAGS -Wl,-no-as-needed -debug_acc+all -timescale=1ns/1ns \
	-fsdb -sverilog -l comp.log  \
	${DFILES} \
	${CM} \
	${CM_NAME} \
	${CM_DIR} 


run:
	./simv -l run.log \
	${DFILES} \
	${CM} \
	${CM_NAME} \
	${CM_DIR} 



rung:
	./simv -gui -l run.log \
	${DFILES} \
	${CM} \
	${CM_NAME} \
	${CM_DIR} 


verdi:
	verdi ${DFILES} \
	-ssf ./*.fsdb &

cov:
	dve -full64 -covdir *.vdb &

clean:
	rm -rf  AN.DB \
	rm -rf  DVEfiles \
	rm -rf  csrc \
	rm -rf  simv.* \
	rm -rf  *simv \
	rm -rf  inter.vpd \
	rm -rf  ucli.key \
	rm -rf  *.log \
	rm -rf  verdiLog \
	rm -rf  novas* \
	rm -rf  *.fsdb \
	rm -rf  *.vdb

二、讲解

VCS在统计代码覆盖率的过程中,需要在编译和仿真命令上添加对应的开关命令,生成.vdb文件记录覆盖率情况,再使用dve打开该文件进行查看覆盖率。

(1)代码覆盖率选项

# code coverage command
CM = -cm line+cond+fsm+branch+tgl
CM_NAME = -cm_name simv
CM_DIR = -cm_dir ./covdir.vdb
  1. -cm < coveragetype > :打开对应类型覆盖率,例如 -cm cond+tgl+lin+fsm+path为统计所有覆盖率。
  2. -cm_name:统计覆盖率文件名字。
  3. -cm_dir:指定生成.vdb文件目录。
  4. -cm_log+filename.log:记录仿真过程中log信息。
  5. -cm_nocasedef: 在统计case语句的条件覆盖率时,不考虑default条件未达到的情况。
  6. -cm_hier xxx.cfg:通过.cfg文件选择要查看覆盖率的模块或文件。

(2)查看方法

就上面的脚本而言,在make all查看波形之后,再make cov即可查看。或者直接make all1,用verdi查看波形,用DVE查看代码覆盖率。绿色是覆盖到的,红色是没有覆盖到的。总之是编译仿真完成之后,make cov就能查看。

在这里插入图片描述

方法二,通过文本格式查看

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


✍✍☛ 题库入口
  经过一段时间的沉淀,发现入行IC行业,自己的底子还是很差,写的文章质量参差不齐,也没能解答大家的疑问。决定还是要实打实从基础学起,由浅入深。因此决定通过补充/完善基础知识的同时,通过题库刷题不断提高自己的设计水平,题库推荐给大家(点击直达),<题库记录>栏目不定期更新,欢迎前来讨论。



作者:xlinxdu
版权:本文是作者原创,版权归作者所有。
转载:未经作者允许,禁止转载,转载必须保留此段声明,必须在文章中给出原文连接。

  • 88
    点赞
  • 274
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xlinxdu

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值