Get_response function in sequence does not get unblocked after put_response

Hi,

I have a sequence through which I send a request and expect a response back from the driver. I do see that the driver is putting the response using the put_response function, but I don’t see the code after the get_response getting executed.

Sample Sequence code


    start_item(req);
    assert(req.randomize());
    finish_item(req);
    get_response(rsp);
    `uvm_info(get_type_name(), $psprintf("Finished item"), UVM_HIGH);

Sample Driver code


    seq_item_port.get(req); 
    m_bfm.drive(req, rsp);
    rsp.set_id_info(req); 
    `uvm_info(get_type_name(), $psprintf("Putting resp item"), UVM_HIGH);
    seq_item_port.put_response(rsp); 

I don’t see the string “Finished item” getting printed. Can someone explain?

Thanks

In reply to sj1992:

Hard to say with such little code. Make sure all the connections are correct. Makes sure rsp is constructed correctly.

In reply to sj1992:

please check if below link helps:
https://verificationacademy.com/forums/ovm/difference-between-put-and-itemdone-seqitemport