I have noticed something peculiar about the driver i am using. Previously i used something like:
seq_item_port.get_next_item(req);
$cast(rsp, req.clone());
rsp.set_id_info(req);
drive_transfer(rsp);
seq_item_port.item_done(rsp);
however in this testbench the driver does something like:
DRIVER_ITEM_REQ transaction;
seq_item_port.get_next_item(transaction);
output_port.write(transaction);
drive_transaction(transaction);
seq_item_port.item_done();
I suspect there something going here. As it appears the the sequencer is waiting on part of the tlm transaction.
thoughts always welcome