$past的用法
- SVA内嵌系统函数
$past
可以得到信号在几个时钟周期之前的值。在默认情况下,它提供信号在前一个时钟周期的值。 - 结构的基本语法:
$past(signal_name, number of clock cycles)
举两个栗子
property ab_high_two_clk_cd_high;
@(posedge clk)
(c && d) |-> $past((a && b), 2);
endproperty
assert property(ab_high_two_clk_cd_high);
如果表达式 (c && d) 为真,那么两个周期前,表达式 (a && b) 为真。
property ReqCausedAck;
@(posedge clk)
$rose(ack) |-> $past(req, 2);
endproperty
assert property(ReqCausedAck);
在ack拉高时的前两个周期,req信号应该为高。