【发布时间】:2017-01-11 18:42:21
【问题描述】:
我想验证如果一个事件发生,那么在过去的“num_ticks”处,应该已经断言了一些信号。
举个例子,我写的属性是:
property test_past;
@(posedge clk)
$rose(gnt) |-> $past(req, num_ticks);
endproperty
这里的问题在于num_ticks。如果num_ticks 是写入属性的模块的输入信号,则断言失败。如果我将 num_ticks 声明为 int,并将其分配给常量,则通过。
$past 是否仅适用于常量值? LRM 中没有提到这一点。
我正在使用 Questasim 10.3
【问题讨论】:
-
我刚刚注意到我使用的是过时版本的 LRM - 2002 Accellera 扩展版本。关于如何使用变量 num_ticks 实现 $past 功能的任何建议?
-
我使用了一些逻辑来解决这个问题。不漂亮,但工作正常
标签: system-verilog uvm questasim system-verilog-assertions