Hi,
Consider the following SVA:
sequence checkAck;
!( $rose(read) && (readID == localID)) throughout ($rose(readAck)&&(readAckID == localID ))[->1] ;
endsequence
property checkRead ;
int localID ;
$rose(read),localID = readID ) |=> checkAck;
endproperty
ap_p:assert property( @(posedge clk) CheckRead );
Goto repetition is used with expression : ( $rose(readAck) && (readAckID == localID ) )
However when I write:
sequence checkAck;
!( $rose(read) && (readID == localID)) throughout ($rose(readAck) ##0(readAckID == localID ))[->1] ; // Changed RHS sequence from '&&' to '##0'
endsequence
I observe compilation error.
[Q1]Why is sequence_expression invalid for goto repetition ?
As I have seen examples where goto repetition is used with sequence methods ‘.triggered’ and ‘.matched’.
[Q2]I am wondering what are all legal ways to use goto repetition ?
[Q3] Do the same rules apply for Nonconsecutive repetition as well ?