【问题标题】:SVA: Use of implication (|=>) vs sequence?SVA:使用暗示(|=>)与序列?
【发布时间】:2013-05-15 03:29:43
【问题描述】:

SystemVerilog 断言属性可以使用隐含运算符|=> 和序列##1 构建

例如:

property P1;
  @(posedge clk)
    A ##1 B |=> C ##1 D;
endproperty

上面我们使用A ##1 B作为启动序列(前件)和C ##1 D作为完成序列(后件)。

我不明白为什么它不能被重写为:

property P2;
  @(posedge clk)
    A ##1 B ##1 C ##1 D;
endproperty

您何时以及为什么会选择暗示|=> 而不是序列##1

【问题讨论】:

  • 这不是 Verilog - 这里更改问题标签的礼仪是什么?
  • 我认为大多数人只会编辑问题,并留下清晰的“编辑摘要”。也不确定自从 LRM 合二为一以来,这些天我们在 Verilog 和 SystemVerilog 之间的区别有多大。

标签: system-verilog verification assertions system-verilog-assertions


【解决方案1】:

序列通过上述属性相同,但失败条件不匹配。

如果它们都是 1,则 A ##1 B ##1 C ##1 D;A ##1 B |=> C ##1 D; 为真。

如果我们将 A 设为 1,则其余为 0:

A ##1 B ##1 C ##1 D; 失败,A ##1 B |=> C ##1 D; 将通过。

后者由于未满足启用序列的条件,不视为失败。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多