Never miss a story from Verification. Subscribe for in-depth analysis and articles.
The increasing functionality of designs is leading to a noticeable rise in the complexity and efforts needed for their verification. The surge in verification efforts is not confined to hardware exclusively, as software integration has introduced a new dimension of intricacy to the product development process. Further, with the rising complexity of software, its verification efforts are enormous and increasing with shrinking technology. The ever-growing hardware and software complexity necessitates an exhaustive verification process, resulting in increased verification challenges and overheads. Unlike other EDA tasks, verification is an infinite problem that staggers the computing power. A billion-gate SoC can have several billions of possible scenarios to be checked to thoroughly verify its functionality.
Traditional tools are focused on the unit level, thus incorporating delays and uncertainties. As design complexity increases, so do verification requirements. More data requires quantifiable verification. Additional system verification is required for power-managed sensors, high-speed mixed signals, and other features. Advanced designs demand enhanced verification predictability and quality. A unified co-verification approach is necessary to address the complexity of verification discontinuity by integrating tools and unifying user interfaces. Therefore, the industry needs a unified, congruent, and holistic approach that combines the best of all the tools rather than just optimizing one aspect of the verification flow. A holistic approach to verification validates all aspects of verification, including architectural and implementation specs, and matches the right tool to the right job. Let us explore why a holistic approach to verification is essential to ensure that the product works for some definition of it and works.
Hardware verification is a complex process that requires careful consideration of various factors such as accuracy, performance, and speed. There are a variety of verification tools available, each with its own strengths and weaknesses. However, none of these tools are perfect for every job. That's why it's crucial to take a more comprehensive approach to hardware verification. By combining existing verification solutions into a cohesive flow, we can catch critical design bugs that may have been missed with point verification solutions. Additionally, by accelerating each verification stage, we can reduce the risk of customers finding defects. The key is to take a holistic approach and address specification defects early in the process. This can be achieved through virtual platforms, which can help us find defects before they become implementation issues. It's time to move away from point verification solutions and embrace a more comprehensive approach to hardware verification. By doing so, we can ensure that our hardware solutions are accurate, reliable, and meet the needs of our customers.
During the verification process, hardware engineers assume that each line of RTL is properly functioning and implemented according to specifications. Meanwhile, software engineers presume that the specifications have been evaluated for accuracy and adequacy and that the hardware is consistent with the specifications. These assumptions can cause issues when the specifications are incomplete or open to interpretation, resulting in conflicting team interpretations. Typically, these differences are unintentionally exposed when running the software.
During verification, the software is essential as it runs on the system. Generally, the software is not in just one component; it's pervasive to the product, requires the entire product, and touches all parts, and we must have that system-level design to verify that the software will run. We can't run software before we know what the whole system is supposed to do.
Traditionally, the system's correctness is not verified because we focus on one aspect at a time. Bringing all aspects of verification together with the holistic approach unifies existing verification solutions and enables reuse across teams and products, reducing total effort by reusing assets. It helps optimize the verification efforts and reduce redundant work to improve productivity. Further, it enables us to validate that the:
So, the scope of verification continues to increase and is part of a product design flow, with hardware as necessarily central to defining a verification flow. Software development is not verification but is very helpful in exposing the defects, and traditional HW verification is not necessarily system verification, and you need a unified holistic approach.