[SystemVerilog语法拾遗] 关于process类的使用

[SystemVerilog语法拾遗] 关于process类的使用

我们在[IEEE]SystemVerilog.std.1800-2012官方文档中找到了相关介绍:在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结一下关于这个process类的应用,就是在fork…join/join_any/join_none中创建,后续控制具体的相关进程的执行的一个内建类。

有以下几点需要注意:

1、process对象的实例不能使用new,只能调用通过内部的静态函数self()来创建

2、process对象创建必须放在fork…join/join_any/join_none之间开启的进程,否则获取全局进程将毫无意义

3、process的加入使得进程可以作为参数在task间传输,进而使得进程的控制更加灵活,而不必像之前一样通过disable LABEL的方式那样局限(这一点在UVM_PHASE应用极为广泛)

下面通过一个更加具体的例子来对process应用小试牛刀:

示例代码
黄色方框内是进程的声明,红色框内是进程的获取(创建),绿色框执行的进程的两个操作分别是关闭进程和等待进程完成,被关闭的进程对应着执行的状态是KILLED,而执行完的进程对应的执行状态是FINISHED。仿真结果如下:
仿真结果

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值