fork-join_none和fork-join、fork-join_any的区别一样在于进程退出机制以及对于父进程的影响。
fork-join_none不会占用任何父进程的时间,即不会影响父进程。
基于这个特性,如果你希望启动一个并行的进程,而又不需要等待它结束就可以使用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启动4个进程,然而从仿真log中可以看到父进程没有被阻塞,在时刻0就打印了“out of the loop” 。
原审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
Verilog
+关注
关注
28文章
1355浏览量
110785 -
System
+关注
关注
0文章
165浏览量
37200 -
进程
+关注
关注
0文章
204浏览量
14035
原文标题:SystemVerilog中的fork-join_none
文章出处:【微信号:芯片验证工程师,微信公众号:芯片验证工程师】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
Parallel (Fork-Join) Block is not supported
各位大神,尝试编译了一小段模块,结果说是不支持并行(fork——join)块,这个是要升级quartusII吗?求问,谢谢!Error (10129): Verilog HDL
发表于 01-25 19:05
begin ...... end 与 fork ...... join 语句的 区别 ------ 转载
的执行时间为5d。 (2)fork……join,用来组合需要并行执行的语句,被称为并行块。例如:parameter d = 50; reg[7:0] r; fork //由一系列延迟产生的波形 # d r
发表于 06-02 21:31
Fork/Join的框架机制详解
一、Fork/Join框架 Java提供Fork/Join框架用于并行执行任务,核心的思想就是将一个大任务切分成多个小任务,然后汇总每个小任务的执行结果得到这个大任务的最终结果。
发表于 01-05 17:51
如何利用system verilog的fork join_none实现信号打拍操作呢
利用system verilog的fork join_none,能够实现打拍操作。从而不需要写其他的逻辑来实现打拍操作。下面,介绍下,如何实现。有3个信号,a,b,c,现在需要实现,b是a的打拍,c
发表于 04-02 17:25
聊一聊如何在仿真中如何“多进程”时间管理
的进程执行完毕后退出fork-join_none:所有的进程只要有一个执行结束即退出fork-join_any: 不等待任何一个进程执行完毕即退出。但凡熟悉Verilog、SystemVerilog
发表于 06-29 16:11
Fork/Join框架的软件重构及性能分析
框架进行重构,并以senes程序为例,详细地说明了重构的过程。在实验中,首先,测试了每个程序在不同阈值下使用Fork/Join框架分别递归1、2、3次执行程序的时间,进而选择相对较好的阈值;然后
发表于 12-29 10:06
•0次下载
arm交叉编译器gnueabi、none-eabi、arm-eabi等的区别
arm-none-eabi:这个是没有操作系统的,自然不可能支持那些跟操作系统关系密切的函数,比如fork(2)。他使用的是newlib这个专用于嵌入式系统的C库。
发表于 05-07 10:30
•1.5w次阅读

SystemVerilog中对于process的多种控制方式
Block,也就是语句块,SystemVerilog提供了两种类型的语句块,分别是begin…end为代表的顺序语句块,还有以fork…join为代表的并发语句块。
SystemVerilog中的fork-join_any
fork-join_any和fork-join有所不同,fork-join_any的父进程一直阻塞,直到任何一个并行的子进程结束。
SystemVerilog中的fork-join
在fork-join语句块中,每个语句都是并发进程。在这个语句块中,父进程一直被阻塞,直到所有由“fork-join”产生的子进程都执行完。
如何优化MySQL中的join语句
在mysql中,join 主要有Nested Loop、Hash Join、Merge Join 这三种方式,我们今天来看一下最普遍 Nested Loop 循环连接方式,主要包括三种

评论