sequence s;
int st = st1+14;
$rose(s1) ##1 (~s2 && st>0, st--)[*]
endsequence
property p_block;
@(posedge clk) disable iff (!rst)
s |-> ##1 $fell(s3);
endproperty
As soon as s1 goes high this not repeating and st doesn't decrement (~s2 && st>0, st--)[*]
Am i missing something
// Code your testbench here
// or browse Examples
// Code your testbench here
// or browse Examples
module m;
bit clk, a, b;
property pn;
int v=10;
(a, v-=1)[*2] |-> v==0;
endproperty
A1: assert property(
@(posedge clk) pn); endmodule