Jump to content
Sign in to follow this  
rishifrnds

Issues while migrating from uvm-1.1 to uvm-1.2

Recommended Posts

i was migrating from uvm-1.1 to uvm-1.2. In the release note, it's mentioned that :


==============================================================================


Topic: Migrating code using UVM 1.2

 

To ease the process of migrating code to UVM 1.2,

the old (incorrect) behavior remain available.

To restore the old behavior, it is necessary to define

the `UVM_OBJECT_DO_NOT_NEED_CONSTRUCTOR symbol when compiling the UVM library:

 

| % ... +define+UVM_OBJECT_DO_NOT_NEED_CONSTRUCTOR uvm_pkg.sv

==============================================================================

 

even after doing this i am getting below warning :

==============================================================================


UVM_WARNING /remote/vip/apps/UVM/uvm-1.2/uvm-1.2/src/base/uvm_resource.svh(1416) @ 0.00 ps: reporter [uVM/RSRC/NOREGEX] a resource with meta characters in the field name has been created "device0.satasvc_device_vars"

UVM_WARNING /remote/vip/apps/UVM/uvm-1.2/uvm-1.2/src/base/uvm_resource.svh(1416) @ 0.00 ps: reporter [uVM/RSRC/NOREGEX] a resource with meta characters in the field name has been created "device0.satasvc_device_vars.xport0"

==============================================================================

 

These are the warnings from library(when no macro is passed during compilation):

==============================================================================


`ifndef UVM_NO_DEPRECATED

begin

for(int i=0;i<name.len();i++) begin

if(name.getc(i) inside {".","/","[","*","{"}) begin

`uvm_warning("UVM/RSRC/NOREGEX", $sformatf("a resource with meta characters in the field name has been created \"%s\"",name))

break;

end

end

end

 

`endif 

==============================================================================


 


Passing UVM_NO_DEPRECATED during compile time is wrong idea, because this macro is used in others files in library too, and i dont have any idea, what this macro does.

Please suggest me how to get rid of these warnings. 

 

Thanks

 

Share this post


Link to post
Share on other sites

hi,

 

the NOREGEX warning is new behaviour and cannot be switched with -define UVM_NO_DEPRECATED. also UVM_OBJECT_DO_NOT_NEED_CONSTRUCTOR and the NOREGEX warning are unrelated. the point here is that you are creating a resource (probably via a ::set()) with the name "device0.satasvc_device_vars.xport0" which has dots in it. essentially the check complains that you are using a field name with dots. that can lead to ambiguities in outputs etc.

 

/uwe 

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  

×