In reply to dave_59:
Dave, there is just one more point which I want to make sure of. When I simulated your example, my initial guess was that the term “@(event_name.triggered)” would be printed twice, first at #10 and then at #20. But I saw in the results that it was only printed once at #10. I guess the reason for this is that, as Ben explained, “…the change of the return value of the triggered method from 1’b1 to 1’b0 at the end of the current time step will not affect an event control or wait statement waiting on the triggered method.”.
So, in short, the event control construct does not see the return of the triggered from 1 to 0 at the end of time step at #10, therefore, it’s re-becoming 1 again at #20 will be invisible too. The event control construct never saw the method become 0, so when at 20 it sees the value of 1, it won’t detect any change.
Is my understanding correct?