This document describes an advanced verification methodology for complex system on chip verification. Key aspects of the methodology include:
1. Using constructs like sequencers, virtual sequencers, configuration databases, and channels to enable code reuse and reduce time to market.
2. Developing a reusable test bench architecture with components like drivers, monitors, agents, and an environment class.
3. Implementing a coverage-driven verification approach using phases like build, connect, end-of-elaboration, and run, along with self-checking scoreboards.
4. Applying the methodology resulted in 95% code coverage for verifying a communication system on chip design, with the methodology taking less time than alternatives like system