In reply to chr_sue:
I have implemented code similar to your idea.
class dti_axi4lite_m_burst #(
parameter AXI4LITE_ADDR_WIDTH = 32,
parameter AXI4LITE_DATA_WIDTH = 32
) extends uvm_sequence_item;
`uvm_object_param_utils(dti_axi4lite_m_burst #(AXI4LITE_ADDR_WIDTH, AXI4LITE_DATA_WIDTH))
And in top:
initial begin
`uvm_info("ID", $sformatf("dti_axi4lite_m_burst #(%1d, %1d)", `CFG_AXI4LITE_ADDR_WIDTH, `CFG_AXI4LITE_DATA_WIDTH), UVM_LOW);
end
Result of uvm_info is: UVM_INFO ../src/top/dti_dynamo_tb.sv(124) @ 0.0 ps: reporter [ID] dti_axi4lite_m_burst #(12, 32). Its correct. But
uvm_object_param_utils still can not register type of class to factory.