在systemverilog语法中,对进程的控制主要依靠 fork … join/join_none/join_any来完成。使用这三个进程控制语句,基本上可以完成绝大部分控制功能。
不过这三个进程不能满足日益复杂的验证需求,systemverilog语法中还提供了额外的一个process进程类,该类能够控制上面三个进程,结合peocess类和fork 进程,可以实现复杂的模型。首先来看一下process类的定义。
![20d2e22068dfbad08dbaf217178fbf6a.png](https://img-blog.csdnimg.cn/img_convert/20d2e22068dfbad08dbaf217178fbf6a.png)
以下是对process类的解释。
![a57afeaffe7c206e159c90ce5d0200f5.png](https://img-blog.csdnimg.cn/img_convert/a57afeaffe7c206e159c90ce5d0200f5.png)
process类最大的优点就是可以控制fork jion/any/none的过程,通过process类的自带的任务实现对fork进行的挂起,等待,恢复,杀死的复杂控制。从而实现更复杂,更高级的建模。
在《IC验证UVM testcase是怎么run起来的》,最后分析到uvm_phase类,如过进一步分析,uvm_phase的控制最终是process类的控制。
#ic验证后续文章我们进步分析。