In Section 14.2 replace the following:
The syntax is for the synchronization operator is:
@([specific_edge] signal
{or [specific_edge] signal});
Where specific_edge identifies the edge at which the synchronization occurs and can be:
— negedge : a negative (or falling) edge of the given (1-bit) signal
— posedge : a positive (or rising) edge of the given (1-bit) signal.
If no edge is specified, the synchronization occurs on the next change in the specified signal.
The signal specifies the clocking-domain signal to which the synchronization is linked. It can be any signal in
a clocking domain, or a slice thereof. If the signal or the slice represents a 1-bit value, it’s possible to synchronize
to posedge or negedge, otherwise the synchronization is only to the next change. Slices can include
dynamic indices, which are evaluated once, when the @ expression executes.
If the operator has more than one expression, joined by the or keyword then the synchronization occurs when
any of the expressions is satisfied.
with
The syntax for the
synchronization operator is:
event_control ::=
@ event_identifier
| @ ( event_expression )
| @*
| @ (*)
event_expression ::=
expression [ iff expression ]
| hierarchical_identifier
[ iff expression ]
| [ edge ] expression [ iff expression ]
| event_expression
or event_expression
| event_expression , event_expression
Excerpt
from Annex A.6.5.
The expression can
denote clocking-domain input, or a slice thereof. Slices can include dynamic indices, which are
evaluated once, when the @ expression executes.