module assertion_example;
bit clk =0 ;
logic a,b,c;
always #10 clk = ~clk;
property prop;
@(posedge clk)
$rose(a) |-> (b && !$isunknown(b)) until c;
endproperty
time_a: assert property(prop) $display("PASS");
else
$error("FAIL");
initial begin
$dumpfile("dump.vcd");
$dumpvars;
a=0;
b=0;
c=0;
#10 a=1;
b=1;
# 5 b=1'bx;
#50 c=1;
#50 c=0;
b=0;
a=0;
#100; $finish;
end
endmodule
In above assertion code the assertion should failed at 10ns then why it is passing the assertion and failed at 30ns?