UVM中uvm_sequencer的方法总结

类声明

class uvm_sequencer #(
  type REQ = uvm_sequence_item,
  RSP = REQ
) extends uvm_sequencer_param_base #(REQ, RSP)

|new|使用给定的名称和父类(如果有)创建该类实例的标准componnet构造函数。|
|stop_sequences|告诉sequencer杀死当前在sequencer上操作的所有sequence和子sequence,并删除当前排队的所有请求、锁定和响应。|

sequencer接口 这是一个与sequencer通信的接口
seq_item_export 该export提供了对该sequencer接口的sequencer实现的访问。
get_next_item 从sequence中检索下一个可用的item项。
try_next_item 如果sequence中有可用项,则从sequence中检索下一个可用项。
item_done 表明请求已经完成。
put 发送响应发回给发送请求的sequence。
get 从sequence中检索下一个可用item项。
peek 如果有一个在FIFO中,则返回当前请求项。
wait_for_sequences 等待sequence有一个可用的新item。
has_do_available 如果在sequencer上运行的任何sequence准备提供transaction,则返回1,否则返回0。

new

function new (
  string name,
  uvm_component parent = null
)

使用给定的名称和父类(如果有)创建该类实例的标准component构造函数。

stop_sequences
virtual function void stop_sequences()
告诉sequencer杀死当前在sequencer上操作的所有sequence和子sequence,并删除当前排队的所有请求、锁定和响应。这实质上是将sequencer重置为空闲状态

sequencer接口
这个一个和sequencer通信的接口。
这个接口定义为

Requests:
virtual task get_next_item (output REQ request);
virtual task try_next_item (output REQ request);
virtual task get (output REQ request);
virtual task peek (output REQ request);
Responses:
virtual function void item_done (input RSP response=null);
virtual task put (input RSP response);
Sync Control:
virtual task wait_for_sequences ();
virtual function bit has_do_available ();

请参阅 uvm_sqr_if_base #(REQ,RSP) 了解这个接口的信息。

seq_item_export

uvm_seq_item_pull_imp #(
  REQ,
  RSP,
  this_type
) seq_item_export

该export提供了对该sequencer接口的sequencer实现的访问。

get_next_item

virtual task get_next_item (
  output REQ t
)

从sequence中检索下一个可用的item。

try_next_item

virtual task try_next_item (
output REQ t
)

如果sequence中有可用项,则从sequence中检索下一个可用项.

item_done

virtual function void item_done (
  RSP item = null
)

表明此请求已经完成。

put

virtual task put (
  RSP t
)

将响应发送回发出请求的sequence。

get
task get (
output REQ t
)
从sequence中检索下一个可用项。

peek

task peek (
  output REQ t
)

如果有一个在FIFO中,则返回当前请求项。

wait_for_sequences
等待sequence有一个可用的新项。

has_do_available
如果在该sequencer上运行的任何sequence准备提供事务,则返回1,否则返回0。

你可能感兴趣的:(UVM,uvm_sequencer)