How to factory register class properties, and its real purpose?

Hi,

I have seen factory registering of component and object classes. Can we register the properties inside the class too? What is the syntax for that.

does registering properties like this means, that we can change(or override)any particular variable(or property)of that class before running the test?.

In reply to adharshh:

Registering with the factory is only useful for calsses. You can only exend classes but not single data members. You can override variable by using the config_db. This will be heavily used from the test.

In reply to chr_sue:

What is the need of registering field using this construct??

uvm_component_utils_begin(TYPE) uvm_field_* macro invocations here
`uvm_component_utils_end

By this can we override the field variables?

In reply to adharshh:

Although the macros are tied together, the functionality introduced by factory class type registration and class properties registration are separate.

You can find information about the UVM factory here.

When you extend one of your classes a register it with the factory, you can only add more properties(fields) to the extended class, you cannot override any properties with the field macros.

We strongly discourage the use of the UVM field macros do to their poor performance, and other limitations they impose.