icarus035 Posted October 12, 2011 Report Share Posted October 12, 2011 (edited) Hi, I have the following problem: I have 2 classes: class1 extends uvm_monitor `uvm_component_utils_begin(class1) ... `uvm_component_utils_end ... endclass and second class which extends the previous: class2 extends class1 `uvm_component_utils(class2) ... endclass I am using Cadence irun tool (ncverilog, ncelab), the latest one - incisive 10.20.029 I see warning: Type "class2" is already registered with the factory. I tried using `uvm_component_param_utils instead (in both classes) because this seemed to help in some previous cases I had with parameterized classes, but here the result is the same. If I remove `uvm_component_utils macro from class2, then when I try to override class1 with class2 from the test, I get error that class2 is not registered with the factory. Please, any ideas what causes this warning and how to remove it? Thanks. Edited October 12, 2011 by icarus035 Quote Link to comment Share on other sites More sharing options...
uwes Posted October 12, 2011 Report Share Posted October 12, 2011 hi, im not aware of an issue in that area. the message basically says that you are trying to register a string type name for a class in the factory but a class with the same name has already registered that typename. here are some points you may want to check: 1. you will see this warning - if you declare a class with the same name in different scopes (same class name in different packages, different modules/classes ) - if you include the file with the class decl multiple times - if you use a param class and not use the _param_ version of the macros 2. you might cross check with the examples in the examples directory Quote Link to comment Share on other sites More sharing options...
icarus035 Posted October 12, 2011 Author Report Share Posted October 12, 2011 I seems I have included the file with the class two times. Problem solved. Thanks. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.