Section A.1.8, A.1.9, A.2.2.1, A.2.6, A.2.7, A.9.3, Syntax 3-1, Syntax 11-1, Syntax 18-1, Functional coverage extension
Functional coverage BNF

In A.1.8 and Syntax 11-1, in class_item, ADD

            |           { attribute_instance } type_declaration

            |           class_declaration

 

In A.1.9 and Syntax 18-1, in both package_or_generate_item_declaration and anonymous_program_item, ADD

            |           covergroup_declaration

 

In A.2.2.1 and Syntax 3-1, in data_type, ADD

            |           covergroup_identifier

 

In A.2.6, REPLACE

            named_function_proto ::=

 [ signing ] function_data_type function_identifier

            ( list_of_function_proto_formals )

WITH

            named_function_proto ::=

 [ signing ] function_data_type function_identifier

            ( [ list_of_tf_proto_formals ] )

 

In A.2.6, REPLACE

            list_of_function_proto_formals ::=

                        [ { attribute_instance } tf_proto_formal

{ , { attribute_instance } tf_proto_formal } ]

WITH

            list_of_tf_proto_formals ::=

                         { attribute_instance } tf_proto_formal

{ , { attribute_instance } tf_proto_formal }

 

In A.2.7, REPLACE

            named_task_proto :: task_identifier ( task_proto_formal { , task_proto_formal } )

WITH

            named_task_proto :: task_identifier ( list_of_tf_proto_formals )

 

In functional coverage BNF, in covergroup_declaration, REPLACE

list_of_task_proto

WITH

            list_of_tf_proto_formals

 

In functional coverage BNF and associated Syntax 20-1, REMOVE

            list_of_task_proto

and IMPORT list_of_tf_proto_formals from A.2.6

 

In functional coverage BNF and associated Syntax 20-1, in coverage_option, make the following RED (but not bold)

            option

            type_option

and REPLACE both ocurrences of

            option_name

WITH

            member_identifier

 

In functional coverage BNF and in associated Syntax 20-1, in variable_decl_assignment, REPLACE

            |           covergroup_identifier variable_identifier = new [ ( list_of_arguments ) ]

WITH

            |           [ covergroup_variable_identifier ] = new [ ( list_of_arguments ) ]

and ADD the following footnote

            It shall be legal to omit the covergroup_variable_identifer from a covergroup instantiation only if this implicit instantiation is within a class that has no other instantiation of the covergroup.

 

In functional coverage BNF and associated Syntax 20-2 and 20-4, in both cover_point and cover_cross, REPLACE

            label

WITH

            cover_point_identifer

 

In functional coverage BNF and associated Syntax 20-4, in both select_bins_or_empty and bin_selection_or_option, REPLACE

            bin_selection_or_option

WITH

            bins_selection_or_option

 

In functional coverage BNF and associated Syntax 20-4, REPLACE

            open_value_range ::=

                        expression

            |           [ expression : expression ]

            |           [ expression : $ ]

            |           [ $ : expression ]

WITH

            open_value_range ::=

                        value_range

            |           [ expression : $ ]

            |           [ $ : expression ]

 

In A.9.3, ADD

            bin_identifier ::= identifier

covergroup_identifier ::= identifier

covergroup_variable_identifier ::= variable_identifier

cover_point_identifier ::= identifier

           

.