我的SystemVerilog组件有一些自我测试代码,我想确保我的测试涵盖所有内容,尤其是我班级中的失败案例。我需要的只是行/分支覆盖,就像通常用于其他面向对象语言(如Java)的那样。
我尝试使用VCS(版本2012.06)覆盖,我发现它只对SystemVerilog提供有限的支持,并且不支持SystemVerilog类的任何覆盖。有没有这种支持的模拟器或工具?
答案 0 :(得分:2)
SpringSoft的Certitude工具(刚刚由Synopsys购买)是一种检查测试平台有效性的工具。它主要分析了测试平台代码的覆盖范围,并做了很多。
http://www.springsoft.com/products/functional-qualification/certitude
答案 1 :(得分:2)
2012年8月25日
在另行通知之前,答案是:
不,没有工具/模拟器支持SystemVerilog类的行覆盖。
答案 2 :(得分:1)
我认为Modelsim's或Aldec's覆盖可以满足您的需求。说实话,看起来VCS也是如此,所以也许其他工具也有相同的缺陷?
答案 3 :(得分:1)
我在Mentor Questasim模拟器中尝试了这项新功能。他们已经在Modelsim / Questa 10.2上实现了SV(systemverilog)类代码覆盖。
要在 systemverilog文件/类中激活该功能,您需要:
示例:
vlog +cover my_design.sv
vsim –voptargs=+acc –coverage mydesign
vcover可能会采用以下规格。如果没有提及规格,+ vcover等同于“+ vcover = bcesft”。
b - 收集分支统计信息。
c - 收集条件统计数据。除非指定了-coverudp,否则仅收集FEC统计信息。
e - 收集表达式统计信息,仅收集FEC统计信息,除非指定了-coverudp。
s - 收集陈述统计数据。
t - 收集切换统计信息。如果在其他地方指定了'x',则重写
x - 收集扩展切换统计信息。如果在别处指定't',则优先。
f - 收集有限状态机统计信息。
答案 4 :(得分:0)
我找到covered,但我自己没有使用它。它是开源的,这是一个加分,但似乎自2010年以来没有开发......: - /