How To Drive Two Packets parallely Inside Driver

In reply to harsh pandya:

The packet which is sent to scoreboard(via analysis port) should be collected from what is actually being driven on the DUT interface(i.e from the monitor using the virtual interface handle) and not from what is received from sequencer.


virtual task get_item();
    forever begin
      seq_item_port.try_next_item(req);
      if(req == null)begin
       :
       :
      end else begin
        //Storing Packet According to Command
        if(req.cmd_e inside {RD,WR})begin
          drive_column_pkt(req);
        end else begin
          drive_row_pkt(req);
        end
      end
      @(negedge mc_driver_vif.ck_t)
      seq_item_port.item_done();

//This task should drive the DUT interface signals as per the protocol
task drive_column_pkt(...);
:
:
endtask
task drive_row_pkt(...);
:
:
endtask

If it is still not working, please show the code where the interface signals are driven.