In reply to chr_sue:
2 `uvm* macros are running in begin end block and not directly in fork join.
So it should be one after another as it is in begin end.
Other begin end blocks inside fork join will run parallely with this begin end.
fork join_none is needed
1)Bcoz there are other operations also that is happening
parallely with this running seq, which is kept inside
different begin end blocks inside fork join_none. Like this
fork
begin
…
end
begin
…
end
begin
…
end
join_none
2)To take care of timeout feature.There is wait statement after fork join_none
block , so it will wait for that time and after that
task will be completed even if sequence is still running.
(Correct me if i am wrong for 2nd reason)