In reply to valuedCustomer:
I have observed the same behavior:
- two bus2reg calls, and the regmodel..read(status, read_value); call from the test returning the data from the first one, which doesn’t have the correct read data, coming from the driver not the monitor (which does have the correct data). This is despite the provides_responses is set to zero
…and solved it in the same manner: duplicating the monitor’s “read response” from the interface in the driver and setting that in the req transaction’s data value
This was tedious to debug and the solution feels like a hack, and seems to be not the way all of this was intended to be. …but it works.
I’m somewhat comforted that its not only me who has observed this behavior. Is there a UVM expert out there who can provide some insight. If someone wants to engage, then I’ll try to put something together on eda playground.