NC_Verilog中的工具ICC
Cadence中的Incisive Comprehensive Coverage(ICC) solusion提供在仿真中的覆盖率分析。
ICC中的覆盖率类型有两大类:
1)Code Coverage:主要检查代码的执行量,其中包括的小类有:Block Coverage(Branch Coverage),
Statement Coverage(Expression Coverage),Toggle Coverage。
2)Functional Coverage:主要检查由PSL,SystemVerilog assertion,covergroup声明的覆盖点。也包括两小类:基于PSL,SVA
等声明性语句的控制导向的功能覆盖。基于SV Covergroup的数据导向的功能覆盖。
为了加入覆盖率的分析功能。
1)ncelab中,加入以下define。ncelab [-coverage <coverage_types> | -covfile<coverage_configuration_file>]
[-covdut <DUT_module>]
[other_elaboration_options]
2)在ncsim中,加入如下define。ncsim [-covoverwrite] [-covworkdir <workdir>] [-covdesign <design>] [-covtest <test>]
-covoverwrite使能新的结果覆盖输出文件和文件夹。
-covworkdir指定workdir,默认是cov_work/design/test。剩余两个指令类似。
如果使用irun来运行,则将上述命令加在一起即可。
irun [-coverage <coverage_types> | -covfile<coverage_configuration_file>] [-covdut <DUT_module>]
[-covoverwrite] [-covworkdir <workdir>] [-covdesign <design>] [-covtest <test>]
ICC的图形界面叫做ICC Analyzer,通过命令iccr -gui来打开。通过命令iccr -gui -test来加载测试用例或通过图形界面的open。GUI Mode
还有一种写command file, iccr <command_file>来执行。
在合并不同的test的coverage时,ICC提供两种模式:
1)Standard Merge:ICC默认的Merge behavior。首先copy the primary test model(.ucm),将secondary test中与primary test
相同的覆盖项合并,如相同的Covergroup,SVA,FSM,expression等。
2)Union Merge:通过set_merge -union来设置。首先copy the primary test model(.ucm),将secondary test中所有的覆盖项都
加入primary test。
merge [coverages] {<test_list> | -testfile <filename>} -output <output_test> [-message]
[coverages] ::= [-code] [-toggle] [-fsm] [-functional]
<test_list> ::=<primary_test> {<one_or_more_secondary_tests>}
Eg: merge test1 test2 test3 -output all
应用命令report_html命令来产生html格式的覆盖率报告。
cadence不再使用ICC工具,改用IMC进行coverage分析。
NC_Verilog中的工具ICC的更多相关文章
- Eclipse与Android源码中ProGuard工具的使用
由于工作需要,这两天和同事在研究android下面的ProGuard工具的使用,通过查看android官网对该工具的介绍以及网络上其它相关资料,再加上自己的亲手实践,算是有了一个基本了解.下面将自己的 ...
- OpenCV成长之路(3):模仿PhotoShop中魔术棒工具
本文的主题实际上是图像的颜色空间的转换,借助一个颜色选取程序来说明OpenCV中颜色转换函数的用法以及一些注意事项. 一.几种常见的颜色空间: RGB颜色空间:RGB采用加法混色法,因为它是描述各种“ ...
- 秒味课堂Angular js笔记------Angular js中的工具方法
Angular js中的工具方法 angular.isArray angular.isDate angular.isDefined angular.isUndefined angular.isFunc ...
- JUC学习笔记--JUC中并发工具类
JUC中并发工具类 CountDownLatch CountDownLatch是我目前使用比较多的类,CountDownLatch初始化时会给定一个计数,然后每次调用countDown() 计数减1, ...
- JQuery中的工具类(五)
一:1.serialize()序列表表格内容为字符串.返回值jQuery示例序列表表格内容为字符串,用于 Ajax 请求. HTML 代码:<p id="results"&g ...
- 逆向中静态分析工具——IDA初学者笔记之字符串分析
逆向中静态分析工具——IDA初学者笔记之字符串分析 程序中往往包含很多字符串资源,这些资源存在于PE文件的rdata段,使用IDA反编译后,可以查找到这些字符串, 逆向破解程序通常需要一个突破点,而这 ...
- 逆向中静态分析工具——IDA初学者笔记
逆向中静态分析工具——IDA初学者笔记 //****************************************************************************** ...
- Java中的线程--线程中的工具
这主要想写一下Java中的jdk提供的一些线程中的工具, 一.semaphore信号灯 Semaphore可以维护当前访问自身的线程个数,并提供了同步机制,使用Semaphore可以控制同时访问资源的 ...
- jquery-12 jquery中的工具方法有哪些
jquery-12 jquery中的工具方法有哪些 一.总结 一句话总结:四个较常用方法.1.isArray();2.isFunction();3.isEmptyObejct();4.trim(); ...
随机推荐
- 4G厂商版《出师表》
转载:http://mp.weixin.qq.com/s?__biz=MzAwNDAyODM0NA==&mid=408013599&idx=1&sn=70cd33d037604 ...
- VIM 的一些技巧
vim配置文件 ~/.vimrc 如果没有自己创建一个即可 filetype plugin indent on #打开插件 set number #显示行号 syntax on #语法高亮 set c ...
- redmine生产环境搭建
记录信息: 搭建基础应用及mysql 配置svn 配置自动重启 配置API开放 配置邮箱发送 开启数据库ip访问权限 确认用户组管理:配置用户同步 配置部门同步
- C# .ToString()格式化 常用数据转化小总结
1.百分比 ; ; string p = ((double)i / j).ToString("P");//结果:200.00% p = string.Format("{0 ...
- C# 验证XML
一.验证XML文档 若要验证 XML 文档,需要构造一个 XmlReaderSettings 对象,其中包含用于验证 XML 文档的 XML 架构定义语言 (XSD) 架构.Schema是用于描述和规 ...
- Spark2 Dataset DataFrame空值null,NaN判断和处理
import org.apache.spark.sql.SparkSession import org.apache.spark.sql.Dataset import org.apache.spark ...
- 《C与指针》——高级指针话题
指针真是让人又爱又恨..... 首先还是先来看一下C语言中的高级指针声明.不要被表面迷惑最重要. /* ** <C和指针>——高级指针话题 */ int i; //定义一个整型变量 int ...
- 设置ubuntu默认中文字符
一. Ubuntu默认的中文字符编码 Ubuntu默认的中文字符编码为zh_CN.UTF-8,这个可以在 /etc/environment中看到:sudo gedit /etc/environment ...
- POJ3268 Silver Cow Party【最短路】
One cow from each of N farms (1 ≤ N ≤ 1000) conveniently numbered 1..N is going to attend the big co ...
- 使用keras导入densenet模型
从keras的keras_applications的文件夹内可以找到内置模型的源代码 Kera的应用模块Application提供了带有预训练权重的Keras模型,这些模型可以用来进行预测.特征提取和 ...