|
VCS中的coverage分析2010-01-05 22:55
VCS支持强大的覆盖率分析功能, 那么如何使用该功能呢. 在这里只讲述基本的一些概念和流程,如果想了解更多, 请查看synopsys的VCS / VCS MX Coverage Metrics User Guide.
下面列出如何用VCS进行覆盖率分析的步骤:
$> vcs -Mupdate -cm line -cm_dir my_cov_info source.v
$> simv -cm line -cm_dir int_dat_files
$> vcs -cm_pp -cm line -cm_dir my_cov_info -cm_dir int_dat_files
第一条命令的作用是把source.v文件进行编译, 把编译结果放入my_cov文件夹中. 选项-cm line表示在编译时, 要加入line 覆盖率分析.
第二条命令运行仿真,同样选项-cm line选项表示仿真是加入line覆盖率分析, 并把结果存入ini_data_files目录中
第三条进行覆盖率分析, 分析文件从my_cov_info和int_dat_files这两个目录中读取, 进行line覆盖率的分析.
当然如果不指定文件夹, 那么文件将被存储到缺省的目录simv下.
则命令为:
$> vcs -Mupdate -cm line source.v
$> simv -cm line
$> vcs -cm_pp -cm line
如何选定固定的一部分进行coverage分析呢?
-cm_hier config_file 通过写config_file确定需要要做coverage的范围
+tree instance_name level_number 该instance代表的树的选择,缺省为0, 0代表整个instance.
+module
+file
+filelist
+library
也可以使用-cm_scope 命令
$> vcs -cm_pp -cm_scope "tree+top.inst1" -cm_scope "file-testshell.v"
这里选取几个常用的coverage的选项:
-cm line|cond|fsm|tgl|obc|path 设定coverage的方式
-cm_name 缺省中间文件为test.lin test.con等, 设定该名可改为 test_abc.line树
-cm_pp gui 启动cmView的GUI界面