In Section 13.2 make changes to BNF indicated in blue.

 

clocking_decl ::= [default] clocking [identifier] clocking_event ;

{ clocking_item }

endclocking

 

            clocking_event ::= @ identifier

                                                | @ ( event_expression )

 

event_expression ::= // This item is already defined in the BNF

     

cloking_item ::= default default_skew ;

                   | clocking_direction signal_or_assign_list ;

           

            default_skew ::= input skew

                                                | output skew

                                                | input skew output skew

 

            clocking_direction ::= input [ skew ]

                                                | output [ skew ]

                                                | input [ skew ] output [ skew ]

                                                | inout

 

            signal_or_assign_list ::= signal_or_assign { , signal_or_assign }

 

signal_or_assign ::= signal_identifier [ = hierarchical_expression ]

 

skew ::= edge [ # delay_expression ]  // edge valid only if

                        | # delay_expression    // clocking_event is simple edge

 

edge ::= posedge | negedge

 

            delay_expression ::= constant_expression | time_literal

 

In Section 13.2 add the following sentence as the first sentence after the BNF.

 

The delay_expression must be either a time literal or a constant expression that evaluates to a positive integer value.