Coverage Driven Verification of NVMe Using Questa VIPJuly 29, 2020 by Mentor Graphics
Verification planning requires identification of the key features from the design specification, along with prioritization and testing of the functionality that leads to coverage model development. Functional coverage is an integral part of verifying the completeness of an IP. The key to functional coverage is making an exhaustive verification plan containing cover points and crosses, which are extracted from the protocol specification.
NVMe is an interface specification for PCI Express based solid-state drives focusing on low latency, scalability, and security. NVMe is a host controller interface and storage protocol that utilizes high-speed data transfer between enterprise and client systems and SSDs over a computer’s high-speed PCIe bus.
As design complexity increases, debugging a bug in the design code can become quite difficult. This can be avoided by making a detailed test plan covering all possible scenarios. Achieving 100% functional coverage would ensure that the testing has been completed in accordance with the test plan. An NVMe subsystem can be comprised of multiple controllers, which increases the complexity of verification as design behavior is controller specific. Therefore, coverage metrics play an important role in NVMe as coverage should come out to be the same for all the controllers.
In this white paper by Mentor, a Siemens Business, explore the need for coverage-driven verification for Non-Volatile Memory Express (NVMe) and learn more about how QVIP achieves this.