How to register the module in uvm_callback

HI,

how to register the module (not class) in uvm_callback.
Is it possible to do that?
because I want to corrupt the module file parameter by using callback. For that we need to register tha callback class in driver file.
So that time we need to register our callback class file.
uvm_do_callback(class driver,class callback,task callback);

in the place of class driver, I have module . So is it possible to place instead of class driver??

Please provide me an idea about this??

Hi,

Are you attempting to change the module’s parameter during runtime?
I am not sure how that will be possible, as parameter value shall be finalized in compile time or at least during model’s elaboration time (using options below).
UVM become alive only during simulation runtime.

In Questasim:


-g <generic>=<value>

In VCS:


-pvalue+<parameter_hierarchical_name>=<value>

From what I know, this is not possible.

-Baser

Hi,

I understand you are trying to change the normal functionality of the ‘driver’ class and by replacing it with a functionality defined in a module.

I’m afraid you cannot do this. Classes are created at run-time. The UVM Callback feature inserts some tasks/functions to modify the behaviour of a class at run-time. I think that should answer your question about not being able to replace it my a module as modules are created at compile time. However, you can still achieve what you are trying to do by using a class instead.