Section 9.4, A.6.7, Syntax 9-3
Wild case

At the end of 9.4, APPEND the following paragraph

 

The keyword inside can be used after the parenthesized expression to indicate a set membership (see 8.19) case...inside statement.  In a case...inside statement, the case expression shall be compared with each case item expression (open_range_list) using the set membership inside operator.  The inside operator uses asymmetric wild card matching (see 8.4), and accordingly, the case expression shall be the left operand, and each case item expression shall be the right operand. The case expression given in parentheses and each case item expression in braces shall be evaluated in the order specified by a normal case, unique case, or priority case statement. A case item shall be matched when the inside operation compares the case expression to the case item expression and returns 1’b1, and no match when the operation returns 1’b0 or 1’bx. If all comparisons do not match and the default item is given, the default item statement shall be executed

 

For example:

 

logic [2:0] status;

always @(posedge clock)

            priority case (status) inside

            1, 3 : task1; // matches b001 and b011

            3’b0?0, [4:7]: task2; // matches b000 b010 b0x0 b0z0 b100 b101 b110 b111

            endcase // priority case fails all other values including b00x b01x bxxx

 

 

 
In A.6.7 and Syntax 9-3, REPLACE
 

                case_statement ::=

[ unique_priority ] case_keyword ( expression ) case_item { case_item } endcase

|               [ unique_priority ] case_keyword ( expression ) matches case_pattern_item { case_pattern_item } endcase

 
WITH
 

                case_statement ::=

[ unique_priority ] case_keyword ( expression )  case_item { case_item } endcase

                    |                    [ unique_priority ] case_keyword ( expression ) matches case_pattern_item { case_pattern_item } endcase
                    |                    [ unique_priority ] case ( expression ) inside case_inside_item { case_inside_item } endcase                     
 
 
In A.6.7 and Syntax 9-3, ADD
 
                    case_inside_item ::=
                                         open_range_list : statement_or_null
                    |                    default [ : ] statement_or_null