Hi,
I am new to systemverilog assertion. I am trying to check if RLast always occurs (combining with RVALID and RREADY to make sure it’s valid case) before RID value changes. I can able to achieve if it’s in previous clock cycle using $past. But In this case the (RLast & RValid &RReady) = true in any random number of cycles before RID change. Below I have written it in statement I wanted to achieve.
Please help me on this.
property p;
(if RID value change) |-> (sample new RID value) and (check in past if RLast &RValid&RReady=true & RID= new RID value)
endproperty
always @(posedge clk) assert property p();