Quantcast
Channel: UVM Forums RSS Feed
Viewing all articles
Browse latest Browse all 756

type_id not in scope when deriving an uvm_object

$
0
0

Hello,

 

The learning curve of UVM is pretty steep... Maybe you can help me climb a little bit faster... ;-)

 

I have a working environment instantiating an agent. Now, I am trying to add a configuration class in my environment. I added a class derived from uvm_object, say:

class a_config extends uvm_object;
   int   buswidth;
   extern function int get_buswidth();
endclass

In the environment, I try to create this configuration:

class my_env extends uvm_env;

  a_config m_config;

  // ...

endclass;

In the build_phase, I try to create it (then I will set it so that the agent in the env can get it):

function void my_env::build_phase(uvm_phase phase);

// ...

if(m_config == null)
  m_config = a_config::type_id::create("m_config",this);

// ...

endfunction;

The compile complains about type_id being not found in the specified scope. If I define a member function in the a_config class, it can be accessed.

Why is the compiler not finding the type_id ?

 

Thank you,

Jean-Luc

 


Viewing all articles
Browse latest Browse all 756

Trending Articles