随笔分类 -  sv assertion

1 2 下一页

generate与assertion
摘要:资料来源: (1) 硅芯思见:【86】SVA中的延迟 (qq.com) (2) 16-在属性中使用形参,在属性中使用局部变量,以及在序列匹配时调用子程序 - 蚕食鲸吞 - 博客园 (cnblogs.com) 1.generate与带形参的assertion的联合使用 阅读全文

posted @ 2022-03-02 16:03 知北游。。 阅读(193) 评论(0) 推荐(0) 编辑

SVA的动态控制($asserton,$assertoff,$assertkill等)
摘要:资料来源 (1) 硅芯思见:【91】SVA的动态控制 (qq.com) 1.$asserton, $assertoff, $assertkill (1) 作用 注1:$assertoff暂时关闭所有断言的执行,如果该函数执行时断言正在执行,正在执行的断言不会被终止; 注2:$asserton重新启动 阅读全文

posted @ 2022-02-13 21:48 知北游。。 阅读(7028) 评论(0) 推荐(0) 编辑

17-SVA中的多时钟定义,matched构造,expect构造
摘要:资料来源 (1) 硅芯思见:【94】SVA中的multi-clock (qq.com) (2) 硅芯思见:【90】SVA中的序列表达式操作符 (qq.com) 1.SVA中的多时钟定义 (1) SVA允许序列或者属性使用多个时钟定义来采样独立的信号或者子序列; (2) SVA会自动地同步不同信号或者 阅读全文

posted @ 2021-12-07 16:02 知北游。。 阅读(672) 评论(0) 推荐(0) 编辑

16-在属性中使用形参,在属性中使用局部变量,以及在序列匹配时调用子程序
摘要:资料来源 (1) sv assertion; (2) 硅芯思见:【84】SVA中的形式参数 (qq.com) (3) 硅芯思见:【93】SVA中的局部变量和子程序 (qq.com) 1.在属性中使用形参 (1) 可以用定义形参的方式来重用一些常用的属性. (2) SVA允许使用属性的形参来定义时钟. 阅读全文

posted @ 2021-11-25 16:28 知北游。。 阅读(222) 评论(0) 推荐(0) 编辑

篇15-内建系统函数与disable iff构造
摘要:1.内建系统函数 $onehot(expression)—检验表达式满足“one-hot”,换句话说,就是在任意给定的时钟沿,表达式只有一位为高。 $onehot0(expression)—检验表达式满足“zero one-hot”,换句话说,就是在任意给定的时钟沿,表达式只有一位为高或者没有任何一 阅读全文

posted @ 2021-11-25 16:26 知北游。。 阅读(1063) 评论(0) 推荐(0) 编辑

14-first_match构造/throughout构造/within构造
摘要:资料来源 (1) 硅芯思见:【90】SVA中的序列表达式操作符 (qq.com) (例子很好) 1.first_match构造 (1) 使用了逻辑运算符(如“and”和“or”)的序列中指定了时间窗,有可能出现同一检验具有多个匹配的情况。“first_match”构造可以确保只用第一次序列匹配,而丢 阅读全文

posted @ 2021-11-25 14:00 知北游。。 阅读(1203) 评论(0) 推荐(0) 编辑

13-and构造/intersect构造/or构造
摘要:资料来源 (1) SVA中的与或非(and_or_not) (qq.com) (2) system verilog assertions应用指南 (3) 硅芯思见:【90】SVA中的序列表达式操作符 (qq.com) 1.and构造 (1) 二进制运算符“and”可以用来逻辑地组合两个序列。当两个序 阅读全文

posted @ 2021-11-24 22:35 知北游。。 阅读(659) 评论(0) 推荐(0) 编辑

12-重复运算符(连续重复,跟随重复,非连续重复)
摘要:资料来源 (1) 硅芯思见:【87】SVA中的重复运算操作 (qq.com) 1.连续重复(可用于表达式和序列) (1) 信号或者序列将在指定数量的时钟周期内都连续地匹配。信号的每次匹配之间都有一个时钟周期的隐藏延迟。 (2) 连续重复运算符的基本语法:signal or sequence [*n] 阅读全文

posted @ 2021-11-24 22:22 知北游。。 阅读(1167) 评论(0) 推荐(0) 编辑

篇11-$past构造与带时钟门控的$past构造
摘要:1.$past构造 (1) SVA内嵌系统函数“$past”可以得到信号在几个时钟周期之前的值。在默认情况下,它提供信号在前一个时钟周期的值。 (2) 结构的基本语法:$past(signal_name, number of clock cycles) 2.$past构造实例 属性p19检验的是在给 阅读全文

posted @ 2021-11-24 19:29 知北游。。 阅读(725) 评论(0) 推荐(0) 编辑

篇9-ended结构
摘要:1.序列的连接机制 (1) 使用序列起始点作为同步点的连接机制; (2) 使用序列结束点作为同步点的连接机制; 这种机制通过给序列名字追加关键词“ended”来表示。例如,s.ended表示序列的结束点。关键词“ended”保存了一个布尔值,值的真假取决于序列是否在特定的时钟边沿匹配检验。 2.示例 阅读全文

