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)