In-order transaction completion

Hello,

I have 4 different packet types, burst transactions, coming into the DUT. As the packet is traveling through the DUT, some sub-blocks send requests/responses, with back-pressure but in-order. I need to send the packet completion for each. Some packets just need to send packet done. But, depending on some fields in the packet, some of the packets have to go through all the sub-blocks before sending completion. How can I design the verif system for this to make sure they are all sent in order?

Thanks.

In reply to UVM_beginner:

Hi,

Could anyone help out on this please?

Thanks.

In reply to UVM_beginner:

I’m not really sure what you are asking and what you mean with transaction completion. In the driver you have 2 options:
(1) using get and optional put to put back a rsp
(2) using get_next_item then the completion has to be indicated by item_done. You can pass back a rsp through item_done by passing the rsp as an argument.
Does this answer your question?

In reply to chr_sue:

Thanks chr_sue. Yes.