SV-assertion

断言(assert)是一种描述性语言,通过描述的期望结果来进行仿真验证。

断言有一个更加基础的信息,我们称为属性(property),属性可以作为断言结果,功能覆盖点,形式检查和约束随机激励生成

断言相比较与testcase的仿真验证,对设计的可见度要求比较高,可以帮助快速定位错误的根源,断言可以分布在设计各个部位。

在项目中使用断言,有两种方式(eda tool中都支持):

  1) 使用预建的断言库,如OVL,

  2) 使用SVA,PSL等断言语言来自己描述。(PSL是完全独立的断言语言,SVA被继承在SV语言中),

SVA的语言层次结构:

  

assertion分为:

  1) immediate assert,基于simulation event semantics;

      assert/assume/cover (expression)  action_block;

  2) concurrent assert,基于clock semantics;

      assert/assume/cover (expression)  action_block;

  action_block的声明:

      statement | [statement] else statement

  immediate assert的action block紧跟着assert执行,就像在procedual block中,(比如active或者NBA region)

    可以放在任何procedual中,initial,always,task,function。

  concurrent assert的action block,在当前assert的reactive region执行,所以action block中使用$sampled()采样信号值,表示evaluate时的信号值

 

assertion中的property,可以用来描述design的某一个行为,必须被例化在assert,assume,cover等编译选项后

        包含在module,interface,package,program,clocking,$unit中。

      sequence,用来描述high level propert

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值