Super.build_phase

In one of the Advanced UVM session Tom mentioned that don’t use the super.xxx_phase if the class is extended from the uvm_component. Can any one please explain why it is so.

Thanks & Regards,
Shriramvaraprasad B.

Below is the information available in uvm_component.svh source code

#203
// Any override should call super.build_phase(phase) to execute the automatic
// configuration of fields registered in the component by calling
// <apply_config_settings>.
// To turn off automatic configuration for a component,
// do not call super.build_phase(phase).
//
// This method should never be called directly.

Basically what I understand from it is ,if you want basic ctionality for all the fields registered using `uvm_*_field then don’t call the super.build_phase(); as it contains some extra functions inside of it.

Yes, that’s what I meant. Since we don’t recommend using that functionality, the way to avoid it is to not call super.build().

In reply to yaswanth021:

Hi Yaswanth,

I got the point what you mentioned. Please let me know what are the extra functions which are build when we call super.build_phase().

What I mean is, there are any basic functionality which we are building and it is used in the next phases without knowing that it is implemented in the build_phse().

Thanks & Regards,
Shriramvaraprasad B.