VCS在仿真过程中,也可以收集Coverage Metric。其中覆盖率类型有:

1)Code Coverage:包括control_flow和value两部分的coverage,line_coverage, branch_coverage, toggle_coverage,

FSM_coverage。

2)Functional Coverage:包括covergroup,SVA。

Coverage Database的产生:包含所有的有关coverage的信息,默认放在simv.vdb文件夹下。

db中的默认路径是,snps/coverage/db/testdata/line.verilog.data.xml

                     fsm/cond/tgl/branch等xml信息。

在编译命令中:vcs [cover_options] [compile_options] source.v

[cover_options]可以是:-cm line+cond+tgl+fsm+branch+assert

  -cm_dir在compile options中改变simv.vdb文件夹的位置。

  -cm_name指定testname。主要改变testname在db中的命名。

在仿真过程中:simv [cover_options] [run_options]

[cover_options]可以是:-cm line+cond+tgl+fsm+branch+assert

[run_options]指定runtime options。

Coverage Reports的产生:

使用工具URG(Unified Report Generator)产生html格式文件。

urg  -dir  dir1 [urg_option] -dbname merge

使用DVE的GUI界面。

dve -cov -dir <simv.vdb>

使用verdi的gui界面。

    verdi -cov -covdir <simv.vdb>

    verdi -cov -h,打印coverage mode下的帮助信息

其他的vcs编译和仿真中的option:

  -cm_hier,在编过程中,指定收集coverage的scope。

  -cm_assert_hier,在编译过程中,只是指定不收集coverage的assert hier。

      其中hier的表示,+/- module,+/- tree,+/-assert

  -cm_count,在gui和urg report中,显示次数,比如toggle的次数。

  -cm_glitch period,不收集一定范围的glitch的coverage。simulation option

  -cm_start/stop,指定coverage收集的时间,simulation option

coverage group相关的option;

  -covg_disable_cg,关闭所有的coverage group的收集

urg生成report中的option:

  -dir,指定需要拿到的db的hier,

  -dbname,指定输出的merge db的hier

  -elfile,指定exclusive的file,这样更好计算coverage。

  -elfilelist

  -noreport,不输出最终的report,只是merge db

  -format text/both,指定report的输出格式

  -matric [line,cond,fsm,tgl,branch,assert]执行计算的coverage类型

  -parallel,并行merge

  -full64,以64bit的程序进行merge

  

  -plan,-userdata,-userdatafile,-hvp_no_score_missing,指定hvp相关的生成信息。

VCS中的覆盖率分析的更多相关文章

  1. WebKit Web Inspector增加覆盖率分析和类型推断功能

    WebKit中的Web Inspector(Web检查器)主要用于查看页面源代码.实时DOM层次结构.脚本调试.数据收集等,日前增加了两个十分有用的新功能:覆盖率分析和类型推断.覆盖率分析工具能够可视 ...

  2. Android中AppWidget的分析与应用:AppWidgetProvider .

    from: http://blog.csdn.net/thl789/article/details/7887968 本文从开发AppWidgetProvider角度出发,看一个AppWidgetPrv ...

  3. JAVA WEB 中的编码分析

    JAVA WEB 中的编码分析 */--> pre.src {background-color: #292b2e; color: #b2b2b2;} pre.src {background-co ...

  4. Android 中图片压缩分析(上)

    作者: shawnzhao,QQ音乐技术团队一员 一.前言 在 Android 中进行图片压缩是非常常见的开发场景,主要的压缩方法有两种:其一是质量压缩,其二是下采样压缩. 前者是在不改变图片尺寸的情 ...

  5. 《构建之法》教学笔记——Python中的效能分析与几个问题

    <构建之法:现代软件工程>中第2章对效能分析进行了介绍,基于的工具是VSTS.由于我教授的学生中只有部分同学选修了C#,若采用书中例子讲解,学生可能理解起来比较困难.不过所有这些学生都学习 ...

  6. Apollo配置中心源码分析

    Apollo配置中心源码分析 1. apollo的核心代码分享 SpringApplication启动的关键步骤 在SpringApplication中,会加载所有实现了Init方法的类 protec ...

  7. HanLP中人名识别分析

    HanLP中人名识别分析 在看源码之前,先看几遍论文<基于角色标注的中国人名自动识别研究> 关于命名识别的一些问题,可参考下列一些issue: 名字识别的问题 #387 机构名识别错误 关 ...

  8. linux内核中链表代码分析---list.h头文件分析(一)【转】

    转自:http://blog.chinaunix.net/uid-30254565-id-5637596.html linux内核中链表代码分析---list.h头文件分析(一) 16年2月27日17 ...

  9. linux内核中链表代码分析---list.h头文件分析(二)【转】

    转自:http://blog.chinaunix.net/uid-30254565-id-5637598.html linux内核中链表代码分析---list.h头文件分析(二) 16年2月28日16 ...

随机推荐

  1. javascript 原型世界浅析

    一. 无中生有 起初,什么都没有. 造物主说:没有东西本身也是一种东西啊,于是就有了null: 现在我们要造点儿东西出来.但是没有原料怎么办? 有一个声音说:不是有null嘛? 另一个声音说:可是nu ...

  2. jquery validate 多种使用方式

    前言:jQuery.validator是一款非常不错的表单验证插件,验证方式非常简单方便,它还对HTML5做了兼容处理,了解了验证规则,就基本掌握了它的使用,下面就让我一一道来 jQuery.vali ...

  3. html中相关知识点的汇总

    1. Input的size与maxlength属性的区别 maxlength="500",表示input输入框中最多够输入500个字符.W3C标准指出maxlength规定文本字段 ...

  4. 2527: [Poi2011]Meteors[整体二分]

    2527: [Poi2011]Meteors Time Limit: 60 Sec  Memory Limit: 128 MB Submit: 1528  Solved: 556 [Submit][S ...

  5. Artech的MVC4框架学习——第七章Action的执行

    概况:Action的执行不仅包含action方法的执行,还包含相关筛选器的执行. 第一基于线程池的请求,http请求称谓工作线程(p321),基于线程池优势:工作线程重用和工作线程数量的限制. 第二两 ...

  6. NET的堆和栈04,对托管和非托管资源的垃圾回收以及内存分配

    在" .NET的堆和栈01,基本概念.值类型内存分配"中,了解了"堆"和"栈"的基本概念,以及值类型的内存分配.我们知道:当执行一个方法的时 ...

  7. ios三张图片组合一张

    - (UIImage *)addImage:(UIImage *)image1 toImage:(UIImage *)image2 { UIGraphicsBeginImageContext(imag ...

  8. Java虚拟机七 虚拟机监控

    jstack 用于导出Java应用程序的线程堆栈:jstack [-l] <pid> -l 选项用于打印锁的附加信息 jstack -l 2348 > /data/deadlock. ...

  9. vue--简单数据绑定

    <template> <div id="app"> {{msg}} //绑定数据 {{obj.name}} //绑定对象 <p v-for=" ...

  10. CvArr* to cv::Mat 转换

    OpenCV中的CvArr*的定义的一个空类型的指针,可以转换为其派生类CvMat和IplImage,那么如何将其转化为cv::Mat呢,其实很简单,只需要一行代码即可: // CvArr *_img ...