"Cannot evaluate parameter override" error is occured when overriding parameter in a class

In reply to chr_sue:
uvm_object_registry#(T, S) macro is a UVM defined macro to register a type to factory. In which, T is type, and S is string of T name. In my code, i generate a param TYPE_NAME to represent name of T which is pass to S argument.

Therefore, you see here:

localparam TYPE_NAME = $psprintf(“dti_axi4lite_m_burst #(%1d, %1d)”, AXI4LITE_ADDR_WIDTH, AXI4LITE_DATA_WIDTH);
`dti_axi4lite_object_utils(dti_axi4lite_m_burst #(AXI4LITE_ADDR_WIDTH, AXI4LITE_DATA_WIDTH), TYPE_NAME)

And

`define dti_axi4lite_object_utils(T, S)
typedef uvm_object_registry#(T, S) type_id; \

I have try a simple way is using `uvm_object_param_utils instead of implement full uvm_object_registry macro. And it has an error which you saw above.