Found this in cookbook
repeat(10) begin
$cast(req_item_c, req_item.clone); // Good practice to clone the req_item item
start_item(req_item_c);
req_item_c.randomize();
finish_item(req_item_c); // Driver has returned REQ with the response fields updated
`uvm_info("body", req_item_c.convert2string())
end
endtask: body
My query is the comment after finish_item which signifies that writing an argument in finish_item will populate the sequence_item with response fields but isn’t finish item is the last point post which transaction is sent to driver via sequencer? As far as I know writing argument in item_done in driver will cause the response field update in sequence_item. Can someone clarify?