Jump to content
Sign in to follow this  
uvmcraft

issue to access hierachy at compile time in VCS

Recommended Posts

Hi,

 

with VCS, I am trying to register with the uvm factory an object which is embedded inside a SV interface, using the hierarchy name as a type name.

But VCS won't compile, whereas this scheme works with Questa.

 

Here is the code snippet :

 

interface my_if();

 

  import my_pkg::*;

  localparam string my_path=$sformatf("%m");

 

  class my_c

    function new() ....

    typedef uvm_object_registry#(my_c,{"my_c",my_path}) type_id;

    ... etc ...

  endclass

 

  ... etc ...

endinterface

 

 

I may be wrong, but the LRM doesn't seem to specify if this is supposed to work at run/compile time.

Would someone know how to make this functionality work with VCS ?

 

 

Share this post


Link to post
Share on other sites

move the import and the class outside of the scope of the interface.

register the interface using uvm_resource_db set() routine.

contact your local support who can help you with the syntax if you need it.

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
Sign in to follow this  

×