Advertisement

系统Verilog验证 测试平台编写指南 第七章 线程与线程间通信

阅读量:

7.1 线程的使用
Verilog:在begin…end结构中,所包含的语句按照顺序依次执行,而在fork…join结构中,语句则以并行的方式进行处理。
System Verilog:新增了两种用于生成线程的机制,即通过fork…join_none和fork…join_any语句来实现。
fork…join_none块在启动其内部语句后,主调用线程不会暂停,而是继续后续操作。
fork…join_any块在启动其内部语句后,只有当其中某一条语句执行完毕时,主调用线程才会继续运行,而其余尚未完成的线程也将被允许继续执行。

在这里插入图片描述

fork…join:所有语句块必须全部执行完毕,后续的处理流程方可继续进行。
fork…join_any:当第一个语句(即所有进程中执行速度最快的那个)完成之后,父进程才会继续执行。
fork…join_none:父进程与子进程可以同时运行。
begin…end:按照顺序依次执行,通常会嵌套在fork语句之中。

在类中生成线程时,可以借助fork…join_none来启动一个独立的线程。
线程中的自动变量:在使用f

全部评论 (0)

还没有任何评论哟~