Pipelined Monitor strategy

In reply to chr_sue:

I am trying to implement AHB master UVC. I could create pipelined driver, now I want to create AHB monitor. Please suggest me an efficient way to create monitor.
I have few doubts

  1. Should I use semaphore (same as driver) in the monitor as well?
  2. If I capture both address & data phase in one transaction packet in the monitor then by the time I get data phase of 1st transaction, address field of the packet is updated with the address phase of 2nd transaction. So I get wrong information. How to handle this?