Section 10.3.3, A.1.6, A.1.8, A.2.6, A.2.7, A.2.9, A.10.6, Syntax 10-1, Syntax 10-2, Syntax 10-3, Syntax 11-1, Syntax 19-1, Syntax 27-1
Subroutine prototypes

[ The environment of this fix includes (1) the examples in Section 19.6, (2) 1364-ETF issue 554,  (3) the examples in V2K LRM Chapter 13, and (4) 1364-ETF issue 546.]

 

REMOVE section 10.3.3 and Foonote A.10.6

 

In A.2.6 and Syntax 10-2, ADD

            function_data_type_or_implicit ::=

function_data_type

            |           [ signing ] { packed_dimension }

 

In A.2.6 and Syntax 10-2, in function_body_declaration, REPLACE  both occurrences of

[ signing ] [ type_or_dimensions ]

WITH

            function_data_type_or_implicit

 

In A.2.6 and Syntax 10-2,  REMOVE

            type_or_dimensions

AND in function_data_type REMOVE the footnote indicator

            6

 

In A.2.6 and Syntax 27-1, REPLACE

            named_function_proto ::= [ signing ] function_data_type function_identifier ( [ tf_port_list ] )

WITH

            function_prototype ::= function function_data_type function_identifier ( [ tf_port_list ] )

 

In A.2.7 and Syntax 27-1, REPLACE

            named_task_proto ::= task_identifier ( [ tf_port_list ] )

WITH

            task_prototype ::= task task_identifier ( [ tf_port_list ] )

 

In A.2.6, Syntax 10-3, and Syntax 27-1, in dpi_function_proto, REPLACE

            function named_function_proto

WITH

            function_prototype

 

In A.2.6 and Syntax 27-1, in dpi_task_proto, REPLACE

            task named_task_proto

WITH

            task_prototype

 

In A.1.6, REPLACE

            extern_tf_declaration ::=

                        extern method_prototype

            |           extern forkjoin task named_task_proto ;

WITH

            extern_tf_declaration ::=

                        extern method_prototype ;

            |           extern forkjoin task_prototype ;

 

 

In A.1.8 and Syntax 11-1, REPLACE

            method_prototype ::=

                        task named_task_proto ;

            |           function named_function_proto ;

WITH

            method_prototype ::=

                        task_prototype

            |           function_prototype

 

In A.1.8 and Syntax 11-1, in class_method, REPLACE

            method_prototype

WITH

            method_prototype ;

 

 

In A.2.9 and Syntax 19-1, REPLACE

            modport_tf_ports_declaration ::=

                        import_export modport_tf_port

            modport_tf_port ::=

                        task named_task_proto { ,  named_task_proto }

            |           function named_function_proto { ,  named_function_proto }

            |           tf_identifier { , tf_identifier }

WITH

            modport_tf_ports_declaration ::=

                        import_export modport_tf_port { ,  modport_tf_port }

            modport_tf_port ::=

method_prototype

|           tf_identifier

           

In Syntax 10-1, remove the first definition of tf_port_item.

 

In Syntax 10-1,  REORDER the excerpts, putting

            task_declaration

BEFORE

            task_body_declaration

 

In Syntax 10-2,  REORDER the excerpts, putting

            function_declaration

BEFORE

            function_body_declaration

 

In          A.1.3, in description,

and in   A.1.5, in module_common_item,

REMOVE

            |           ;

 

In          A.1.1, in library_descriptions,

and in   A.1.2, in config_rule_statement,

and in   A.1.8, in class_item,

and in   A.1.10 and Syntax 18-1, in package_or_generate_item_declaration,

and in   A.1.10 and Syntax 18-1, in anonymous_program_item,

ADD

            |           ;

 

A.5.2,  in udp_port_declaration, make each semicolon red ( ; ).

 

In A.7.5.1, REPLACE each occurrence of

            notify_reg

WITH

            notifier

 

In A.7.5.2, RENAME

            notify_reg

TO

            notifier

 

In Syntax 23-5, RENAME

            array_query_functions

TO

            array_query_functions

 

In Syntax 23-6, RENAME

            assert_severity_tasks

TO

            assert_severity_tasks

 

In Syntax 23-6, REPLACE

            fatal_message_task ::=

                        $fatal ;

            |           $fatal ( finish_number [ , message_argument { , message_argument ] } ) ;

            nonfatal_message_task ::=

                        severity_task ;

            |           severity_task ( [ message_argument { , message_argument ] } ) ;

WITH

            fatal_message_task ::=

                        $fatal [ ( finish_number [ , message_argument { , message_argument ] } ] ) ] ;

            nonfatal_message_task ::=

                        severity_task [ ( [ message_argument { , message_argument ] } ] ) ] ;

 

In Syntax 23-7, REPLACE

            assert_control_tasks ::=

                        assert_task ;

            |           assert_task ( levels [ , list_of_modules_or_assertions ] ) ;

WITH

            assert_control_tasks ::=

                        assert_task [ ( levels [ , list_of_modules_or_assertions ] ) ] ;