What happens when a driver calls seq_item_port.put_response() with a response associated a request sequence item where the sequence that sent the request sequence item has terminated (and taken its response queue with it)?
I'm not talking about a programming error condition where the sequence shouldn't have terminated. I'm talking about a real use case where the sequence did not want to wait for the response. And there would be other sequences working with this driver that did want to wait for and get their responses.
It seems to be "handled" by the UVM code. Presumably the code under the hood for put_response sees that the response queue (or sequence) is no longer running and just does nothing.
I'm wondering if this is intentional in the UVM implementation, and an expected usage model, or I'm just getting lucky and the current implementation happens to work for me.
Thanks.
Walker