UVM环境搭建BUG记录
Driver put a response with null sequence_id
问题描述:
driver同sequencer之间的通信方式采取get模式。driver负责请求数据,sequencer和item在合适的时间点产生需要的数据。当采用应答的形式时,即driver告知已接收到数据时,需要返回给sequencer一个sequence_id,如若不返回则会出现下图报错。
@Override
Driver put a response with null sequence_id
解决方案:
需要在driver中使用sequence_item自带的函数 set_sequence_id和get_sequence_id能够解决该报错。例子如下:
@Override
class driver extends uvm #(my_trans)
...
task do_drive();
my_trans req, rsp;
@(posedge intf.clk);
forever begin
seq_item_port.get_next_item(req);
this.write(req);
void'($cast(rsp, req.clone()));
rsp.rsp = 1;
rsp.set_sequence_id(req.get_sequence_id());
seq_item_port.item_done(rsp);
end
endtask
...
endclass
后记
2022届在读研究生IC验证菜鸟一枚,希望记录一下成长的过程,欢迎批评和指正。
版权声明:本文为weixin_44029534原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。