请教一个基础问题,UVM中new和build
1个回答
展开全部
rsp_port,driver向相应的sequencer发送response。
还有一个new函数,再无其他。
driver内部通过调用get函数来向sequencer索要transaction
相应的uvm_sequencer,派生自uvm_sequencer_param_base,继而派生自uvm_sequencer_base。
class uvm_sequencer #(type REQ=uvm_sequence_item, RSP=REQ) extends uvm_sequencer_param_base (#REQ,RSP)
定义有一个seq_item_export。提供访问这个sequencer的接口实现。
uvm_seq_item_pull_imp #(REQ,RSP,this_type) seq_item_export
其中接口的类型是uvm_sqr_if_base #(REQ,RSP)。
它实现的方法有:get_next_item/try_next_item,先在该sequencer中选择优先级最高的sequence,然后该sequence wait_for_grant,
然后uvm_sequence_base::pre_do,randomized,post_do。
item_done,一旦上一个task被调用,那这个task也必须被调用。表示一个seque
还有一个new函数,再无其他。
driver内部通过调用get函数来向sequencer索要transaction
相应的uvm_sequencer,派生自uvm_sequencer_param_base,继而派生自uvm_sequencer_base。
class uvm_sequencer #(type REQ=uvm_sequence_item, RSP=REQ) extends uvm_sequencer_param_base (#REQ,RSP)
定义有一个seq_item_export。提供访问这个sequencer的接口实现。
uvm_seq_item_pull_imp #(REQ,RSP,this_type) seq_item_export
其中接口的类型是uvm_sqr_if_base #(REQ,RSP)。
它实现的方法有:get_next_item/try_next_item,先在该sequencer中选择优先级最高的sequence,然后该sequence wait_for_grant,
然后uvm_sequence_base::pre_do,randomized,post_do。
item_done,一旦上一个task被调用,那这个task也必须被调用。表示一个seque
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询