微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > NCVerilog统计覆盖率问题

NCVerilog统计覆盖率问题

时间:10-02 整理:3721RD 点击:
各位大拿,
代码中新增加了两个module:A和B;
仿真层次结构:tb_testbench:激励,mic:顶层,在mic下A有3个instances:A0,A1,A2,B有两个instances:B0,B1;
只想统计涉及module:A和B以及他们instance的覆盖情况,因为整体项目太大,不想直接统计整个项目的源代码的覆盖情况,时间太长。
问题:
在ncverilog手册及自带例子中,ncelab阶段有命令选项“-covdut modulename”可以进行指定,但给出的情况都是module只有一个instance的情况,对module有多个instances的应该怎么用呢?

由于当前手边没有验证环境,只能凭印象给你点线索。
nc编译选项里面有一个可以指定覆盖率配置信息的参数-covfile,然后后面跟着一个文件,比如cov.file(名字随意),然后在这个文件里面,可以使用
select_coverage -bet -instance 层次结构(A.U_B.U_C...)
deselect_coverage -bet -instance 层次结构 (A.U_B.U_C...)
这两种方式去关注或者取消关注指定层次结构下的实例,最后的三个省略号如果不写,则只关注指定层次模块本身的覆盖率信息;如果三个省略号写上,则关注指定层次模块以及其下面所有子模块的覆盖率信息。
一般用法,用第一个指令,指定一个较高层级的实例,然后用第二个指令,把该实例下面不需要关注的层级结构取消掉。当然了,如果你这个实例下所有的模块都关注,则可以不使用第二个指令。
仅供参考,自己研究一下,也可以看看ncverilog的手册。

对了,-bet里面,b是block覆盖率,e是expression覆盖率,t是toggle覆盖率,另外还有两个断言覆盖率和状态机覆盖率的,你看看手册吧。

3QU,不需要具体环境。我手边的手册、包括从google上搜都找不到你说的这个,可以分享一下你的资料吗?

不应该的,我是直接研究NC的用户手册pdf的,你搜索我提供你的命令看看?

确定没有你说的那个命令的。
在顺路问你个问题,ncverilog作为codecov后产生的结果,怎么导出文本形式的文件,最好是可以想导出哪部分或哪种类型的可以任意设置

3QU

你是说我说的所有命令都没有吗?它必须放到一个文件里,然后在仿真 选项用-cov_file指向这个文件,才会生效,同时还需要把其他codecov的参数打开。另外,你说的导出,我没研究过,我都是使用nc的codecov工具看的,忘记名字了,老版本的是iccr,现在都更新另一个工具了。

新工具叫imc

楼上正解。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top