SVA在VCS和NC下仿真差异总结

1      前言

      用VCS仿真SVA的资料已经很多,所以本文重点阐述了NC下使用SVA的脚本,以及SVA在VCS和NC下仿真的差异。

2      脚本

2.1      NC仿真脚本

-access +r  读存储这个方式必须有,为了断言检测用的。

-sv   大家都懂的

-assert 断言使能

-gui  启动图形化界面

-input  从文件里面读tcl命令

打开一个shm格式的名字为wavesdatabase,然后把数据放在test.shm这个文件里面。

-event dump所有的变量的变化到database

-shm 指定database的格式为shm格式,这个是默认的。

Probe –create 创建探测器即断言

-create [{object | scope_name}….}][option]

Probe –create –shm test –all –depth all

-shm 是指检测的database的类型

Test 为设计的例化名字,-all 表示范围

-depth all 表示深度

2.2      NC下断言覆盖率收集脚本

Coverage –setup 表示建立覆盖的变量 –dut 表示范围,仿真器会将dut_instance下的所有覆盖信息都进行存储

Coverage –functional –select   表示选择功能覆盖点

Coverage –functional –select <assertion_selector> ,<assertion_selector>用于指明功能覆盖率要覆盖到的断言的名字。

用icc来看断言覆盖率:

Iccr  -test ,-test  选项是从指定的区域load coverage,它后面跟coverage所存储的目录。

Report_html  –f 以网页的形式报告基于断言的功能覆盖率。如果不加-f所有类型的覆盖率将都会被上报。

-all  表示上报指定coverage类型的,所有coverage items 包括(覆盖到的,没有覆盖到的,屏蔽的)

-module  表示用哪种方式来上报断言。方式共有三类:1. –instance  2. –module 3.-entity

2.3      一些关于脚本的问题:

问题1.-access +r的含义

   -access 后面可以跟 r w c;r代表read;w代表write;c代表connectivity。

   +号用来打开r、w、c这些选项,如+r表示开启r所代表的功能;+w表示开启w所代表的功能;

   -号用来关闭r、w、c这些选项,如-r表示关闭r所代表的功能;-w表示关闭w所代表的功能;

   如果r、w、c这些选项前面既没有+号也没有-号,则默认的表示+,即开启。

 

  r、w、c这些选项代表的具体含义如下:(英文原版的很容易理解,描述的也更加准确,所以就不做翻译了,呵呵)

 

问题2:使用-event会降低仿真速率,不加是否可以?

 

     key:加不加-event,需要根据自己的具体应用需求,原理如下:

 

问题3:打印波形的tcl中哪些参数是因打印断言而加的?

      key:没有专门因打印断言而加的参数

 

问题4:如何认为一个断言覆盖了100%

 

key:“该断言成功的次数” 与 “该断言发起检查的总次数”之比

 

 

2.4      断言功能覆盖率效果实例图

2.5      NC断言基础知识:

   在仿真波形上看,常见到的,断言有以下几个状态:

 Active:表示仿真器检测到符合要求的断言起始条件开始断言

 Inactive:表示仿真器没有检测到符合要求的断言起始条件,未开始开始断言

Failed:表示断言失败

Finished:表示一次断言成功

Disabled:断言属性通过disable iff语句被diaable掉,即不使能。

Off:通过外部控制使断言不被监视。如:通过编译命令:-noassert

如上图所示:

  a1:为所示的断言信息。将其展开后会发现它里面又包括了以下几根线:

checked_count:记录了发起断言的总次数,包括失败的和成功的。

finish_count:记录了断言成功的总次数。

failure_count:记录了断言失败的总次数。

diabled_count:记录了断言被disable的次数。即该断言通过disable iff语句被disable掉。

 

3      不同点:

3.1      VCS的vpd波形,NC的shm,fsdb波形显示的差异;以及相应情况下的打印信息差异

例子:

 

VCS打印信息:                 NC打印信息:

VCS vpd波形:

NC shm 波形:

NC fsdb波形:

VCS 打印信息:

NC shm格式波形情况下打印信息:

NC fsdb格式波形情况下打印信息:

 

3.2      同一时刻成功失败的报告示例:

  

VCSNC的差异同一时刻既有成功又有失败:vcsFAILPASS均打印;NC:只打印失败的。      同一时刻有多个失败或成功:VCS均打印;NC:只打印一次。

3.3      带门控的$past

 

VCSNC的差异NC不支持带门控的$past

3.4      多时钟域的交叠蕴含

时钟冲突

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值