In reply to kddholak:
bit set_a_flag ;
function void set_flag(bit a_flag);
set_a_flag = a_flag ;
endfunction
property a_toggle_once ;
@(posedge clk)
(a==0 ,set_a_flag==0,set_flag(1))|-> ##1 (a==1)[->1] #1 a ==0 ;
endproperty
Your above code won’t compile.It’s illegal to have multiple sequence_expr for a sequence_match_item