Uvm sequence

iam getting the warning as body definition undefined if use `uvm_do_with macro and if i call built in methods like create,get_next_item,there will be no warning.

UVM_WARNING @ 0: uvm_test_top.e.a.ms@@seq.req [uvm_sequence_base] Body definition undefined
UVM_WARNING @ 0: uvm_test_top.e.a.ms@@seq.req [uvm_sequence_base] Body definition undefined
UVM_WARNING @ 0: uvm_test_top.e.a.ms@@seq.req [uvm_sequence_base] Body definition undefined

-----sequence code------
class wr_seq extends uvm_sequence#(seq_item);
`uvm_object_utils(wr_seq)

function new(string name=“wr_seq”);
super.new(name);
endfunction

task body();
repeat(10)
begin
seq_item req;
`uvm_do_with(req,{w==1;})
/* req=seq_item::type_id::create(“req”);

    wait_for_grant();
    
  
    if(req.randomize()with{w==1;})
     begin
    send_request(req);
       
    wait_for_item_done();*/
     //end
 end

endtask
endclass

In reply to vinayks:

The warning message you are getting only happens when there is no body() task defined. The contents of the body() task should not change the base behavior.

Since this isn’t a complete set of code, it’s difficult to determine if there are other issues that may generate this warning. Are you perhaps calling ‘super.body()’ somewhere?

In reply to cgales:

thanks for the reply.But iam calling the inbuilt body method,in that iam calling this macro.

no iam not calling super.body() anywhere.
I’ll post the link of the code.please once go through this.

In reply to vinayks:

Your sequence_item ‘seq_item’ is extended from uvm_sequence instead of uvm_sequence_item.

When using the macros, the environment tries to start() the sequence_item, resulting in the warning you are seeing.

In reply to cgales:
hi cgales,
thanks for the reply,now iam able to execute the code