在UVM中,激励的基本类型是uvm_sequence_item,激励由sequence产生,通过挂载的方式,将sequence产生的item发送到管道sequencer中,sequencer通过TLM端口的方式,将item发送给driver。
1. uvm_sequence_item(uvm_object类)
2. uvm_sequence(参数化的uvm_object类)
发送item/seq的方法:
(1) task body()
create_item(bus_trans::get_type, m_sequencer, "req");
实际上可以将他的行为拆分成创建和挂载两步:
创建:采用factory机制来创建item,返回的是uvm_sequence_item类型句柄指向的子类的对象,要做一个句柄的转化
挂载:将item挂载在m_sequencer上
start_item(req);
req.randomize();
finish_item(req);
get_response(rsp);(若item_done()有返回rsp)
(2) 通过宏的定义发送item或者挂载seq,也是在task body中运行
`uvm_do(item/seq)
`uvm_do_with(item/seq)
`uvm_do_on(seq)
`uvm_do_on_with(seq)
`uvm_do_on_with(seq)
UVM知识之UVM序列
最新推荐文章于 2025-03-13 00:12:19 发布