fork join vs join_any vs join_none in SystemVerilog (With Timing Diagram)
In short: fork starts several threads at the same time. The keyword that closes it decides when the parent moves on. join waits until all threads finish. join_any waits until the first one finishes, and the others keep running. join_none doesn’t wait at all; the threads start as soon as the parent pauses. Use wait…
