首页 > 其他分享 >SystemVerilog断言(一)

SystemVerilog断言(一)

时间:2022-10-02 19:45:13浏览次数:45  
标签:bindfiles 断言 RTL 代码 绑定 使用 SystemVerilog

摘要

SystemVerilog断言(SVA)可以直接添加到RTL代码中,也可以通过bindfiles间接添加。实践表明,最好使用bindfiles添加大多数断言。 这篇论文将解释为什么将断言直接添加到RTL代码会带来问题,以及为什么bindfiles解决了很多问题解决了什么问题。 本文还解释了如何有效地使用bindfiles,以及为什么工程师通常应该使用并发断言同时避免使用立即断言。 论文还将提供断言编码的指南和示例,来帮助减少断言编码工作量和断言编码错误,并鼓励设计人员更加主动的针对设计添加断言。

4 Bindfiles

准则#2:绑定文件——使用它们!

准则#3:内联 SVA 代码 - 避免它!

本节将描述绑定文件的使用,并解释为什么我不鼓励放置断言直接在 RTL 代码中。

有许多来源建议将断言直接嵌入到 RTL 代码中,但是 再次,我相信有更好的方法。 哈里·福斯特(Harry Foster),第一本基于断言的作者 设计书籍,曾经推荐将断言直接放入 RTL 代码中,但现在他 建议不要将断言放在 RTL 代码中,并且 Harry 和我一致认为 断言应该放在单独的绑定文件中。 哈利和我给出了基于断言的 2010 年在北美和欧洲的验证研讨会,我们分享了 SVA 最佳编码 练习技巧,包括正确使用绑定文件。

4.1 How bindfiles work

一般来说,使用bindfiles其实就是在做间接实例化。 工程师将绑定(间接实例化)使用 bind 关键字在另一个模块内的一个模块。 IEEE Std 1800-2012 标准经常将绑定文件称为“bind_instantiation”。[8]

待更新。。。

标签:bindfiles,断言,RTL,代码,绑定,使用,SystemVerilog
From: https://www.cnblogs.com/amxiang/p/16749296.html

相关文章

  • systemverilog中的断言
    终于来到了断言了,嘿嘿。assertion分为两种,立刻和并行,立刻断言其实跟普通的$display没什么不同。重点在并行断言。(一)首先的概念是concurrentassertion的构成:sequence->pr......
  • #yyds干货盘点#【愚公系列】2022年10月 Go教学课程 036-类型断言
    一、类型断言1,类型断言的定义GO中的类型断言用于检查接口类型变量所持有的值是否实现了期望的接口或者具体的类型。类型断言的语法格式如下:value,ok:=x.(T)其中,x......
  • 异常、断言和日志
    异常Throwable类Exception和Error都派生于Throwable类Exception类异常有两个分支:RuntimeException运行时异常,一般为程序错误导致:比如:错误的强制类型转换数组......
  • TypeScript:类型断言
    什么是类型断言有些时候,我们需要做一些“自己比编译器更清楚的知道自己在做什么”,这个时候就用到断言,告诉编译器:没错,就是这样的,就是要这么干。编译器也就假设:嗯,这个程序员......
  • 正则表达式的先行断言(lookahead)和后行断言(lookbehind)
    正则表达式的先行断言和后行断言一共有4种形式:(?=pattern)零宽正向先行断言(zero-widthpositivelookaheadassertion)(?!pattern)零宽负向先行断言(zero-widthnegativ......
  • C++ 静态断言 static_assert
    目录从运行时断言谈起静态断言static_assert(C++11)单参数静态断言(C++17)static_assert使用场景参考资料C++11引入了静态断言static_assert,可以在编译期进行断言。从......
  • SystemVerilog中动态数组调整大小
    题目:现有一个大小为100的动态数组如下,如何把它定义成大小为200,并且前100个元素仍然保留的数组,请写出具体代码integerdata;data=new[100]; 其实就一句代码:data=ne......
  • 在SystemVerilog中,类成员的private, public, protected 属性分别是什么意思,SystemVerilo
    默认情况下,可以使用类的对象句柄从类外部访问类的成员和方法,即它们是public的。如果我们不希望某些成员和某些方法可以从类外部访问怎么办?为了防止意外修改类成员/方法。,......
  • 干货 | APP自动化Android之属性获取与断言
    ⬇️点击“下方链接”,提升测试核心竞争力!>>更多技术文章分享和免费资料领取断言是UI自动化测试的三要素之一,是UI自动化不可或缺的部分。我们使用定位器定位到元素后,通......
  • JMeter 常用的几种断言方法
    一、Jmeter断言背景在使用Jmeter进行性能测试或者接口自动化测试工作中,经常会用到的一个功能,就是断言。断言是在请求的返回层面增加一层判断机制。因为请求成功了,并......