hi i am writing assertion like this for clock check but assertion getting failed only initially once for all the four property , that’s why i am tried using disable iff condition which commented here but i am facing below compilation issue when i used disable if could you please help me to resolve or avoid initial assertion issue or disable iff compilation issue
error:
Error-[EWSENATE] Expression with side effects
/proj/br_ccd_dft_ver1_nobackup/users/abhich/gn-972038/ccd/src/test/tools/dft/env/clock_stop_chk.sv, 50
ccd_clock_check, “(v = $realtime)”
Expressions with side effects not allowed in temporal expressions.
Expression: “(v = $realtime)”
property p_local_clk1_hi;
realtime v;
// @(posedge local_clk1) disable iff ((!enable)|(!reset)) (v=$realtime) |-> @(negedge local_clk1) ($realtime-v)==TON_local_clk1;
@(posedge local_clk1) (enable, v=$realtime) |=> (($realtime-v)/2)==TON_local_clk1;
endproperty
ap_local_clk1_hi: assert property (p_local_clk1_hi) $display("ap_local_clk1_high property running properly with using enable");
else $error( "assertion Error: TON_local_ckl1 is not matching. Ton_local_clk1 =%t",TON_local_clk1);
property p_local_clk1_lo;
realtime v1;
// @(negedge local_clk1) disable iff ((!enable)|(!reset)) (v1=$realtime) |-> @(posedge local_clk1) ($realtime-v1)==TOFF_local_clk1;
@(negedge local_clk1) (enable, v1=$realtime) |=> (($realtime-v1)/2)==TOFF_local_clk1;
endproperty
ap_local_clk1_lo: assert property (p_local_clk1_lo);
property p_local_clk2_hi;
realtime v2;
// @(posedge local_clk2) disable iff ((!enable)|(!reset)) (v2=$realtime) |-> @(negedge local_clk2) ($realtime-v2)==TON_local_clk2;
@(posedge local_clk2) (enable, v2=$realtime) |=> (($realtime-v2)/2)==TON_local_clk2;
endproperty
ap_local_clk2_hi: assert property (p_local_clk2_hi);
property p_local_clk2_lo;
realtime v3;
// @(negedge local_clk2) disable iff ((!enable)|(!reset))(v3=$realtime) |-> @(posedge local_clk2) ($realtime-v3)==TOFF_local_clk2;
@(negedge local_clk1) (enable, v3=$realtime) |=> (($realtime-v3)/2)==TOFF_local_clk2;
endproperty
ap_local_clk2_lo: assert property (p_local_clk2_lo);