Section 4.4, 5.6, 8.3, 10.5.1, 15.11, 18.4, Syntax 3-1, Syntax 3-4, Syntax 7-1, Syntax 8-1, Syntax 8-2, Syntax 8-4, Syntax 10-1, Syntax 15-1, Syntax 17-2, Syntax 17-5, Syntax 17-13, A.1.4, A.2.2.1, A.2.2.2, A.2.3, A.2.4, A.2.6, A.2.7, A.2.10, A.6.1, A.6.2, A.6.4, A.6.8, A.6.11, A.8.1, A.8.3, A.9.3
Declarations, for-loops, expressions, examples

 

In A.1.4, REPLACE

            list_of_port_declarations ::=

                        ( port_declaration { , ansi_port_declaration } )

            |            ( )

WITH

            list_of_port_declarations ::= ( [ ansi_port_declaration { , ansi_port_declaration } ] )

 

In A.2.2.1 and Syntax 3-1 and Syntax 3-4, REPLACE

            struct_union_member ::= { attribute_instance } data_type { packed_dimension }

                                                            variable_identifier { unpacked_dimension }

                                                            { , variable_identifier { unpacked_dimension } } ;

WITH

            struct_union_member ::= { attribute_instance } data_type { packed_dimension }

                                                            variable_identifier variable_dimension

                                                            { , variable_identifier variable_dimension } ;

 

In A.2.2.2, in drive_strength, make each ( and ) RED.

 

In A.2.3, REMOVE

list_of_tf_port_identifiers

 

In A.2.4, in variable_decl_assignment, REPLACE

|            variable_identifier [ ] = new [ constant_expression ] [ ( variable_identifier ) ]
            |            class_variable_identifier = new [ ( list_of_arguments ) ]

WITH

|            dynamic_array_variable_identifier [ ] [ = dynamic_array_new ]

            |            class_variable_identifier [ = class_new ]

 

In A.2.4, ADD

            class_new ::= new [ ( list_of_arguments ) ]

            dynamic_array_new ::= new [ expression ] [ ( dynamic_array_variable_identifier ) ]

 

In A.2.6, in tf_port_list, REPLACE

            list_of_port_identifiers

WITH

            list_of_tf_variable_identifiers

 

In A.2.7 and Syntax 10-1, replace each occurrence of

            list_of_tf_port_identifiers

WITH

            list_of_tf_variable_identifiers

 

In A.2.10, Syntax 17-2, Syntax 17-5, Syntax 17-13, in sequence_expr REPLACE each occurrence of

            function_blocking_assignment

WITH

            variable_assignment

 

In A.6.1, REPLACE

            net_alias ::= alias net_lvalue = net_lvalue ;

WITH

            net_alias ::= alias net_lvalue = net_lvalue { = net_lvalue } ;

 

In A.6.2 and Syntax 8-2, in blocking_assignment, REPLACE

|            hierarchical_variable_identifier [ ] = new [ constant_expression ] [ ( variable_identifier ) ]
            |            class_variable_identifier = new [ ( list_of_arguments ) ]

WITH

|            hiearchical_dynamic_array_variable_identifier [ ]  = dynamic_array_new

|            class_variable_identifier  = class_new

 

In A.6.2 and Syntax 8-4, REMOVE

            variable_decl_or_assignment

 

In A.6.2, REPLACE

            variable_assignment ::=

                        operator_assignment

            |            inc_or_dec_expression

WITH

            variable_assignment ::= variable_lvalue = expresssion

 

In A.6.4 and Syntax 8-1, in statement_item, REPLACE

            void ‘ ( function_call )

WITH

            void_cast_statement

 

In A.6.4, ADD

            void_cast_statement ::=

                        void ‘ expression ;

            |            void ‘ ( expression ) ;

 

In A.6.8 and Syntax 8-4, in loop_statement, REPLACE

            |            for ( variable_decl_or_assignment { , variable_decl_or_assignment } ;

                                    expression ;

                                    variable_assignment { , variable_assignment } )

                                    statement_or_null

WITH

            |            for (  for_initialization ; expression ; for_step  )

                                    statement_or_null

 

In A.6.8 and Syntax 8-4, ADD

            for_initialization ::=

                        list_of_variable_assignments

            |            data_type list_of_variable_assignments { , data_type list_of_variable_assignments }

for_step ::= for_step_assignment { , for_step_assignment }

            for_step_assignment ::=

                        operator_assignment

            |            inc_or_dec_expression

 

In Syntax 8-4, copy in the definition of for_initialization, for_step and for_step_assignment.

 

In A.6.11 and Syntax 15-1, in clocking_skew, ADD

            |            #1step

 

In A.8.1, REPLACE

            multiple_concatenation ::= { constant_expression concatenation }

WITH

            multiple_concatenation ::= { expression concatenation }

and ADD the following footnote

            In a multiple_concatenation, it shall be illegal for the multiplier not to be a constant_expression unless the type of the concatenation is string.

 

In A.8.3 and Syntax 7-1, REPLACE

            conditional_expression ::= expression1 ? { attribute_instance } expression2 : expression3

WITH

            conditional_expression ::= expression ? { attribute_instance } expression : expression

 

In A.8.3, REMOVE

            expression1

            expression2

            expression3

 

In A.9.3, ADD

            hiearchical_dynamic_array_variable_identifier ::= hierarchical_variable_identifier

            dynamic_array_variable_identifier ::= variable_identifier

 

In 4.4, in the first example, make both occurrences of ‘reg’ BOLD.

In 5.6, in the example, REPLACE

            not       ( abc.A[0] , abc.B[0] ) ,

            ( abc.A[1] , abc.B[1] ) ,

            ( abc.A[2] , abc.B[2] ) ,

            ( abc.A[3] , abc.B[3] ) ;

WITH

            not [3:0] ( abc.A[3:0] , abc.B[3:0] ) ;

 

In 8.3, REPLACE

            time unit to specified

WITH

            time unit to be specified

 

In 10.5.1, in the example, REPLACE

            int j = 0 1 ;

WITH

            int j = 1 ;

     

In Syntax 15-1, REPLACE

            Class syntax

WITH

            Clocking domain syntax

 

In 15.11, in Example 1, REPLACE

            program test( input bit clk, input reg [15:0] data )

WITH

            program test( input bit clk, input reg [15:0] data ) ;

 

In 15.11, in Example 2, REPLACE

            module cpu( interface y )

WITH

            module cpu( interface y ) ;

 

In 18.4, in the second example, REPLACE

            ...

            ff1 i1;

            ...

            ff2 i2;

            ...

            ff3 i3;

WITH

            ...

            ff1 i1();

            ...

            ff2 i2();

            ...

            ff3 i3();

 

In 18.4, in the third example, REPLACE both occurrences of

            (input a; input b; output z;)

WITH

            (input a, b, output z)