类声明
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。