Let’s walk through a typical chip verification flow to get a better understanding of how AI can help. The architecture team starts with building a virtual model of the chip to analyze system performance. From there, the RTL model is developed and linting is done to capture any coding errors. Static verification then kicks off the verification process, where it is used to detect structural errors in the design. Formal verification can then be done to provide a deeper analysis and prove key properties of the design. At the same time, a testbench is developed and tests are run in simulation (and even in emulation) to meet the goals of the verification plan. The simulation results are then debugged, and regressions are run again until verification coverage goals have been met.
Static verification, although effective, can be noisy with a single design flaw creating hundreds or even thousands of violations. This is where AI can step in with automated violation clustering and root-cause analysis (RCA). For example, the Synopsys VC SpyGlass® platform for static verification and Synopsys VC LP for specific low-power static verification include this AI technology. During static verification, the violations are automatically grouped together based on similar characteristics using machine learning. From there, the engineer can utilize RCA to focus on identifying and fixing a particular violation within each cluster that in turn resolves the remaining violations within the corresponding cluster. This automation can improve debug efficiency by up to 10x.
Formal verification is the most effective method for detecting deep bugs in the design that simulation will most likely miss. To do this, formal uses a multitude of powerful engines to prove the often thousands of properties required during verification. Maximizing engine performance is critical to ensure formal verification is efficient. The Synopsys VC Formal™ product is the first formal solution to include AI and ML technology to maximize formal engine use. It uses on-the-fly ML learning as it processes each property and applies that knowledge to subsequent actions. The decisions made for each property are then stored so that future regression runs can leverage that information to achieve faster and stronger results.