$cast failed using parameterised uvm_sequence_item class

In reply to Po:


// bus2reg
function void general_ahb_adapter::bus2reg(uvm_sequence_item bus_item, ref uvm_reg_bus_op rw);
    // AHB main Transaction
    ahb_mst_trans#(32,32) ahb_rw = ahb_mst_trans#(32,32)::type_id::create("ahb_rw");
    
    if (!$cast(ahb_rw,bus_item)) begin
        `uvm_fatal("NOT_AHB_TYPE","Provided bus_item is not of the correct type")
        return;
    end
    if(ahb_rw.cmd == AHB_SINGLE_WR) begin
        rw.kind = UVM_WRITE;
        // Capturing data as observed by the bus monitor
        rw.data = ahb_rw.hwdata[0];
    end

I cannot see the class creation, where exactly are you creating your item ? remember both should be parameter specialized anyway.

Regards