这篇我们介绍一下sequence 机制的response 属性。
/////sequence1
class sequence1 extends uvm_sequence;
............................
............................
virtual task body();
item1 req1;
item1 rsp1;
repeat(10) begin
req=new("req1");
start_item(req1);
...............
finish_item(req1)
get_response(rsp);
.........................
.........................
.........................
end
endtask
endclass
/////sequence1
///////////driver
class my_driver extends uvm_driver #(item1);
.......................
.......................
.......................
virtual task run_phase(uvm-phase phase);
......................
......................
seq-item_port.get_next_item(req);
...................................................
.........

本文深入探讨UVM sequence的response特性。当driver的item_done返回带参数rsp时,会触发seq_item_export的put_response,进而通过sequence_id找到对应sequence并调用其put_response方法,将rsp存入response_queue。为防止队列溢出,sequence需周期性调用get_response。总结来说,driver的put_response需与sequence的get_response配对使用。
最低0.47元/天 解锁文章
4827

被折叠的 条评论
为什么被折叠?



