Transactions from ref_model not arriving at scoreboard

I have the following problem:

My reference model ref_model.svh class, extends uvm_component. For each 1x incoming stimulus received at the ref_model I have to generate 10x output stimulus and send them to the scoreboard.

My problem :
The transactions @ref_model are printed correctly, that means i get all tran Nr.0 down to tran Nr.9 logged. But at the @scoreboard, I get the 10x transactions but the transaction is allways the last transaction, i.e. tran Nr.9.

Can anyone try to help me out to find my problem? :slight_smile:

Thank you for the help you can provide.

Without seeing any code, it can be difficult to provide a definitive solution.

Do you clone() your transactions when you send them to the scoreboard? If you re-use transaction handles, then you will be queuing the single handle, resulting in all transactions being the same.

Refer to the UVM Cookbook section on UVM Monitors for more information.

In case it helps future visitors of this post:

As @cgales correctly inferred, the solution is to create a new transaction every time before it is sent @ref_model.

transaction_type my_transaction = new();
// code to fill the transaction
my_port.write(my_transaction);