Always block equivalent construct

Assuming you are in a task like run (OVM) or run_phase(UVM), you can always do

task run;
fork
   forever @(posedge v_itf.clk) 
              begin
              ...
              end
join_none
endtask

Dave Rich
go.mentor.com/drich