Hardware interview practice
Nonblocking event triggers
What print order is guaranteed, and why?
Starting point
Question code
event e;
initial fork
begin #1 ->> e; $display("T"); end
begin #1 @e; $display("W"); end
joinChoose one
Answer choices
- A. W then T, because an event waiter has priority
- B. T then W, because ->> schedules the trigger nonblockingly after active-region code
- C. Only T, because @e always misses a same-time trigger
- D. The order is nondeterministic because both delays expire at time 1
