Quantcast
Channel: Cadence Functional Verification
Viewing all articles
Browse latest Browse all 652

Tools of the Future: How Cadence Is Using AI to Change Verification

$
0
0

Generative AI is sweeping through every industry, re-writing the way things are done across the world. Tasks that previously required manual repetitions can now be freely automated, letting companies focus on the new rather than iterating. The field of verification is no different—and Cadence is capitalizing on this emerging technology with a wide variety of AI-powered tools that let verification engineers cut down on tedious debugging time, allowing for a focus on innovation.

Traditionally, verification engineers design a chip and a testbench, run the simulation with Xcelium, and then confirm that functional and code coverage requirements have been met or perform a debug trace if they have not. After the debug, the design and testbench are updated, and the cycle continues. This loop is time-consuming and tedious and represents a significant portion of the overall development time.

What if there was a better way?

In this debug and analysis space, Cadence offers several AI-powered verification tools: Verisium WaveMiner, AutoTriage, CodeMiner, and PinDown. Together, these tools assist at all stages of the analysis and debug process, reducing the time spent debugging by up to 10X.

The first step after regression is to use Verisium AutoTriage, which assists with failure classification. The manual analysis of failures is both costly and time-inefficient, especially since failures tend to fall into similar groups. A single issue with a memory access violation could cause a variety of different tests to fail, for example. AutoTriage creates lists of failure clusters by analyzing tests that failed for commonalities. These commonalities can be based on all kinds of factors, including the error messages thrown, the test names, and the runtime in which the failures occurred. It then identifies a unifying thread between these failures, letting an engineer more quickly target root causes.

Figure 1: Verisium AutoTriage organizing failures

As with all AI tools, the more regressions AutoTriage is trained on, the more accurate and effective it becomes. An engineer can review AutoTriage’s initial output and verify and adjust its clustering. The tool will learn from these modifications and provide better, more accurate clustering on future runs.

Knowing what sorts of issues are causing tests to fail is only half the battle, however. An engineer can use Verisium PinDown to help identify which code commits caused the failures.

Figure 2: Verisium PinDown risk prediction

inDown utilizes machine learning to identify the source of a failing testcase—and it can even automatically validate the culprit by rerunning select tests. PinDown is compatible with many revision control systems like Git, Perforce, and Subversion—and using data from these sources, it can even identify unifying external factors that may damage overall code integrity, such as the time of day the bad commits are sent, users who have a history of bad commits, and the number of different users submitting code on the same area.

After this, you have additional options to help root cause failures. Verisium WaveMiner is used to isolate interesting behavior in waveforms by analyzing one or more passing and failing waveforms. The behavior is indicated by a ranking of simulation time and a reduced signal list to give the engineer a leap forward in narrowing down the scope of an issue.

Figure 3: The Verisium WaveMiner flow

WaveMiner can directly invoke the Verisium Debug platform for the engineer to take any relevant actions. WaveMiner is not a waveform comparison tool but rather a deep analysis of the behavior and signals that can cause suspicious behavior. Automating this process provides a significant speedup in debug turnaround time. Customers have seen debugging turnaround time, TAT, reduced from days to just a few hours.

Similarly, for coding contexts, there is Verisisum CodeMiner. CodeMiner identifies and ranks semantic changes between different Xcelium Snapshot versions, while intelligently ignoring harmless changes. It can also rank the complexity of genuine logic changes, letting engineers know where big changes were made in the code.

Figure 4: The Verisium CodeMiner flow

By utilizing these AI tools, an engineer can reach coverage goals with far fewer and significantly more efficient tests than ever before. This is only the beginning, too—that is not all Cadence has in store with AI. There is a whole other set of tools being developed now to further automate parts of the verification process, freeing engineers from all sorts of other tedious parts of testing and debugging.

In further installments of this series, we will delve deeper into Cadence’s AI Verification tools.

The future of verification is here: free your time with Cadence’s new AI verification debugging tools.


Viewing all articles
Browse latest Browse all 652

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>