Verilog HDLでは、fork/joinという並列プロセスを起動するための機能がサポートされています。
SystemVerilogでは加えて、fork/join_anyとfork/join_noneが追加されました。
SystemVerilogでは加えて、fork/join_anyとfork/join_noneが追加されました。
・fork/join_any : どれか一つのプロセスが終了したら、fork部分が終了 ・fork/join_none : どのプロセスが終了しなくても、fork部が終了。 つまり、子プロセスを起動するのに使えます。
で、この2つのfork/joinはVeraから取り入れられたのだと思います。
昔、SynopsysでT氏からVeraの半日トレーニングを受けたとき、出てきました。
確か、そのとき、受講者は私だけ(他にSynopsys社内のエンジニアが一人)でした。
昔、SynopsysでT氏からVeraの半日トレーニングを受けたとき、出てきました。
確か、そのとき、受講者は私だけ(他にSynopsys社内のエンジニアが一人)でした。
ちなみに起動したforkの終了を待つのが、
起動したforkを強制終了するのが、
wait fork;です。
起動したforkを強制終了するのが、
disable fork;です。
このfork/join関連は、検証では結構使われるんですけどね。
みなさん、どうでしょうか?
みなさん、どうでしょうか?
検証、Verification、SystemVerilog