Do You Have the Next-Generation Verification Flow?
Contributor: Satris Group, Ltd.
January 13, 2011 -- I have been involved in verification projects for the last ten years. One thing I can say for sure is that the level of complexity is ever rising for both design and verification. With more and more ASICs being designed with applications using high computing power for mobile consoles in the consumer market, time-to-market has become critical and there is zero tolerance of being late. At the same time, the increasing power sensitive devices add to the functional requirements. The verification effort grows exponentially rather than in a linear manner with respect to the added features. The reason is simple, when the feature list grows 30%, true verification requires not only 30% more feature checking, but also cross-feature verification. The higher demands coupled with shorter schedules make verification a challenging task.
In addition, globalization brought about knowledge sharing as well as creating tough competition around the world. The rule of the game has become to deliver as fast as possible. As a result, verification professionals need to be constantly looking for the right technologies to be deployed in their verification flows in order to keep up with the pace of change and get ahead of competition. Verification flow can become a competitive advantage for a firm.
Random-based coverage-driven verification (CDV) is becoming an industry standard, and I believe that trying to deliver bug-free ASICs or FPGAs using direct testing is practically impossible. The problem with CDV is that it involves a huge amount of engineering effort to build all the verification environments. This effort is at least as complex as the design itself and many times, even more so. It also requires dedicated teams specializing in environment development. The consequence is that the debugging process has longer iterations. Every time there is a test failure, two engineers, responsible for two different systems (the design and the verification environment) have to find out what went wrong, and only then can the mistakes be corrected. Bug-fixing turn-around time can reach days or even weeks.
This is when automatic formal verification becomes useful. Automatic formal gives the team a way to find many bugs in a much cheaper (found earlier and, therefore, easier to detect, debug and fix) manner. These tools can prove that the design is clean of many issues that can be difficult to find using simulation. These issues include dead code segments, logical equations that are implemented incorrectly (thus giving a constant value), state machines which are deadlocked, pair state machines that lock each other, and even incorrect clock domain crossing problems, such as data stability problems and incorrect control and feedback implementation.
One might say that these tools have no understanding of the functional specification, but in many cases functional bugs are a direct consequence of these kinds of issues in the design. Another might say that most of these bugs can be found by well-designed verification environments. But the great thing about automatic formal-verification tools is that they do not need any verification environment development, which saves a tremendous amount of time and effort. The concept is similar to lint tools. All you need is a short run script and the design itself. When the designer is done with coding, he can use these tools, get answers quickly, and debug on his/her own with a very short turn-around time. All this occurs when the RTL design is being developed, and it is usually much easier to eliminate bugs at this stages, than the bugs found weeks or even months later in the project.
On the whole, automatic formal verification on top of CDV can save between 10% to 15% of the verification effort and give greater confidence that the design is ready for the next steps in the flow. In the competitive environment that we live in, and with the amount of resources put into verification, this saving can make a big difference. Taking the time right now to ensure that you have the right tools in the right place in your verification flow can save you time and money, which equals more revenue for your company.
So, do you have the next-generation verification flow?
Yoav Arnon is Vice President, Technical Services, for Satris Group, Ltd.
Reprinted from SOCcentral.com, your first stop for ASIC, FPGA, EDA, and IP news and design information.