1

我的 SystemVerilog 组件有一些自测试代码,我想确保我的测试涵盖所有内容,尤其是我的类中的失败案例。我所需要的只是行/分支覆盖,就像其他面向对象语言(如 Java)通常使用的一样。

我尝试使用 VCS(2012.06 版)覆盖,我发现它仅对 SystemVerilog 的支持有限,并且不支持对 SystemVerilog 类的任何覆盖。是否有任何模拟器或工具具有此支持?

4

5 回答 5

2

SpringSoft 的 Certitude 工具(刚刚被 Synopsys 购买)是一个检查测试台有效性的工具。它本质上分析了您的测试台代码的覆盖率,并做了更多的工作。

http://www.springsoft.com/products/functional-qualification/certitude

于 2012-08-21T13:17:55.577 回答
2

2012/08/25

在另行通知之前,答案是:

不,没有工具/模拟器支持 SystemVerilog 类的线路覆盖。

于 2012-08-25T16:03:17.073 回答
1

我原以为ModelsimAldec 的覆盖范围可以满足您的需要。老实说,看起来VCS也是如此,所以也许其他工具也有同样的缺陷?

于 2012-08-21T12:22:24.223 回答
1

我已经在 Mentor Questasim 模拟器中尝试过这个新功能。他们从 Modelsim/Questa 10.2 开始实现了 SV(systemverilog)类代码覆盖。

要在systemverilog 文件/类中激活该功能,您需要:

例子 :

   vlog +cover my_design.sv
   vsim –voptargs=+acc  –coverage  mydesign 

screenshot_sv_class_ethernet_driver

vcover 可以采用以下规范。当没有规范时,+vcover 等价于“+vcover=bcesft”。

b — 收集分支统计信息。

c — 收集条件统计信息。仅收集 FEC 统计信息,除非指定了 -coverudp。

e — 收集表达式统计信息,仅收集 FEC 统计信息,除非指定了 -coverudp。

s - 收集语句统计信息。

t - 收集切换统计信息。如果在别处指定了“x”,则覆盖

x - 收集扩展切换统计信息。如果在其他地方指定了“t”,则优先。

f — 收集有限状态机统计信息。

于 2016-10-05T09:31:25.743 回答
0

我找到了 Covered,但我自己没有使用它。它是开源的,这是一个优点,但似乎自 2010 年以来就没有开发... :-/

于 2017-03-27T08:04:25.407 回答