fork-join_none和fork-join、fork-join_any的區(qū)別一樣在于進(jìn)程退出機(jī)制以及對(duì)于父進(jìn)程的影響。
fork-join_none不會(huì)占用任何父進(jìn)程的時(shí)間,即不會(huì)影響父進(jìn)程。
基于這個(gè)特性,如果你希望啟動(dòng)一個(gè)并行的進(jìn)程,而又不需要等待它結(jié)束就可以使用fork-join_none
module forkJoin; int a, b, c, d; initial begin fork : forkBlock begin //frst process #50 a = 5; $display($stime,,,"a = %0d",a); end begin //second process #100 b = 10; $display($stime,,,"b = %0d",b); end begin //third process #100 c = 20; $display($stime,,,"c = %0d",c); end begin //fourth process #40 d = 15; $display($stime,,,"d = %0d",d); end join_none $display($stime,,, "out of the loop"); #100; end endmodule
仿真log:
0 out of the loop 40 d = 15 50 a = 5 100 b = 10 100 c = 20 V C S S i m u l a t i o n R e p o r t
在上面的例子中,通過fork-join_none啟動(dòng)4個(gè)進(jìn)程,然而從仿真log中可以看到父進(jìn)程沒有被阻塞,在時(shí)刻0就打印了“out of the loop” 。
原審核編輯:湯梓紅
-
Verilog
+關(guān)注
關(guān)注
28文章
1351瀏覽量
110077 -
System
+關(guān)注
關(guān)注
0文章
165瀏覽量
36929 -
進(jìn)程
+關(guān)注
關(guān)注
0文章
203瀏覽量
13960
原文標(biāo)題:SystemVerilog中的fork-join_none
文章出處:【微信號(hào):芯片驗(yàn)證工程師,微信公眾號(hào):芯片驗(yàn)證工程師】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論