m_sequencer​与p_sequencer

1. uvm_sequence 属于UVM object ,uvm_sequencer 属于UVM complent, 但是sequence 需要与sequencer通信实现数据传输,因此需要中间媒介。m_sequencer 就是这一媒介,主要目的就是确保sequencer 和 sequence(m_sequencer是uvm_sequencer_base在uvm_sequence_item中申明的句柄)

2.sequence类里有一个uvm_sequencer_base类型m_sequencer指针,当sequence和sequencer关联后,m_sequencer会自动指向该sequencer,但通过m_sequencer不能直接使用seqr里的变量,否则会出现编译错误。只能使用cast强制向子类转换后,才能通过m_sequencer.xxx来访问该seqr内的xxx变量。
   UVM引入p_sequencer,可以自动的实现上面所述的cast动作,从而可以在sequence中自由使用关联sequencer内的变量。
原文链接:https://blog.csdn.net/weixin_46022434/article/details/1058691273.

3. 当平台需要产生多个激励,并且激励之间有协调关系,这个时候就需要使用virutal sequencer 和virtual sequence 协调tb中sequencer 产生协调的激励。

1. 在tc 中的connect phase 链接vittual sequencer 和真实的sequencer

2.在virtual sequencer 中申明真实的sequencer

3.在virtual seq 中使用uvm_do_on()产生激励

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值