I do it
....
task run_phase(uvm_phase phase);
calc_trans tx;
repeat(300)
begin
@(posedge ifc.clk);
tx=calc_trans::type_id::create("tx");
tx.a = ifc.a;
tx.b = ifc.b;
tx.opcode = ifc.opcode;
tx.res=ifc.res;
tx.error=ifc.error;
// run write function from scoreboard
aport.write(tx);
end
endtask: run_phase
endclass: calc_monitor
Where is my problem ?