The ever growing demand for functionally robust and error-free industrial electronics necessitates the development of techniques that will prohibit the propagation of functional errors to the final tape-out stage. This paramount requirement in the semiconductor world is imposed by the equivocal observation that functional errors slipping to silicon production introduce immense amounts of cost and jeopardize chip release dates. Functional verification and debugging are burdened with the tedious task of guaranteeing logic functionality early in the design cycle. In this paper, we present an automated method for the very first stage of functional debugging, called failure triage. Failure triage is the task of analyzing large sets of failures, grouping together those that are likely to be caused by the same design error, and then allocating those groups to the appropriate engineers for fixing. The introduced framework instruments techniques from the machine learning domain combined with the root cause analysis power of modern SAT-based debugging tools, in order to exploit information from error traces and bin the corresponding failures using clustering algorithms. Preliminary experimental results indicate an average accuracy of 93 % for the proposed failure triage engine, which corresponds to a 43 % improvement over conventional automated methods.
[1]
Andreas G. Veneris.
Fault diagnosis and logic debugging using Boolean satisfiability
,
2003,
Proceedings. 4th International Workshop on Microprocessor Test and Verification - Common Challenges and Solutions.
[2]
Harry D. Foster,et al.
Assertion-Based Design
,
2010
.
[3]
Anil K. Jain,et al.
Algorithms for Clustering Data
,
1988
.
[4]
Melvin A. Breuer,et al.
Digital systems testing and testable design
,
1990
.
[5]
Shi-Yu Huang,et al.
Formal Equivalence Checking and Design Debugging
,
1998
.
[6]
Gábor J. Székely,et al.
Hierarchical Clustering via Joint Between-Within Distances: Extending Ward's Minimum Variance Method
,
2005,
J. Classif..