Sequence to that respond to done signal

In reply to bachan21:
int addr_q[$]; // declaration of a queu to store addresses

in the body method fill the queue with the proper addresses in the right order (using an assigment pattern or a loop.

task body();
   int tmp_addr;
   addr_q = '{addr1, addr2, ...};

    repeat (10) begin
      req = packet::type_id::create("req");
      tmp_addr = addr_q.pop_front();  // returns the first element of this queue
      start_item(req);
        void`(randomize() with sel == 1; en == 1; addr == tmp_addr;);
      finish_item(req);
   end
endtask