Clause: 10.10, A.6.5
Description
Currently, there is a conflict in the syntax when a
parameterized sequence is used as event. Consider the two examples:
module temp;
reg a, b, c;
event e;
initial
a = @e (b+c);
endmodule
module temp;
reg a, b, c;
sequence e(f);
..............
endsequence;
initial
a = @e (b+c) c;
endmodule
Compare the @statement in both cases. How do you interpret @e (b+c) c in
second example ? After parsing @e when it sees '(', what can it do? It can
either consider the event_expression is complete or
it can continue to parse it as part of even expression. Which is conflict!!
Suggested Resolution
Clause 10.10, table Syntax 10-9, change:
event_control ::=
@ hierarchical_event_identifier
| @ ( event_expression )
| @*
| @ (*)
| @ sequence_instance
Clause A.6.5, change:
event_control ::=
@ hierarchical_event_identifier
| @ ( event_expression )
| @*
| @ (*)
| @ sequence_instance