Functional qualification is an emerging EDA category and a key technology for the rapid improvement and reduction in cost of verification. Today verification costs too much money: engineering salaries, training, EDA software & hardware, silicon masks, product delays, late entry into market, lost market share...
Verification is a process which is repeated during each new IC development project. To manage and improve this process efficiently it must be measured. Before functional qualification there was no complete and objective measure of verification quality. This meant:
- Impossible to know the quality of verification for 3rd party IP
- Slow and difficult for verification engineers to improve their skills
- Difficult to manage the verification activity and leverage knowledge across the organization
To be effective verification must find design bugs. To find a design bug three things must occur during the execution of the verification environment
- the bug must be activated i.e. the code containing the bug is exercised
- the bug must be propagated to an observable point e.g. the outputs of the design
- the bug must be detected i.e. the actual behavior compared with expected behavior
Traditional EDA technology focused on point 3). Techniques such as code coverage and functional coverage ensure that design code is well activated. However, this does not guarantee that design bugs will be propagated and this does not guarantee design bugs will be detected by the checkers/assertions/comparison.
Functional qualification takes a radical new approach in measuring the ability of the verification to find design bugs. Functional qualification automatically inserting artificial bugs into the design and measures if the verification environment can detect the bug.
When a functional qualification tool such as Certitude® from Certess® inserts an artificial bug into the design then executes the verification environment, if the bug is not detected then the cause is classified:
- NonActivated - the related functionality is not exercised in any test sequence
- NonPropagated - the related functionality is activated but the bug cannot propagate to the outputs
- NonDetected - the related functionality is activated and the bug is propagated but the checking is not detecting the change in behavior and so the verification returns a pass result
Organizations which have adopted functional qualification have been able to improve the effectiveness of verification. They can now be proactive in managing the improvement of verification. Verification is a significant cost in the development process and product quality must continuously improve. Adopting functional qualification enables these organizations to build a strategic advantage in verification productivity.
Reserve a session with Certess at DAC 2008 http://www.certess.com/dac