Assertion Check

In reply to rkg_:


// You are using the following definition of what a sequence is: 
sequence_expr ::= 
| (sequence_expr {, sequence_match_item}) 
// NOTE: before the "," is a sequence, after the "," is a sequence_match_item
// and a sequence_match item is  
sequence_match_item ::=
  operator_assignment
   | inc_or_dec_expression
   | subroutine_call
// Your antecedent 
 ( $rose (o_fll_sar_eoc) , i_fll_unlock_prog == 2'b00, inc_count=0, dec_count=0) 
// <--sequence_expr-->   , <---------------- sequence_match_item -------------->
i_fll_unlock_prog == 2'b00 // is NOT  an operator_assignment or inc_or_dec_expression 
// It is a comparison (T or F), thus illegal. 
// You meant to say in the sequence_expr.  Thus,

 ( $rose (o_fll_sar_eoc) && i_fll_unlock_prog == 2'b00, inc_count=0, dec_count=0) 
// Also OK

 ( $rose (o_fll_sar_eoc) ##0 i_fll_unlock_prog == 2'b00, inc_count=0, dec_count=0)