In reply to m_v:
I’m trying to figure out what your testbench is trying to verify. All the testbench connections and interface BFM code? The diagram shows a DUT, but you said there was none.
Why do you have a memory in the sequence and another in the scoreboard? A memory seems like a component, not part of a string of dynamic transactions. If the sequence is really cool, someone may want to reuse it or start it twice. Would this create a second instance of the memory? Ouch! I would make the memory part of the slave agent, and share it with sequences and the scoreboard.