2.5构建-seq body task之采用uvm_create&uvm_send宏(内部封装了trans or seq例化/start_item/finish_item/seq.start操作)

1.采用uvm_create & uvm_send宏

注1:`uvm_create与`uvm_send宏的第一个参数都可以是sequencer的指针,也可以是transaction的指针;

(1)uvm_create/uvm_create_on调用uvm_sequence_base的create_item函数,并利用factory机制进行seq或seq_item的例化;

(2)uvm_rand_send系列宏与uvm_send宏的区别在于前者包含了trans的随机化过程,即可以省略assert(m_trans.randomize());

注1:对于trans而言,`uvm_send(seq_or_item)封装了start_item()与finish_item();

注2:对于seq而言,`uvm_send(seq_or_item)里面封装了seq.start();

(3) uvm_send_pri与uvm_send相比,前者可以设定优先级;

 

 

 

 

注1:上图中的m_trans.randomize()与`uvm_send可以合并为`uvm_rand_send;

 

posted on 2021-10-16 16:28  知北游。。  阅读(5450)  评论(1)    收藏  举报

导航