SV中对应fork有三种格式,分别是fork-join fork-join_none fork-join_any
SV中对循环的支持有: forever repeat for (foreach 和 always忽略)
通常,我们在自己写平台是会考虑并发行和循环则会有常见的如下组合:
fork + for 或 for + fork
即
fork for (int i = 0 ; i < 3 ; i++)
for (int i = 0 ; i < 3 ; i++) fork
.... ....
join_none join_none
前者的含义是,起一个子进程,子进程循环三次执行"....".
后者的含义是,起三个子进程,每个子进程都执行"....".
言尽于此,应该很明了了。
另外,将for改成repeat意思差不多。
但是,当将for换成forever显然,后者是没有意义的,也就是说仅仅有fork-join_none中包含了forever,反之则不行(仿真跳不来,除了耗尽内存,平台挂起外没啥好看的)
最后:其实上面没有太多要讨论的意义,其实就是提出来引起些许重视和小小的总结下。