UVM 的sequence 在继承时执行body任务和pre_body任务会影响么?

UVM 的sequence 在继承时执行body任务和pre_body任务会影响么?这是我在学习UVM的路上遇见的一个疑问。我的理解是UVM内部实行的是pre_body/body/post_body任务按顺序调用。没调用之前都是空的,如果自建的sequence实现了就会override, 继承同理。

如果父类有pre_body(), 子类只有body task, 那么当子类会先执行父类的pre_body(),再执行子类的body()。如果子类有实现的pre_body(), 那么子类会先执行自己的pre_body(), 再执行子类的body().

测试代码如下:

class start_seq extends uvm_sequence#(uvm_sequence_item);
    `uvm_object_utils(start_seq)

    function new(string name="start_seq");
        `uvm_info("start_seq", "start_seq new function", UVM_LOW)
    endfunction

    virtual task body();
        `uvm_info("start_seq", "send a my_sequence!!!!", UVM_LOW)
    endtask

    virtual task pre_body();
        `uvm_info("start_seq", "start_seq pre_body task", UVM_LOW)
    endtask
endclass
class next_seq extends start_seq;
    `uvm_object_utils(next_seq)

function new(string name="next_seq
  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值