uvm_do中不同的第一个参数时的用法
当uvm_do的第一个参数是某个transaction的指针时,uvm_do主要包括实例化+随机化和约束+发送;
当uvm_do的第一个参数是某个sequence的指针时,uvm_do主要包括实例化+随机化和约束+启动;
// for a sequence item, the following are called, in order
//| `uvm_create(item)//
//| sequence.wait_for_grant(prior) (task)//
//| this.pre_do(1) (task)
//| item.randomize()//
//| this.mid_do(item) (func)
//| sequencer.send_request(item) (func)//
//| sequencer.wait_for_item_done (taks)//
//| this.post_do(item)
// for a sequence, the following are called in order
//| `uvm_create(sub_seq)//
//| sub_seq.randomize()//
//| sub_seq.pre_start() (task)//
//| this.pre_do(0) (task)
//| this.mid_do(sub_seq) (func)
//| sub_seq.body() (task)
//| this.post_do(sub_seq) (func)
//| sub_seq.post_start() (task)//
浙公网安备 33010602011771号