UVM实战-P_SEQUENCER

作用:

为了能更好的在sequence中访问启动该sequence的sequencer类中的变量,我们引用了p_sequencer。

常规做法:

如果不使用p_sequencer,我们想要在sequence访问启动该sequence的sequencer类中的变量,该怎么做呢?

在sequence中的body中,定义一个启动该sequence的sequencer类的变量,然后通过cast进行类型转换后,就可以进行访问。详细参考张强《UVM实战》中代码

使用:

若在sequence访问启动该sequence的sequencer类为my_sequencer,那我们在使用p_sequencer的特性时,只需在在定义sequence时, 使用此宏声明sequencer的类型。如uvm_declare_p_sequencer( my_sequencer) 。 这个宏的本质是声明了一个my_sequencer类型的成员变量 p_sequencer。

UVM之后会自动将m_sequencer通过cast转换成p_sequencer。 这个过程在pre_body( ) 之前就完成了。 因此在sequence中可以直接使用成员变量p_sequencer来引用变量。

截图来自《UVM实战》
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值