-cm line+tgl :表示收集代码行覆盖率和反转覆盖率 -cm_dir xxx_compile_path/xxx_testcase_path/xxx.vdb:指定生成的仿真覆盖率信息的路径和名称 -cm_name xxx_test_name :用于指定覆盖率信息在simv.vdb文件中的所在目录名称 -cm_test xxx_compile_path/xxx_testcase_path/xxx_test_name :类似-cm_name,后...
覆盖率的查看需要在编译(compile)和仿真(simulation)时设置开关选项,设置的开关选项核心为两个: -cm <file_type>: -cm <file_type> 用于指定要统计的覆盖率类型,以下列指令为例:-cm line+tgl+fsm+branch+cond 添加该指令后,会统计指定类型的覆盖率信息。 -cm_dir <file_dir> -cm_dir <file_dir> 用于指...
(2)运行-cm_dir CovData/vcs/TC_NAME:将生成的覆盖率数据库放到CovData/vcs目录中,若目录不存在,将自动创建。生成的覆盖率数据库文件夹以vdb后缀,名称要求同用例名,例:test_ 5、1.vdb。(3)生成覆盖率报告urg dir CovData/vcs/TC_NAME.vdb report FcovReport/vcs/TC_NAME format text:用于生成各个用例的...
这个目录名就是我们在使用vcs工具编译运行的时候指定的参数-cm_name所指定的,我们这里使用的是testcase_SEED,本文要讲的内容就是如何直接在verdi打开的覆盖率报告上,找出每一项覆盖项是有哪些cm_name对应的database所覆盖的,这样我们就可以方便的查找到对应的testcase和SEED,进而轻易复现各种覆盖率对应的场景。 覆盖项...
功能覆盖率(Function Coverage)是衡量验证完备性的重要标准之一。 其用于度量验证中已执行的测试点(cover point)占设计规范的比例,从而避免功能验证的遗漏。或者说,Functional coverage是验证工程师基于对DUT的认识来对验证feature进行分解后,将需要覆盖的点进行分析后写出,因此对于DUT Spec的信息提取非常重要。
coverage一般在所有的test case开发完毕或即将开发完毕的时候才会统计,如果使用的仿真器是VCS,那么需要在仿真命令行加上-cm line+tgl+cond+fsm+branch 选项,注意,如果原先的仿真命令行的编译和运行仿真是分开的话,那么在编译和仿真的命令行都要加上这个覆盖率的dump选项。
coverage一般在所有的test case开发完毕或即将开发完毕的时候才会统计,如果使用的仿真器是VCS,那么需要在仿真命令行加上-cm line+tgl+cond+fsm+branch 选项,注意,如果原先的仿真命令行的编译和运行仿真是分开的话,那么在编译和仿真的命令行都要加上这个覆盖率的dump选项。
-cm_cond full-cm_line contassign 这两个选项都是编译选项。 -cm_cond allvectors+allops这个要查一下手册
我们不能说它是不好的代码,但至少是有问题的代码,这是我们做代码覆盖率的目的,而非去度量某一个质量指标。做代码覆盖率比较容易犯的一个误区,会觉得代码覆盖率到达了80%就说明没有问题。就像做性能测试的时候,TPS上到了多少,CPU使用率到达了多少就一定怎样。我们经常说,抓一些数据的把手是一个很不好的...
随着项目迭代的不断深入,工程逻辑与用户场景日益复杂,传统的白盒测试体系已经无法适应苛刻的工程质量要求,因此有必要针对工程质量进行精细化管理。 质量评估不再单纯依赖bug率和性能指标,而是通过精准的数据来量化代码质量,代码覆盖率就是其中的一项重要标准。