systemverilog学习(6)并发进程与进程同步

sv提供了下列处理并发进程的能力:

    fork...join并发结构,

    通过mailbox实现进程间的通信,

    通过semaphore实现进程互斥与仲裁,

    通过event实现进程之间的同步

一:fork...join

 fork...join能够启动产生多个并发进程,提供三种并发方式:fork...join,fork...join_any,fork...join_none

1: fork...join

  执行fork语句的进程,并阻塞父进程的执行,直到fork...join中所有进程(子进程)中止

  可以将子进程放在begin...end里,如下图。process1与process2同时执行;直到20ns并且eventA被触发,才结束整个fork...join的结构,执行父线程。

  

2:fork...join...any

  父进程会被阻塞直到任意一个子进程结束

  

3:fork...join...none

  父进程不会被阻塞,父进程会立即与产生的所有进程并发操作

猜你喜欢

转载自www.cnblogs.com/xh13dream/p/9051089.html