Handling input to output delay in Monitor sampling

In reply to uvmsd:

Or use 2 analysis ports. One to store inputs(output part is not significant) and the other to store outputs(input parts are not significant) only after 2 clocks.
Scoreboard would use these two ports to compare?
I use below code in scoreboard to extract the data from write:

 spi_seq_item mon_pkt_qu1[$];

function void write(spi_seq_item mon_pkt);
  mon_pkt_qu.push_back(mon_pkt);
endfunction : write

How do i differentiate write(in monitor) to two different analysis ports? any links?