Possible error in documentation?


I try to use scoreboard in conjunction with my own VVC. I follow the example in “UVVM_VVC_Framework_essential mechanism.pdf”.

I understand the examples at pg 11 and 12 13… but IMHO they are wrong. If I use this piece of code:

wait until (global_sbi_vvc_transaction_trigger(C_SBI_VVC_1) = ‘1’) or (global_uart_vvc_transaction_trigger(TX, C_UART_VVC_1) = ‘1’);
if global_sbi_vvc_transaction_trigger(C_SBI_VVC_1)’event then
case shared_sbi_vvc_transaction_info(C_SBI_VVC_1).bt.operation is

my dut_model process adds elements at scoreboard twice. This is because VVCs calls twice the function set_global_vvc_transaction_info.

So, I’m digging into uart tb example and I follow this piece of code:

if uart_tx_transaction_info.bt.operation = TRANSMIT and uart_tx_transaction_info.bt.transaction_status = IN_PROGRESS then

and it works for me.

It could be an error in documentation or I don’t understand something?



You are correct, those examples are outdated. Actually the pdf should’ve been deleted as it is no longer updated. You can check the HTML documentation instead, either in the repository or in https://uvvm.github.io/ there you can find the updated example which checks for “operation” and “transaction_status”.
By the way, the change that was made is that now instead of only triggering when the transaction is IN_PROGRESS it also triggers when it’s COMPLETED, so that is why you get two elements in your scoreboard.