VeritakSVは、未だリリースの予定をお話しできる段階ではありません。joinで挟まれたステートメントは、平行プロセスになります。my_task;と書く代わりに、二つの平行プロセスを同時に起動するforkを使い、forkmy_task;my_task;joinと書くことができます。joinは、合流するという意味合いです。二つのプロセスの終了を待ってjoin以下が始まります。SVでは、さらにjoin_anyとjoin_noneが追加されています。endendmodule結果です。join_noneを抜けていることが分かります。タスクの起動は、時刻#5と#10でしっかり行われています。処理する形の定石かもしれません。join_anyの方は、#5と#10のスレッドの内、早いほうのスレッドが終了した時点で抜けます。fork-join内の全てのスレッドの完了を待って抜けます。****join_noneは、子プロセスの終了を待たずに、起動します。スルーしているかのように見えますが。親プロセス、子プロセス共、平行に走ります。(正確には、親プロセスのブロッキング文の実行後に子プロセスはスタートします。)いわば、”ノンブロキング”なプロセス形態です。join_anyは、子プロセスのうち最初に終了したプロセスの後(どれでもよい)、親プロセスが始まります。従い、終了していない子プロセスと親プロセスとで平行に走ります。使い道としては、たとえばタイムアウト処理に使えそうです。使うと、複雑なプロセスが記述できます。ベンチで少し詳しく動作を見ていきましょう。****このベンチでは、3つのスレッドが起動していることが分かりますね。イネーブルしてみましょう。中の早く終了するスレッド#3が終わった時点になります。されたスレッドは、消滅します。従って、予約イベントも取り消され、終了するという訳です。スレッド全てが終了されます。いう意味は、停止というよりは、消滅です。消えてなくなると思って構いません。