module upd_coverage(input bit clock, input bit reset, input bit a1, input bit a0, input bit ncs, input bit nwr, input bit nrd,
input bit [7:0]din, input bit start, input bit [7:0]count, input bit err, input bit dir, input bit ec);
bit [7:0]plr;
bit [7:0]ulr;
bit [7:0]llr;
bit [7:0]ccr;
assign plr = upd_top.DUT.plr;
assign ulr = upd_top.DUT.ulr;
assign llr = upd_top.DUT.llr;
assign ccr = upd_top.DUT.ccr;
property p1;
@(negedge clock) ((start)&&(plr < ulr)) |=> (count == plr) ##(ulr - plr) (count == ulr);
endproperty
p1h :assert property(p1);
endmodule
In above code count value increases from plr to ulr value,I was trying to checking the (count == ulr) after the difference between plr and ulr values,but it showing compile error as illegal operand for constant expression.
Can anyone help me how to use delay through this variable
Thanks,
Rajesh