Question regarding uvmf_in_order_scoreboard_array and uvmf_out_of_order_scoreboard

Hi
The uvmf_in_order_scoreboard_array and uvmf_out_of_order_scoreboard, both use the get_key function of the transaction. Please correct me if I’m wrong in the following:
When we’re using uvmf_in_order_scoreboard_array, the ‘key’ variable of the transaction should store the logical channel of the transaction. On the other hand, when using uvmf_out_of_order_scoreboard, the ‘key’ variable should be used for numbering the transactions, so that we can differentiate between the first transaction, second transaction, third transaction, etc.
Is my understanding correct?
Thanks

In reply to Farhad:

Hi,

Your understanding of the key use with the uvmf_in_order_array_scoreboard is correct. One small tweak regarding the uvmf_out_of_order_scoreboard, the key identifies unique transactions regardless of transaction predicted order and transaction checking order.

The value of the key can be set using the argument of the set_key virtual method. The value of the key can also be based on member variables of the transaction by overriding either the set_key or get_key virtual methods.

Best regards,
Bob