Verilog和SystemVerilog中的fork-join有什么不同
本篇内容主要讲解“Verilog和SystemVerilog中的fork-join有什么不同”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Verilog和SystemVerilog中的fork-join有什么不同”吧!
成都创新互联公司服务项目包括香河网站建设、香河网站制作、香河网页制作以及香河网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,香河网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到香河省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
Verilog中fork-join结构的主要缺点是并行结构之外的代码的执行被暂停,直到所有fork-join中的进程完成。
例如,在下面代码中,最后一个$display语句只在10个时间单位后执行,
虽然过程1在5个时间单位完成
modulefork_join_tests; integer out_val ; initial begin fork begin //First process #5$display(“exit first process at t = %0d”,$time) ;endbegin //Second process #10$display(“exit second process at t = %0d”,$time) ;end join$display(“exit fork join at t = %0d”,$time);endendmodule //fork_join_tests
上面的代码显示输出:
exit first process at t = 5exit second process at t = 10exit fork join at t = 10
SystemVerilog为并行进程添加了两个新关键字:join_any和join_none
当上面的代码中的join被join_any替换时,则显示输出:
exit first process at t = 5exit second process at t = 10exit fork join at t = 5
fork-join_any在第一个进程完成后退出,也就是说,在5个时间单位退出。
当join_none替换join时,则显示以下输出:
exit first process at t = 5exit second process at t = 10exit fork join at t = 0
fork-join_none不同等待其中任何一个进程完成,也就是说,在时间单位0时退出。
到此,相信大家对“Verilog和SystemVerilog中的fork-join有什么不同”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
当前文章:Verilog和SystemVerilog中的fork-join有什么不同
分享路径:http://ybzwz.com/article/jedocp.html