UVM环境搭建BUG记录——Driver put a response with null sequence_id

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验证菜鸟一枚,希望记录一下成长的过程,欢迎批评和指正。

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页