System Verilog Assertions(SVA) 简介.pdf

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
System Verilog Assertions(SVA) 简介

System Verilog Assertions 测试向量 传统上,对被测设计(DUT)的验证都是通过在DUT 的输入端口加上具有特定时序激励,然后观察DUT 的内部状态变化和最后的输出信号,以确定DUT 工作是否正确。 这种方法对简单的小规模的设计很有用。 •当设计规模变大时,要想使用这种方法来验证DUT 是不现实的。因为对于规模大的设计,要想遍历设 计将遇到的各种情况,验证其正确性,需要成千上 万的特定时序激励。 •如果设计稍有一点变动,这些时序激励就得重新编 写。 •设计的复杂性迫使验证工程师使用随机测试平台来 生成更多的验证激励。 什么是断言Assertion •断言就是对设计属性(行为)的描述,它是用描述 性语言来描述设计的属性。在仿真过程中,如果一 个被描述的属性不是我们期望的那样,那么断言就 会失败;或者在仿真过程中,如果出现了一个不应 该出现的属性,那么断言也会失败。 SystemVerilog Assertions •Enhance SystemVerilog to support Assertion-Based Verification  White-box (inside block) assertions  Black-box (at interface boundaries) assertions •Syntactic compatibility  Easy to code directly in-line with RTL •Support for design and assertion reuse  Support for assertion “binding” to design from separate file •Monitoring the design  Concurrent (“standalone”) assertions  Procedural (“embedded”) assertions 为什么要使用断言呢? • 原有的Verilog 语言是一种过程性语言,设计它的目的是用 于硬件描述,不是用于仿真验证,因此它不能很好地控制时 序。要描述复杂的时序关系,Verilog语言需要编写冗长的 代码,很容易出错,且不易维护。 • SVA 是一种描述性语言,可以完美地描述和控制时序相关 的问题,而且语言本身简洁易读,容易维护。 • SVA 还提供了许多内嵌的函数用于测试特定的时序关系和 自动收集功能覆盖率数据。并且当断言失败时,仿真系统会 根据失败断言的严重程度来决定是打印一条错误提示信息还 是退出仿真过程,便于定位出错的位置。 例 •如:要验证这样一个属性:“当信号a 在某一个时 钟周期为高电平时,那么在接下来的2~4个时钟周 期内,信号b 应该为高电平”。 •用Verilog 语言描述这样一个属性需要一大段代码, 而用SVA 描述就只需要几行代码。下面的代码为 SVA。 property a2b_p; @(posedge sclk) $rose(a) |- [2:4] $rose(b); endproperty a2b_a: assert property(a2b_p); a2b_c: cover property(a2b_p); • property 和endproperty 为SVA 的关键字,描述属性。 • a2b_p 为属性的名字。 • $rose 为SVA 的内嵌函数,用于检查信号的上升沿。 • assert property 也为SVA 的关键字,表示并发断 • a2b_a 为断言的名字,它把属性a2b_p 作为参数。 • a2b_c 为覆盖语句,它用于记录断言的成功。下图为本断 言在ModelSim 6.1b 环境中的仿真波形和断言出错信息。 断言分类 SVA 分为并发断言和即时断言。 •并发断言的计算基于时钟周期,在时钟边沿根据变

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档