14-first_match构造/throughout构造/within构造

资料来源

(1) 硅芯思见:【90】SVA中的序列表达式操作符 (qq.com) (例子很好)

1.first_match构造

(1) 使用了逻辑运算符(如“and”和“or”)的序列中指定了时间窗,有可能出现同一检验具有多个匹配的情况。“first_match”构造可以确保只用第一次序列匹配,而丢弃其他的匹配。

 

2.first_match构造实例

3.throughout构造

(1) 蕴含(implication)是目前讨论到的允许定义前提条件的一项技术。例如,要对一个指定的序列进行检验,必须某个前提条件为真。但是蕴含只在时钟沿检验前提条件一次,然后就开始检验后续算子部分,它不检测先行算子是否一直保持为真

(2) 存在情况:要求在检验序列的整个过程中,某个条件必须一直为真。为了保证某些条件在整个序列的验证过程中一直为真,可以使用“throughout”运算符。

(3) 运算符“throughout”的基本语法如下所示:(expression)throughout (sequence definition);

4.throughout实例

属性p31检查下列内容:

(1) 在信号“start”的下降沿开始检查。

(2) 检查表达式((!a&&!b)##1(c[->3])##1(a&&b))。

(3) 序列检查在信号“a”和“b”的下降沿与信号“a”和“b”的上升沿之间,信号“c”应该连续或间断地出现3次为高电平。

(4) 在整个检验过程中,信号“start”保持为低。

5.within构造

(1) “within”构造允许在一个序列中定义另一个序列。

(2) within的语法: seq1 within seq2; 表示seq1在seq2的开始到结束的范围内发生,且序列seq2的开始匹配点必须在seq1的开始匹配点之前发生,序列seq1的结束匹配点必须在seq2的结束匹配点之前结束。

6.within构造实例

属性p32检查序列s32a在信号“start”的上升沿和下降沿之间发生。信号“start”的上升和下降由序列s32b定义。

 

posted on   知北游。。  阅读(1217)  评论(0编辑  收藏  举报

编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
< 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

导航

统计

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