Software-based self-test for pipelined processors: a case study

Software-based self-test (SBST) for processors and processor-based systems recently captured the interest of test technology researchers and practitioners due to its several advantages over traditional hardware built-in self-test (BIST). In this paper, we demonstrate for first time the full applicability of a recently proposed SBST methodology to a publicly available complex RISC processor implementation which includes a full pipelined architecture consisting of five pipeline stages, hazard detection, data forwarding and exceptions handling. We first show that the straightforward application of SBST routines developed for the nonpipelined version of the RISC processor can only reach a fault coverage less than 85% in the fully pipelined model. Then, we identify and classify areas with poor testability and provide solutions that extend the SBST methodology and achieve fault coverage more than 95% for this complex processor implementation.

[1]  William Lindsay,et al.  FRITS - a microprocessor functional BIST method , 2002, Proceedings. International Test Conference.

[2]  Yervant Zorian,et al.  Instruction-Based Self-Testing of Processor Cores , 2003, J. Electron. Test..

[3]  Yervant Zorian,et al.  Embedded Processor-Based Self-Test , 2004 .

[4]  Jacob A. Abraham,et al.  Program slicing for hierarchical test generation , 2002, Proceedings 20th IEEE VLSI Test Symposium (VTS 2002).

[5]  Dimitris Gizopoulos,et al.  Effective software-based self-test strategies for on-line periodic testing of embedded processors , 2004 .

[6]  Janusz Rajski,et al.  Logic BIST for large industrial designs: real issues and case studies , 1999, International Test Conference 1999. Proceedings (IEEE Cat. No.99CH37034).

[7]  Sujit Dey,et al.  Software-based self-testing methodology for processor cores , 2001, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[8]  Dimitris Gizopoulos,et al.  Software-based self-testing of embedded processors , 2005, IEEE Transactions on Computers.

[9]  Giovanni Squillero,et al.  On the test of microprocessor IP cores , 2001, Proceedings Design, Automation and Test in Europe. Conference and Exhibition 2001.

[10]  Jian Shen,et al.  Native mode functional test generation for processors with applications to self test and design validation , 1998, Proceedings International Test Conference 1998 (IEEE Cat. No.98CH36270).

[11]  Christos A. Papachristou,et al.  Instruction randomization self test for processor cores , 1999, Proceedings 17th IEEE VLSI Test Symposium (Cat. No.PR00146).

[12]  David A. Patterson,et al.  Computer Organization & Design: The Hardware/Software Interface , 1993 .

[13]  Sujit Dey,et al.  A scalable software-based self-test methodology for programmable processors , 2003, DAC '03.