Functional Testing of Processor Cores in FPGA-Based Applications

Embedded processor cores, which are widely used in SRAM-based FPGA applications, are candidates for SEU (Single Event Upset)-induced faults and need to be tested occasionally during system exploitation. Verifying a proces- sor core is a difficult task, due to its complexity and the lack of user knowledge about the core-implementation details. In user applications, processor cores are normally tested by executing some kind of functional test in which the individual processor's instructions are tested with a set of deterministic test patterns, and the results are then compared with the stored reference values. For practical reasons the number of test patterns and corresponding results is usually small, which inherently leads to low fault coverage. In this paper we develop a concept that combines the whole instruction-set test into a compact test sequence, which can then be repeated with different input test patterns. This improves the fault coverage considerably with no additional memory requirements.

[1]  Giovanni Squillero,et al.  Automatic test program generation: a case study , 2004, IEEE Design & Test of Computers.

[2]  Yervant Zorian,et al.  Effective software self-test methodology for processor cores , 2002, Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition.

[3]  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).

[4]  Premachandran R. Menon,et al.  BIST-based delay path testing in FPGA architectures , 2001, Proceedings International Test Conference 2001 (Cat. No.01CH37260).

[5]  Kenneth A. LaBel,et al.  Radiation effects on current field programmable technologies , 1997 .

[6]  Hideo Ito,et al.  Testing the logic cells and interconnect resources for FPGAs , 1999, Proceedings Eighth Asian Test Symposium (ATS'99).

[7]  Fabrizio Lombardi,et al.  An approach for testing programmable/configurable field programmable gate arrays , 1996, Proceedings of 14th VLSI Test Symposium.

[8]  Mehdi Baradaran Tahoori Application-Specific Bridging Fault Testing of FPGAs , 2004, J. Electron. Test..

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

[10]  E. A. Burke,et al.  Calculation of Cosmic-Ray Induced Soft Upsets and Scaling in VLSI Devices , 1982, IEEE Transactions on Nuclear Science.

[11]  Yervant Zorian,et al.  Test of RAM-based FPGA: methodology and application to the interconnect , 1997, Proceedings. 15th IEEE VLSI Test Symposium (Cat. No.97TB100125).

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

[13]  Richard D. Eldred Test routines based on symbolic logical statements , 1958, ACM '58.

[14]  Giovanni Squillero,et al.  Fully automatic test program generation for microprocessor cores , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[15]  Charles E. Stroud,et al.  BIST-Based Delay-Fault Testing in FPGAs , 2002, Proceedings of the Eighth IEEE International On-Line Testing Workshop (IOLTW 2002).

[16]  Yervant Zorian,et al.  Different experiments in test generation for XILINX FPGAs , 2000, Proceedings International Test Conference 2000 (IEEE Cat. No.00CH37159).

[17]  Ricardo P. Jasinski,et al.  Fault-Tolerance Techniques for SRAM-Based FPGAs , 2007, Comput. J..

[18]  Mehdi Baradaran Tahoori,et al.  A multi-configuration strategy for an application dependent testing of FPGAs , 2004, 22nd IEEE VLSI Test Symposium, 2004. Proceedings..

[19]  Luigi Carro,et al.  Fault-Tolerance Techniques for SRAM-Based FPGAs (Frontiers in Electronic Testing) , 2006 .

[20]  Hideo Fujiwara,et al.  A test methodology for interconnect structures of LUT-based FPGAs , 1996, Proceedings of the Fifth Asian Test Symposium (ATS'96).

[21]  Sujit Dey,et al.  DEFUSE: a deterministic functional self-test methodology for processors , 2000, Proceedings 18th IEEE VLSI Test Symposium.

[22]  Yervant Zorian,et al.  Testing the Interconnect of RAM-Based FPGAs , 1998, IEEE Des. Test Comput..

[23]  Massimo Violante,et al.  A new functional fault model for FPGA application-oriented testing , 2002, 17th IEEE International Symposium on Defect and Fault Tolerance in VLSI Systems, 2002. DFT 2002. Proceedings..

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

[25]  Robert A. Reed,et al.  The effects of architecture and process on the hardness of programmable technologies , 1999 .

[26]  Ping Chen,et al.  Built-in self-test of logic blocks in FPGAs (Finally, a free lunch: BIST without overhead!) , 1996, Proceedings of 14th VLSI Test Symposium.

[27]  John H. R. May,et al.  Test-adequacy and statistical testing: combining different properties of a test-set , 2004, 15th International Symposium on Software Reliability Engineering.

[28]  T. May,et al.  Alpha-particle-induced soft errors in dynamic memories , 1979, IEEE Transactions on Electron Devices.