系统级覆盖率收集
一、简述
在系统级测试环境中,想要收集覆盖率的话,一般会收集功能覆盖率与端口信号覆盖率,不会再收集代码覆盖率了。
二、功能覆盖率收集
功能覆盖率的收集一般使用covergroup与sva两种方式来进行。
1、VCS收集
vcs收集功能覆盖率时,不需要添加额外覆盖率收集选项,会自动收集功能覆盖率。但可以添加 -cm_dir <coverage_data_dir>等选项,指定覆盖率数据存放目录等。
2、XCELIUM收集
xrun收集功能覆盖率需要添加选项
-coverage U -covdut <cov_dut>
U代表功能覆盖率,<cov_dut>指定收集覆盖率的顶层
三、端口信号覆盖率收集
1、VCS收集
vcs收集端口信号翻转覆盖率需添加选项
-cm tgl -cm_dir <cov_dir> -cm_hoer <cov_cfg_file>
<cov_dir>代表覆盖率数据存放目录
<cov_cfg_file>代表覆盖率收集选项配置文件,该文件的写法为:
+module u1
begin tgl(portonly)
+module u1
end
注:u1即为收集端口信号翻转覆盖率的模块
2、XCELIUM收集
xrun收集端口信号翻转覆盖率需添加选项
-covfile <cov_cfg_file>
<cov_cfg_file>代表覆盖率收集选项配置文件,该文件的写法为:
select_coverage -t -module u1
set_toggle_portonly
注:u1即为收集端口信号翻转覆盖率的模块
四、功能覆盖率与端口覆盖率同时收集
1、VCS收集
因vcs收集功能覆盖率不需要添加额外选项,故选项与收集端口覆盖率时保持一致即可
2、XCELIUM收集
xrun收集端口信号翻转覆盖率需添加选项
-covfile <cov_cfg_file>
<cov_cfg_file>代表覆盖率收集选项配置文件,该文件的写法为:
select_functional
select_coverage -t -module u1
set_toggle_portonly
注:u1即为收集端口信号翻转覆盖率的模块