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