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.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-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.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.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 4.4, in the first example, make both occurrences of ‘reg’ BOLD.

 

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 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)