在系统verilog断言中重复一个序列

时间:2015-09-22 10:05:02

标签: system-verilog assertion system-verilog-assertions

在初始匹配之后,我需要检查一个序列,直到模拟结束。

property check_at_fall;
@(posedge clk) 
    $rose(enable) ##[1:$] $fell(enable) |-> ##[0:2] ch_sel_seq [*1000]   ;
endproperty
assert_TELEMETRY : assert property (check_at_fall)
else `uvm_error("ADC_if",$psprintf("unexpected sequence "))

我想要的是[*$]而不是上面的[*1000]。我不想给出一个巨大的数字,我想永远地运行它。

1 个答案:

答案 0 :(得分:0)

来自SystemVerilog 1800-2012第359页:

要指定有限但无限的迭代次数,请使用美元符号($)。例如,重复

True

此外,[*]是[* 0:$]的等效表示,[+]是[* 1:$]的等效表示。