Using AI for Performance Verification of High-End Processors
Raviv Gal, Alex Goldin, et al.
ICPE 2019
The testing and verification of a complex hardware or software system, such as modern integrated circuits found in everything from smartphones to servers, can be a difficult process. One of the most difficult and time-consuming tasks a verification team faces is reaching coverage closure, or hitting all events in the coverage space. Coverage-directed-generation (CDG), or the automatic generation of tests that can hit hard-to-hit coverage events, and thus provide coverage closure, holds the potential to save verification teams significant simulation resources and time. In this paper, we propose a new approach to the CDG problem by formulating the CDG problem as a noisy derivative free optimization problem. However, this formulation is complicated by the fact that derivatives of the objective function are unavailable, and the objective function evaluations are corrupted by noise. We solve this noisy optimization problem by utilizing techniques from direct optimization coupled with a robust noise estimator, and by leveraging techniques from inverse problems to estimate the gradient of the noisy objective function. We demonstrate the efficiency and reliability of this new approach through numerical experiments with a noised quadratic function and an abstract model of part of IBM’s NorthStar processor, a superscalar in-order processor designed for servers.
Raviv Gal, Alex Goldin, et al.
ICPE 2019
Raviv Gal, Gil Shurek, et al.
MLCAD 2019
Raviv Gal, Eldad Haber, et al.
MLCAD 2020
Raviv Gal, Eldad Haber, et al.
MLCAD 2021