Jump to content

Should user's base classes be registered with factory?

Recommended Posts

We have a number of base classes that inherit from uvm base classes. Our base classes are intended to be inherited from by end user classes; we do not instance these base classes. So far, we have been using `uvm_object_utils, etc. to register our base classes. But we have seen there is quite a compile time overhead to doing that. What do we give up if we do not use `uvm_object_utils for our base classes but do use it for our end user classes? Is it just that we could not include base class fields in the pre-defined methods and if we ever did instance a base class, we could not ever replace it? Or is there another pitfall we may encounter?



Link to comment
Share on other sites

hi mark,

i think there are some things to consider:

1. if the classes are real base classes, then they should be abstract/virtual. (so they are not registered with the factory then)

2. if you dont register the fields via the macros you can still implement the do_(copy,print,...) in order that derived classes handle the fields as if they were normal uvm_field_xxx*

3. if you dont register the fields you also loose auto config thus needing manual extraction of values from the config_db


Link to comment
Share on other sites

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.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...