posted @ 2021-11-23 22:27 知北游。。 阅读(233) 评论(0) 推荐(0) 编辑

10-使用参数/选择运算符(?:)/true表达式的sva/system verilog assertion检验器
摘要:资料来源 (1) 硅芯思见:【88】SVA中的条件选择 (qq.com) 1.使用参数的SVA检验器 下图中,实例i1将延迟参数改写为2个时钟周期,而实例i2使用默认的1个时钟周期; 2.使用选择运算符/选择运算符的SVA检验器 注1:条件运算符?:可以在序列sequence和属性property的 阅读全文

posted @ 2021-11-23 17:21 知北游。。 阅读(323) 评论(0) 推荐(0) 编辑

?-sva/system verilog assertion与功能覆盖
摘要:参考资料 (1) 请教一下用assert property和cover property搜集覆盖率有什么不同? - IC验证讨论 - EETOP 创芯网论坛 (原名:电子顶级开发网) - (2) sv绿皮书; (3) IEEE system verilog standard; (4) 硅芯思见:【8 阅读全文

posted @ 2021-11-23 16:35 知北游。。 阅读(2562) 评论(0) 推荐(0) 编辑

篇?-将sva/system verilog assertion与设计连接
摘要:1.在模块(module)定义中内建或内联检验器 2.将检验器与模块/模块的实例/一个模块的多个实例绑定 优点:sva检验器与设计代码分离; 2.1检验器模块 2.2bind语法 2.3顶层模块 2.4bind实现 阅读全文

posted @ 2021-11-23 16:16 知北游。。 阅读(173) 评论(0) 推荐(0) 编辑

篇8-sva/system verilog assertion检验器的时序窗口(重叠的时序窗口和无限的时序窗口)
摘要:资料来源 (1) 硅芯思见:【86】SVA中的延迟 (qq.com) 例子: 属性p12检查布尔表达式“a&&b”在任何给定的时钟上升沿为真。如果表达式为真,那么在接下来的1~3个中周期内,信号“c”应该至少在一个时钟周期内为高。 p12实际上以下面三个线程展开。 1.重叠的时序窗口 属性p13与属 阅读全文

posted @ 2021-11-23 16:03 知北游。。 阅读(301) 评论(0) 推荐(0) 编辑

篇7-断言中的执行块(action block)
摘要:1.执行块 (1) SystemVerilog语言被定义成每当一个断言检查失败,模拟器在默认情况下都会打印出一条错误信息。模拟器不需要对成功的断言打印任何东西,可以使用断言陈述中的“执行块”(action block)来打印自定义的成功或失败信息。 (2) 执行块的基本语法如下所示。 (3) 执行块 阅读全文

posted @ 2021-11-23 15:12 知北游。。 阅读(216) 评论(0) 推荐(0) 编辑

6-禁止属性not,蕴含操作符(交叠蕴含与非交叠蕴含)(包含在蕴含中使用if...else结构)
摘要:资料来源 (1)硅芯思见:【95】SVA中的基本元素sequence和蕴含操作 (qq.com) (2)SVA中的与或非(and_or_not) (qq.com) 1.禁止属性 当期望属性为假时,可以采用关键词not,用来表示属性永远不为真. 2.蕴含/implication (1) 蕴含等效于if 阅读全文

posted @ 2021-11-23 13:34 知北游。。 阅读(926) 评论(0) 推荐(0) 编辑

篇5-sva/system verilog assertion中序列/sequence的构建(2)
摘要:1.带形参的序列 通过在序列中定义形参,相同的序列能被重用到设计中具有相似行为的信号上; 2.序列独立于时钟的coding style 2.1序列中指定时钟 2.2属性中指定时钟,序列独立于时钟(可提高基本序列定义的可重用性) 阅读全文

posted @ 2021-11-23 13:25 知北游。。 阅读(155) 评论(0) 推荐(0) 编辑

4-sva/system verilog assertion中序列/sequence的构建(1)(包含$rose,$fell,$stable,$changed等函数)
摘要:资料来源 (1)硅芯思见:【81】SVA中的$rose和$fell (qq.com) (2)硅芯思见:【92】SVA中的内嵌函数 (qq.com) 1.简单序列 序列s1检查信号“a”在每个时钟上升沿都为高电平。如果信号“a”在任何一个时钟上升沿不为高电平,断言将失败。 2.边沿定义的序列以及使用其 阅读全文

posted @ 2021-11-23 12:06 知北游。。 阅读(1388) 评论(0) 推荐(0) 编辑

篇3-【IMP】建立SVA块 (system verilog assertion)
摘要:1.建立SVA块的步骤如下图所示: 注:序列/属性必须被断言,才能发挥作用; 2.序列/sequence的基本语法 篇4-sva中序列的构建(1) - 蚕食鲸吞 - 博客园 (cnblogs.com) 篇5-sva中序列的构建(2) - 蚕食鲸吞 - 博客园 (cnblogs.com) 3.属性/p 阅读全文

posted @ 2021-11-23 11:07 知北游。。 阅读(126) 评论(0) 推荐(0) 编辑

1 2 下一页
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示