High-Level Implementation-Independent Functional Software-Based Self-Test for RISC Processors

The paper proposes a novel high-level approach for implementation-independent generation of functional software-based self test programs for processors with RISC architectures. The approach enables fast generation of manufacturing tests with high stuck-at fault coverage. The main concept of the method is based on separate test generation for the control and data parts of the high-level functional units. For the control part, a novel high-level control fault model is introduced whereas for the data part, pseudo-exhaustive test approaches can be applied to keep the independence from the implementation details. For the control parts, a novel high-level fault simulation method is proposed for evaluating the high-level fault coverage. The approach can be used for easy identification of redundant gate-level faults in the control part. The redundant faults can be identified by simple gate-level fault simulation of the generated high-level test when implementation is available. Experimental results of test generation for different units of a RISC processor support the solutions presented in the paper.

[1]  Raimund Ubar,et al.  DOT: new deterministic defect-oriented ATPG tool , 2005, European Test Symposium (ETS'05).

[2]  Yervant Zorian,et al.  Sequential Fault Modeling and Test Pattern Generation for CMOS Iterative Logic Arrays , 2000, IEEE Trans. Computers.

[3]  Giovanni Squillero,et al.  An RT-level fault model with high gate level correlation , 2000, Proceedings IEEE International High-Level Design Validation and Test Workshop (Cat. No.PR00786).

[4]  Jürgen Alt,et al.  Deterministic test generation for non-classical faults on the gate level , 1995, Proceedings of the Fourth Asian Test Symposium.

[5]  Raimund Ubar,et al.  High-level test generation for processing elements in many-core systems , 2017, 2017 12th International Symposium on Reconfigurable Communication-centric Systems-on-Chip (ReCoSoC).

[6]  Raimund Ubar,et al.  Mixed-level identification of fault redundancy in microprocessors , 2019, 2019 IEEE Latin American Test Symposium (LATS).

[7]  Ying Zhang,et al.  Automatic Test Program Generation Using Executing-Trace-Based Constraint Extraction for Embedded Processors , 2013, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[8]  N VenkateshKumar,et al.  Employing Functional Analysis to Study Fault Models in VHDL , 2012 .

[9]  R. D. Blanton,et al.  Universal fault simulation using fault tuples , 2000, Proceedings 37th Design Automation Conference.

[10]  A. J. van de Goor,et al.  Testing Semiconductor Memories: Theory and Practice , 1998 .

[11]  Bernd Becker,et al.  On the automatic generation of SBST test programs for in-field test , 2015, 2015 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[12]  Raimund Ubar,et al.  How to Prove that a Circuit is Fault-Free? , 2012, 2012 15th Euromicro Conference on Digital System Design.

[13]  Matteo Sonza Reorda,et al.  On the Functional Test of Branch Prediction Units , 2015, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[14]  Weiping Shi,et al.  A circuit level fault model for resistive opens and bridges , 2003, Proceedings. 21st VLSI Test Symposium, 2003..

[15]  A. Jas,et al.  The Region-Exhaustive Fault Model , 2007, 16th Asian Test Symposium (ATS 2007).

[16]  Dong Sam Ha,et al.  SOPRANO: an efficient automatic test pattern generator for stuck-open faults in CMOS combinational circuits , 1991, DAC '90.

[17]  Matteo Sonza Reorda,et al.  Fault-Independent Test-Generation for Software-Based Self-Testing , 2018, 2018 IEEE 24th International Symposium on On-Line Testing And Robust System Design (IOLTS).

[18]  Vishwani D. Agrawal,et al.  Essentials of electronic testing for digital, memory, and mixed-signal VLSI circuits [Book Review] , 2000, IEEE Circuits and Devices Magazine.

[19]  Raimund Ubar,et al.  High-Level Combined Deterministic and Pseudo-exhuastive Test Generation for RISC Processors , 2019, 2019 IEEE European Test Symposium (ETS).

[20]  Kwang-Ting Cheng,et al.  Simulation-Based Functional Test Generation for Embedded Processors , 2006, IEEE Transactions on Computers.

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

[22]  Jacob A. Abraham,et al.  Test Generation for Microprocessors , 1980, IEEE Transactions on Computers.

[23]  Michail Maniatakos,et al.  Systematic Software-Based Self-Test for Pipelined Processors , 2008, IEEE Trans. Very Large Scale Integr. Syst..

[24]  Paolo Bernardi,et al.  On the Functional Test of the Register Forwarding and Pipeline Interlocking Unit in Pipelined Processors , 2013, 2013 14th International Workshop on Microprocessor Test and Verification.

[25]  Douglas B. Armstrong,et al.  On Finding a Nearly Minimal Set of Fault Detection Tests for Combinational Logic Nets , 1966, IEEE Trans. Electron. Comput..

[26]  Li Shen,et al.  A Functional Testing Method for Microprocessors , 1988, IEEE Trans. Computers.

[27]  Friedrich Hapke,et al.  Cell-Aware Test , 2014, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[28]  James R. Armstrong,et al.  B-algorithm: a behavioral test generation algorithm , 1994, Proceedings., International Test Conference.

[29]  Edward J. McCluskey,et al.  Gate exhaustive testing , 2005, IEEE International Conference on Test, 2005..

[30]  Paolo Bernardi,et al.  A SBST strategy to test microprocessors' Branch Target Buffer , 2012, 2012 IEEE 15th International Symposium on Design and Diagnostics of Electronic Circuits & Systems (DDECS).

[31]  Kwang-Ting Cheng,et al.  Delay fault testing for VLSI circuits , 1998 .

[32]  John P. Hayes,et al.  On the properties of the input pattern fault model , 2003, TODE.

[33]  Vishwani D. Agrawal,et al.  Register-transfer level fault modeling and test evaluation techniques for VLSI circuits , 2000, Proceedings International Test Conference 2000 (IEEE Cat. No.00CH37159).

[34]  J. Paul Roth,et al.  Diagnosis of automata failures: a calculus and a method , 1966 .

[35]  Xiaoqing Wen,et al.  VLSI Test Principles and Architectures: Design for Testability (Systems on Silicon) , 2006 .

[36]  Hans-Joachim Wunderlich,et al.  Adaptive Debug and Diagnosis without Fault Dictionaries , 2007, ETS.

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

[38]  Paolo Bernardi,et al.  On the in-field functional testing of decode units in pipelined RISC processors , 2014, 2014 IEEE International Symposium on Defect and Fault Tolerance in VLSI and Nanotechnology Systems (DFT).

[39]  Raimund Ubar,et al.  Parallel Pseudo-Exhaustive Testing of Array Multipliers with Data-Controlled Segmentation , 2018, 2018 IEEE International Symposium on Circuits and Systems (ISCAS).