← 2022 · 华为 笔试

推荐答案 测试一下

在时钟上升沿时采样到start有效开始,两个时钟周期后,信号“a”连续或者间断地出现3次为高电平,紧接着信号"stop"在下一个时钟周期为高电平,转换成断言描述,以下哪个是正确的

A. property p0: @(posedge clk) $rose(start) 1->##2 (a[->3])##1 stop: endproperty B. property p0: C. property p0: D. property p0:
单选题 中等 笔试真题单选

参考答案

正确答案为A。 解析:题目要求描述一个序列:在时钟上升沿采样到start有效($rose(start))后,经过两个时钟周期(##2),信号“a”连续或间断地出现3次高电平,紧接着下一个时钟周期信号“stop”为高电平。在SVA中,重复操作符有多种: - a[*3]表示a连续3个时钟周期为高(不允许间断),不符合“连续或者间断”的要求,故C错误。 - a[->3]称为goto repetition,表示a出现3次(允许间断),且最后一次出现后的下一个时钟周期必须开始后续序列,正好匹配题目中“紧接着信号stop在下一个时钟周期为高”的要求,故A正确。 - a[=3]称为non-consecutive repetition,也表示a出现3次(允许间断),但后续序列可以出现在最后一次后的任意多个时钟周期之后,不一定立即在下个周期,不符合“紧接着”,故D错误。 - B中的[=>3]不是有效的SVA操作符(标准中只有|=>表示重叠蕴涵,但无[=>3]用法),故B错误。 另外,所有选项均包含“1->”,可能为“|->”(非重叠蕴涵)的笔误,但影响一致,不影响本题对重复操作符的判断。因此A正确。

涉及知识点

  • SVA序列重复操作符含义
  • goto repetition ([->n])与non-consecutive repetition ([=n])的区别
  • 连续重复[*n]的适用场景
  • 蕴涵操作符与延迟时序控制
← 上一题
登录后反馈错题
下一题 →