Synopsyvcs覆盖率配置⽂件
配置⽂件
VCS在统计代码覆盖率的过程中,我们通常在编译和仿真命令上添加对应的开关选项,⽣成⼀个 .vdb⽂件记录覆盖率的情况。再使⽤dve 打开该⽂件查看。下⾯介绍⼀些选项。超星官网登录
-cm :打开对应类型的覆盖率,例如 -cm cond+tgl+lin+fsm+path为统计上述所有覆盖率。可根据需要增减。
-cm_name:设置记录有覆盖率信息⽂件的名字。
-cm_dir:指定⽣成⽂件的⽬录。
以上三个选项编译仿真过程都要加上。下⾯的选项在编译过程加上。
-cm_log + filename.log:.log⽂件记录仿真过程中统计覆盖率的信息。⽤的⽐较少。
-cm_nocadef: 在统计ca语句的条件覆盖率时,不考虑default条件未达到的情况。
-cm_hier vcs_cov.cfg:通过.cfg⽂件(名字随便取)选择要查看覆盖率的模块/⽂件。加菲猫经典语录
“+”代表查看,“-”代表不查看。tree代表查看某个模块调⽤的⼦模块。课程故事
在⽂件内部,可以使⽤特殊注释来打开和关闭代码覆盖率的统计:
//VCS coverage on 统计代码覆盖率
…
//VCS coverage off 不统计代码覆盖率
荞麦饼在上述注释之间的内容,统计覆盖率。其余地⽅不统计。
选项介绍
We can u -cm_hier to specify certain modules/instances to be included when VCS do compiling for coverage.
Some uful cmd :
仅仅收集某模块的端⼝上的toggle coverage
可以通过在-cm_hier⽂件中收集coverage中排除的模块的端⼝收集 toggle coverage。
茄子怎么烤
假设不想收集模块foo(及其下的任何信号或层次结构)的code coverage。 为此,请在-cm_hier⽂件中添加-moduletree foo。
现在,要收集和分析foo模块端⼝的toggle coverage,请在-cm_hier⽂件中添加⼀个块,以启⽤foo模块端⼝的toggle coverage的收集,如下所⽰:
-moduletree foo
begin tgl(portsonly)
+module foo
罗技鼠标保修>海洋里的鱼
end
假设顶层中例化了⼏个IP(IP1 IP2 IP3),以及⼀些胶⽔逻辑,但是我们不想收集IP0 IP1的code coverage,仅仅收集IP3的端⼝的toggle coverage,以及胶⽔逻辑的code coverage,那么可以在-cm_hier后跟如下配置⽂件。
+tree dut
-moduletree IP1
-moduletree IP2
分手告别的话-moduletree IP3
begin tgl(portsonly)
+module IP3
end