Post-Silicon Validation of Processor Cores

Verification remains an integral and crucial phase of the modern microprocessor design and manufacturing process. Unfortunately, with soaring design complexities and decreasing time-to-market windows, today’s verification approaches are incapable of fully validating a processor design before its release to the public. Increasingly, post-silicon validation is deployed to detect complex functional bugs, in addition to exposing electrical and manufacturing defects. This is due to the significantly higher execution performance offered by post-silicon methods, compared to pre-silicon approaches. We begin this chapter with an overview of traditional post-silicon validation techniques, as reported by the industry.We pay special attention to error detection and debuggingmethodologies discussed in the literature and identify several crucial drawbacks in traditional post-silicon techniques. In particular, we show how the performance of architectural simulators, used to determine the correctness of post-silicon tests, have become a bottleneck in current methodologies.We then discuss in detail a novel solution to address this issue, called Reversi. Reversi generates random programs in such a way that their correct final state is known at generation time, thus completely eliminating the need for architectural simulation. At the end of the chapter, we demonstrate experimentally that Reversi generates tests exposingmore bugs faster, and can speed up post-silicon validation by 20 times, when compared to traditional flows.

[1]  Valeria Bertacco,et al.  Reversi: Post-silicon validation system for modern microprocessors , 2008, 2008 IEEE International Conference on Computer Design.

[2]  G. Woods,et al.  Optical probing of flip-chip-packaged microprocessors , 2000, 2000 IEEE International Solid-State Circuits Conference. Digest of Technical Papers (Cat. No.00CH37056).

[3]  Igor L. Markov,et al.  Automatic error diagnosis and correction for RTL designs , 2007, 2007 IEEE International High Level Design Validation and Test Workshop.

[4]  Gérard Memmi,et al.  A reconfigurable design-for-debug infrastructure for SoCs , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[5]  H. G. Rotithor,et al.  Postsilicon Validation Methodology for Microprocessors , 2000, IEEE Des. Test Comput..

[6]  Tommy Bojan,et al.  Functional coverage measurements and results in post-Silicon validation of Core™2 duo family , 2007, 2007 IEEE International High Level Design Validation and Test Workshop.

[7]  Jai Kumar,et al.  Post-silicon verification methodology on Sun’s UItraSPARC T2 , 2007, 2007 IEEE International High Level Design Validation and Test Workshop.

[8]  Timothe Litt,et al.  Support for debugging in the Alpha 21364 microprocessor , 2002, Proceedings. International Test Conference.

[9]  Derek Feltham,et al.  Full Hold-Scan Systems in Microprocessors: Cost/Benefit Analysis , 2004 .

[10]  Bob Bentley Validating the Intel(R) Pentium(R) 4 microprocessor , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[11]  Igor L. Markov,et al.  Simulation-based bug trace minimization with BMC-based refinement , 2005, ICCAD-2005. IEEE/ACM International Conference on Computer-Aided Design, 2005..

[12]  D. B. Davis,et al.  Sun Microsystems Inc. , 1993 .

[13]  L. Fanucci,et al.  An Integrated Flow from pre-Silicon Simulation to post-Silicon Verification , 2006, 2006 Ph.D. Research in Microelectronics and Electronics.