在VCS(Synopsys的Verilog编译模拟器)中,收集覆盖率信息通常需要在编译和仿真命令中添加特定的选项。以下是与VCS覆盖率收集相关的编译命令参数的详细解释和示例: 1. VCS覆盖率收集的基本编译选项 -cm:用于指定要收集的覆盖率类型。常见的覆盖率类型包括line(行覆盖率)、cond(条件覆盖率)、fsm(状态机覆盖率)、tgl(翻...
简单说,就是如果要在同一个case跑不同seed且要区分每次不同seed仿真的覆盖率信息的话,需要使用到编译选项-cm_name和-cm_test。 合并覆盖率 接着上面,如果要合并一次回归仿真的覆盖率,需要使用如下命令进行合并: urg -dir xxx_compile_path/xxx.vdb \ -dir xxx_compile_path/xxx_testcase_path1/xxx.vdb \ ...
默认coverage数据,是在test目录下,可以通过-cm_name选项,修改默认的test目录。 比如-cm_name load_test,那么coverage数据,就会生成在simv.vdb/snps/coverage/db/testdata/load_test目录下。 3. -cm_hier选项 该选项,在coverage technology reference m...
比如-cm_name load_test,那么coverage数据,就会生成在simv.vdb/snps/coverage/db/testdata/load_test目录下。 3. -cm_hier选项 该选项,在coverage technology reference manual手册上有介绍。 官方解释该选项: The-cm_hieroption is a compile-time option to specify module definitions, instances and sub-hierarc...
如下的makefile,就生成上述四个的覆盖率报告。注意,编译和仿真,都要加上-cm这个选项。 执行make vcs , make sim后,会生成simv.vdb文件夹,该文件夹下包含了覆盖率的内容,但是我们需要将内容生成报告,这样,才方便我们查看。 生成报告,使用的是 urg命令,该命令也是属于vcs工具里面的。
-cm line+fsm code coverage选项,在编译和仿真的时候,都必须要有,否则不能正常的生成coverage。 编译如果带有coverage coverage选项,会在编译目录下,生成simv.vdb目录,里面包含了coverage model。 二、function coverage function coverage,没有选项控制,因为是在代码中指定的。
VCS在统计代码覆盖率的过程中,需要在编译和仿真命令上添加对应的开关选项,生成.vdb文件记录覆盖率情况。 再使用dve打开该文件进行查看覆盖率。 代码覆盖率选项 -cm:打开对应类型覆盖率,例如 -cm cond+tgl+lin+fsm+path为统计所有覆盖率。 -cm_name:统计覆盖率文件名字。
cm_hier指定覆盖率收集层级 假设有如下三个rtl文件,名字分别为a.sv, b.sv, c.sv其层级结构如下: 图片.png 相关命令如下: begin cond+line+tgl+fsm-moduletree a lvl_num end// a模块不收集,其例化的模块根据lvl_num决定begin cond+line+tgl+fsm-tree tb_top.U_A_TOP.U_B end//a模块下例化的b模块...
VCS在统计代码覆盖率的过程中,我们通常在编译和仿真命令上添加对应的开关选项,生成一个 .vdb文件记录覆盖率的情况。再使用dve打开该文件查看。 VCS有关覆盖率的常用选项如下: -cm <coveragetype> :打开对应类型的覆盖率,例如 -cm cond+tgl+lin+fsm+path为统计上述所有覆盖率。可根据需要增减。
-cm line+fsm code coverage选项,在编译和仿真的时候,都必须要有,否则不能正常的生成coverage。 编译如果带有coverage coverage选项,会在编译目录下,生成simv.vdb目录,里面包含了coverage model。 二、function coverage function coverage,没有选项控制,因为是在代码中指定的。