【问题标题】:Qualifying SVA's ##[0:$] in a simulation在模拟中限定 SVA 的 ##[0:$]
【发布时间】:2019-04-25 08:01:17
【问题描述】:

我有以下 SVA 属性:

$rose(hresetn) |-> (
        ##[0:$] $rose(signal_a)
        ##[0:2] ($rose(signal_b));

在模拟过程中,如果signal_a 从未上升(这在功能上是可以接受的),我的测试会以错误结束吗?如果 ##[0:$] 在运行时从未发生过,模拟器是否会将其视为错误/违规,或者它将被视为从未满足的属性?

谢谢。

【问题讨论】:

  • 你试过了吗?

标签: system-verilog uvm system-verilog-assertions


【解决方案1】:

SystemVerilog 具有weakstrong 属性。默认情况下,一切都很弱,这意味着没有匹配只是一个不完整的断言,既不通过也不失败。一些工具可以报告任何从未完成的断言尝试。但是还有一个strong 属性限定符,如果在模拟结束时没有与序列匹配,则会报告错误。 (注意不是所有的工具都实现了这个功能)

【讨论】:

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