vjdivya Posted January 25, 2012 Report Share Posted January 25, 2012 Hi, I am trying to convert our existing VMM env to a UVM based env. Was trying to convert the vmm_data classes to uvm_sequence_items as a first step. The object_utils says it takes care of copy, compare etc. How do I know which all other utilities I should call, like should I call a do_pack or does it automatically comes with thie object_utils etc. I have refered the UVM class reference manual ; but it doesn't give me a template of a sample uvm_sequence_item class and the sequencer classes.. Also directing me to any links/documents etc will help me a lot.. Thanks in advance.. Quote Link to comment Share on other sites More sharing options...
dave_59 Posted January 25, 2012 Report Share Posted January 25, 2012 I highly recommend not using the `uvm_field macros and writing the utility methods yourself. There is tremendous overhead in the automation of these functions. See http://verificationacademy.com/uvm-ovm/MacroCostBenefit for examples and a link to the DVCon2011 best-paper award. Quote Link to comment Share on other sites More sharing options...
uwes Posted January 25, 2012 Report Share Posted January 25, 2012 hi, cadence usually recommends to use the field macros in order to benefit from a short and concise description which for most users ends up in a faster development. the macros implement for you in a generic way common functionality you typically shouldnt really care about. The performance hit by using the macros heavily depends upon your application and should be weighted against the time to develop and keep pack/copy/compare/print upto date. keep in mind that this is not really an all or nothing decision - you can start with macros and then start optimizing if required. BTW1: the macros+implementation has been optimized in 2011 and some bottlenecks have been eliminated. BTW2: there is a simple rule in UVM: as a user you CALL "(pack|print|copy|compare|...)" and if you got own functionality you need then you implement this in "do_(pack|print|copy|...)". have a look into the UVM user guide and its examples for examples. regards /uwe Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.