HI,
I have a strange problem with my simvision (version 11.10.-s66) that i have written 2 assertions
1) with parameterized sequnces and property
2) normal assertion
for some logic which you can find in the below code , but in the simvision the assertions finished at different timings , the one parameterized finished one clock pulse later than expected and the normal assertion finished properly. So can any one tell me whether it is tool issue ???
initial
begin
clk = 1'b0; in1 = 4'd0; flag = 1'b0; out1 = 4'd0;
repeat(2) @(negedge clk); in1 = 3'd2; flag = 1'b1;
repeat(1) @(negedge clk); flag = 1'b0; out1 = 3'd3;
repeat(5) @(negedge clk); $finish;
end
property p1;
@(posedge clk)
( (in1 == 3'd2) && $rose(flag) ##1 $fell(flag)) |-> (out1 == 3'd3);
endproperty
chk1 : assert property(p1) $display("Working Good");
else $display("Not Working");
sequence s1(a);
$rose(a) ##1 $fell(a);
endsequence
property p2(a1,b,c);
@(posedge clk)
( (b == 3'd2) and s1(a1)) |-> ( c == 3'd3 ) ;
endproperty
chk2 : assert property(p2(flag,in1,out1)) $display("Working Good");
else $display("Not Working");
Find the attachment for the picture containing assertions in the simvision