I simulated with the following code: sequence S1; @(posedge clk) (A[*1:$] ##1 !A); endsequence When A is high on a posedge clk, the sequence goes active and stays active until A is low on a posedge clk. If you change A at the same time as clk, then you might see the sequence being active skewed by one clock because of the sampling nature of assertions.
However, I did the sequence active for the correct number of cycles. Tim |