VCS中的覆盖率分析

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文件夹下。

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

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

-cm_dir改变simv.vdb文件夹的位置。-cm_name指定testname。

在仿真过程中: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]

使用DVE的GUI界面。

dve -cov -dir <simv.vdb>

时间: 2024-10-09 07:37:22

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

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

WebKit中的Web Inspector(Web检查器)主要用于查看页面源代码.实时DOM层次结构.脚本调试.数据收集等,日前增加了两个十分有用的新功能:覆盖率分析和类型推断.覆盖率分析工具能够可视化地精确显示JavaScript程序执行的部分.类型推断工具则可以直观地给重要变量加上类型信息的注释.这两项功能使得在Web Inspector中理解和调试JavaScript程序变得更加简便,编程体验得到了极大的提升. 覆盖率分析功能理解程序如何工作是一件复杂而繁琐的过程,需要知道在特定的输入情况

FreeBSD 内核中的SYSINIT分析【转】

FreeBSD?kernel是一个膨大的系统,?对于这样一个大系统,?里面往往包含了大量的子系统和??模块,当系统初始化时这些模块就需要初始化,?按照通常的思路,这些初始化过程必须在某处??被显式地调用,这样一来,当你新增某个模块,你必须再修改那个系统初始化的地方来调用这??个新增模块的初始化过程,?而且由于ANSI?C语言的限制,调用某个函数最好先声明,这样当系??统的初始化过程开始增加时,?那个调用初始化过程的文件开始大量包含那些本来不相关的头??文件,?偶合度就增加了,?这是一种不好的设计

C中的Float分析

C/C++中, 浮点数,float以及 double 在内存中是怎样存储的? 假如,我有32-bit 8bit 8bit 8bit 0 0 0 0 0 1 1 1 1 对于整形int,我们可以很快得出,这是 int i = 15的内存形式. 假设,最低位的bit的位权为-1,最高位为30. 那么这个就不再表示数字15了,而是 2^-1+2^0+2^1+2^2 = 7.5 了. 当然,上面只是假设,那么真正的Float 浮点型 在内存中是什么样子的呢? 首先需要知道的是 float 在内存中 占

[LeetCode系列]卡特兰数(Catalan Number) 在求解独特二叉搜寻树(Unique Binary Search Tree)中的应用分析

本文原题: LeetCode. 给定 n, 求解独特二叉搜寻树 (binary search trees) 的个数. 什么是二叉搜寻树? 二叉查找树(Binary Search Tree),或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值: 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值: 它的左.右子树也分别为二叉排序树. 举个栗子,给定 n = 3, 共有 5 个. 1 3 3 2 1 \ / / / \ 3 2 1 1

文《关于c++与java中文乱码问题分析与解决》中一个bug分析

文<关于c++与java中文乱码问题分析与解决>中一个bug分析 DionysosLai([email protected]) 2014/10/21 在前几篇一博客<关于c++与java中文乱码问题分析与解决>,地址如下:http://blog.csdn.net/dionysos_lai/article/details/38389765.文中详细介绍了c++与java数据传递时,为何会出现中文乱码的原因,并提出了适当的解决方法.方法如下: int CCDirector::GBKTo

hadoop-mapreduce中reducetask运行分析

ReduceTask的运行 Reduce处理程序中需要执行三个类型的处理, 1.copy,从各map中copy数据过来 2.sort,对数据进行排序操作. 3.reduce,执行业务逻辑的处理. ReduceTask的运行也是通过run方法开始, 通过mapreduce.job.reduce.shuffle.consumer.plugin.class配置shuffle的plugin, 默认是Shuffle实现类.实现ShuffleConsumerPlugin接口. 生成Shuffle实例,并执行

x86服务器中网络性能分析与调优 转

x86服务器中网络性能分析与调优 2017-04-05 巨枫 英特尔精英汇 [OpenStack 易经]是 EasyStack 官微在2017年新推出的技术品牌,将原创技术干货分享给您,本期我们讨论 [x86服务器中网络性能分析与调优] 那些事! >> 网络性能理论极限 网络数据包处理的性能指标,一般包括吞吐.延时.丢包率.抖动等. 数据包有大有小,数据包的大小对这些性能指标有很大的影响. 一般认为服务器处理能力很强,不是数据包处理的瓶颈,而通过物理线路能够传送数据包的最大速率,即线速(Wir

PopupWindow在android中的使用分析

PopupWindow在android中的使用分析 PopupWindow是应用开发中经常用到的组建,使用它可以在当前屏幕的上层显示一个弹窗,同时也可以指定弹窗的位置以及背景色等特性,大大提高用户体验,那么这里我就以下几点介绍它的使用: 1 从指定的位置弹出这个窗口(淡入淡出动画) 2 从屏幕底部弹出这个窗口(带有透明度背景,自定义触摸其他位置自动关闭弹窗) 我的效果图如下: 下面直接上代码,具体如下所示(按开发顺序排列) 1 自定义一个继承自PopupWindow的类 publicclassP

hadoop-mapreduce中maptask运行分析

MapTask运行通过执行.run方法: 1.生成TaskAttemptContextImpl实例,此实例中的Configuration就是job本身. 2.得到用户定义的Mapper实现类,也就是map函数的类. 3.得到InputFormat实现类. 4.得到当前task对应的InputSplit. 5.通过InputFormat,得到对应的RecordReader. 6.生成RecordWriter实例, 如果reduce个数为0,生成为MapTask.NewDirectOutputCol