Hi
I'm trying to get started with UVM...
Use the memory model approach in the ubus example, I couldn't get the write working in my code.
In the example, the post_do function uses req.data to update the memory. It seems to me though that this field is never filled with the written data: The pre_do task allocates a new array upon a valid address phase, but only puts data there if it is a read access.
Obviously I miss some lines here, because the example seems to work fine. How does the written data get into req.data?
Thanks for the help
emanuel
PS: If somebody can recommend a good book or similar about UVM, I would appreciate that a lot.

I guess grep gave me the answer:
Line 97 in ubus_slave_driver: resp.data[i] = vif.sig_data;
Somehow confusing that the driver actually samples data.
Regards,
emanuel
Please take a look at the Verification Academy on-line cookbook:
http://verificationacademy.com/uvm-ovm
It has code examples that you can download, these illustrate the best practices described in the book.
There are also some videos on UVM that you can watch - See Academy Modules, they may also be of help.