@event Vs wait(event.triggered) in SystemVerilog
In short: Both @(e) and wait(e.triggered) pause a process until event e fires, but they treat timing differently. @(e) is edge-sensitive: the process must already be blocked on it before the trigger, or it misses the event. wait(e.triggered) is level-sensitive within the current time step: it still catches the event even if the trigger happened…
