In reply to Rao.Bee:
OK, thanks. It looks good.
The sequence does not know a write method. Instead it has a body task. In this task you have to implement how the seq_items should be dreated. It might have insight what you have in your write meothod. Please try the following:
(1) Specify your body task in the sequence like this:
task body();
`uvm_do_with(req,{req.m_hwrite == 1;req.m_hburst == SINGLE;req.m_haddr == addr;req.m_hwdata == data;})
endtask
(2) Remove the write task call from the run_phase in the test.