In reply to silverace99:
Hi,
It appears that part of the example code is missing. The code on the github repository for the examples looks like this:
$display("COMMAND MONITOR: A:0x%2h B:0x%2h op: %s", A, B, cmd.op.name());
ap.write(cmd);
endfunction : write_to_monitor
/// The function below is missing in your example above
function operation_t op2enum(bit[2:0] op);
case(op)
3'b000 : return no_op;
3'b001 : return add_op;
3'b010 : return and_op;
3'b011 : return xor_op;
3'b100 : return mul_op;
3'b111 : return rst_op;
default : $fatal($sformatf("Illegal operation on op bus: %3b",op));
endcase // case (op)
endfunction : op2enum
function new (string name, uvm_component parent);
super.new(name,parent);
endfunction
endclass : command_monitor
Best,
Ray