Jump to content
ggupta

Problem with uvm_object_utils

Recommended Posts

Hi All,

I am getting following error message while using `uvm_object_utils to register a sequence :

  

  1)  m_do_cycle_check is not a class item

  2)  Expecting a function name

  3)  m_uvm_cycle_scopes is not a class item.

 

 

Please let me know if any one knows about these issues.

 

 

Thanks and Regards,

GG

Share this post


Link to post
Share on other sites

I see errors like this when the macro is not called correctly. Check these:

  1. If the object is parameterized you should be using `uvm_object_param_utils (<object_name>#(<parameters>)).
  2. make sure that the argument to the macro contains the name of the class and there are no typos.
  3. Make sure the registration macro isn't called more than once.

Other than that, it would be helpful to see your source code.

Share this post


Link to post
Share on other sites

Thanks for the reply.

Here is the sequence:

 

  class addr_hole_seq extends uvm_sequence # (uvm_sequence_item);

    `uvm_object_utils(addr_hole_seq)

 

After this the tool reports the error.

 

Thanks and Regards,

GG

Share this post


Link to post
Share on other sites

How about showing the exact error message.

 

Also what version of the UVM are you using and are you sure the macro file you are including is from the same version of the package you are importing.

Share this post


Link to post
Share on other sites
class addr_hole_seq extends uvm_sequence # (uvm_sequence_item);
    `uvm_object_utils(addr_hole_seq)
 

In the code you've parameterized with uvm_sequence_item - is that what you meant to do? Or do you have some transaction class derived from uvm_sequence_item that should be used as the parameter?

 

Alan

P.S. As Dave says, the exact error message would be helpful.

Share this post


Link to post
Share on other sites

I just compiled your code (I added the endclass keyword):

class addr_hole_seq extends uvm_sequence # (uvm_sequence_item);
   `uvm_object_utils(addr_hole_seq)
endclass
 

and it compiled fine. Now you need to check elsewhere ... the code preceding this, how you are compiling, etc.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×