设置seed +plusarg_save +ntb_random_seed = {NUMBER} 设置seed +plusarg_save +ntb_random_seed_automatic 自动改变seed
VCS中的coverage分析
VCS支持强大的覆盖率分析功能, 那么如何使用该功能呢. 在这里只讲述基本的一些概念和流程,如果想了解更多, 请查看synopsys的VCS/ VCS MX Coverage Metrics User Guide.
下面列出如何用VCS进行覆盖率分析的步骤: $> vcs -Mupdate -cm line -cm_dirmy_cov_info source.v
$> simv -cm line -cm_dirint_dat_files
$> vcs -cm_pp -cm line -cm_dirmy_cov_info -cm_dir int_dat_files
第一条命令的作用是把source.v文件进行编译, 把编译结果放入my_cov文件夹中. 选项-cmline表示在编译时, 要加入line 覆盖率分析.
第二条命令运行仿真,同样选项-cmline选项表示仿真是加入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.lintest.con等, 设定该名可改为 test_abc.line树
-cm_pp gui 启动cmView的GUI界面