Abstract
We propose a novel strategy of formalized synthesis of Software Based Self-Test (SBST) for testing microprocessors with RISC architecture to cover a large class of high-level functional faults. This is comparable to that used in memory testing which also covers a large class of structural faults such as stuck-at-faults (SAF), conditional SAF, multiple SAF and bridging faults. The approach is fully high-level, the model of the microprocessor is derived from the instruction set and architecture description, and no knowledge about gate-level implementation is needed. To keep the approach scalable, the microprocessor is partitioned into modules under test (MUT), and each MUT is in turn partitioned into data and control parts. For the data parts, pseudo-exhaustive tests are applied, while for the control parts, a novel generic functional control fault model was developed. A novel method for measuring high-level fault coverage for the control parts of MUTs is proposed. The measure can be interpreted as the quality of covering the high-level functional faults, which are difficult to enumerate. We apply High-Level Decision Diagrams for formalization and optimization of high-level test generation for control parts of modules and for trading off different test characteristics, such as test length, test generation time and fault coverage. The test is well-structured and can be easily unrolled online during test execution. Experimental results demonstrate high SAF coverage, achieved for a part of a RISC processor with known implementation, whereas the test was generated without knowledge of implementation details.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Gizopoulos, D., Paschalis, A., Zorian, Y.: Embedded Proecessor-Based Self-Test. Kluwer Academic Publisher, New York (2004)
Gizopoulos, D.: Advances in Electronic Testing. Springer, New York (2014). https://doi.org/10.1007/0-387-29409-0
Chen, L., Dey, S.: Software-based self-testing methodology for processor cores. IEEE Trans. CAD IC Syst. 20(3), 369–380 (2001)
Kranitis, N., Gizopoulos, D., Xenoulis, G.: Software-based self-testing of embedded processors. IEEE Trans. Commun. 54(4), 369–380 (2005)
Gurumurthy, S., Vasudevan, S., Abraham, J.A.: Automatic generation of instruction sequences targeting hard-to-detect structural faults in a processor. ITC (2006)
Chen, C., Wei, T., Gao, H., Lu, T.: Software-based self-testing with multiple-level abstractions for soft processor cores. IEEE Trans. Very Large Scale Integr. VLSI Syst. 15(5), 505–517 (2007)
Gizopoulos, D., et al.: Systematic software-based self-test for pipelined processors. IEEE Trans. Very Large Scale Integr. VLSI Syst. 16(11), 1441–1453 (2008)
Psarakis, M., Gizopoulos, D., Sanchez, E., Sonza, R.M.: Microprocessor software-based self-testing. IEEE Des. Test Comput. 27(3), 4–19 (2010)
Di Carlo, S., Prinetto, P., Savino, A.: Software-based self-test of set-associative cache memories. IEEE Trans. Comput. 60(7), 1030–1044 (2011)
Schölzel, M., Koal, T., Roder, S., Vierhaus, H.T.: Towards an automatic generation of diagnostic in-field SBST for processor components. In: 14th Latin American Test Workshop - LATW, Cordoba, pp. 1–6 (2013)
Changdao, D., et al.: On the functional test of the BTB logic in pipelined and superscalar processors. In: 14th Latin American Test Workshop - LATW, Cordoba, pp. 1–6 (2013)
Bernardi, P., et al.: On the functional test of the register forwarding and pipeline interlocking unit in pipelined processors. In: 14th International Workshop on Microprocessor Test and Verification, Austin, TX, pp. 52–57 (2013)
Bernardi, P., et al.: On the in-field functional testing of decode units in pipelined RISC processors. In: IEEE International Symposium on Defect and Fault Tolerance in VLSI and Nanotechnology Systems (DFT), Amsterdam, pp. 299–304 (2014)
Sanchez, E., Reorda, M.S.: On the functional test of branch prediction units. IEEE Trans. Very Large Scale Integr. VLSI Syst. 23(9), 1675–1688 (2015)
Bernardi, P., Cantoro, R., De Luca, S., Sánchez, E., Sansonetti, A.: Development flow for on-line core self-test of automotive microcontrollers. IEEE Trans. Comput. 65(3), 744–754 (2016)
Riefert, A., Cantoro, R., Sauer, M., Sonza Reorda, M., Becker, B.: A flexible framework for the automatic generation of SBST programs. IEEE Trans. Very Large Scale Integr. VLSI Syst. 24(10), 3055–3066 (2016)
Chen, L., Ravi, S., Raghunathan, A., Dey, S.: A scalable software-based self-test methodology for programmable processors. In: 40th Annual Design Automation Conference (DAC), pp. 548–553 (2003)
Riefert, A., Cantoro, R., Sauer, M., Sonza Reorda, M., Becker, B.: On the automatic generation of SBST test programs for in-field test. In: Design, Automation & Test in Europe Conference & Exhibition (DATE), pp. 1186–1191 (2015)
Zhang, Y., Li, H., Li, X.: Automatic test program generation using executing-trace-based constraint extraction for embedded processors. IEEE Trans. Very Large Scale Integr. VLSI Syst. 21(7), 1220–1233 (2013)
Kranitis, N., Merentitis, A., Theodorou, G., Paschalis, A., Gizopoulos, D.: Hybrid-SBST methodology for efficient testing of processor cores. IEEE Des. Test Comput. 25(1), 64–75 (2008)
Lu, T., Chen, C., Lee, K.: Effective hybrid test program development for software-based self-testing of pipeline processor cores. IEEE Trans. Very Large Scale Integr. VLSI Syst. 19(3), 516–520 (2011)
Shen, J., Abraham, J.A.: Native mode functional test generation for processors with applications to self test and design validation. In: International Test Conference 1998 (IEEE Cat. No. 98CH36270), pp. 990–999 (1998)
Parvathala, P., Maneparambil, K., Lindsay, W.: FRITS - a microprocessor functional BIST method. In: International Test Conference, Baltimore, MD, USA, pp. 590–598 (2002)
Bayraktaroglu, I., Hunt, J., Watkins, D.: Cache resident functional microprocessor testing: avoiding high speed IO issues. In: IEEE International Test Conference, Santa Clara, CA, pp. 1–7 (2006)
Acle, J.P., Cantoro, R., Sanchez, E., Reorda, M.S.: On the functional test of the cache coherency logic in multi-core systems. In: IEEE 6th Latin American Symposium on Circuits & Systems (LASCAS), Montevideo, pp. 1–4 (2015)
Corno, F., Sanchez, E., Reorda, M.S., Squillero, G.: Automatic test program generation: a case study. IEEE Des. Test Comput. 21(2), 102–109 (2004)
Ubar, R.: Fault Diagnosis in Combinational Circuits with Boolean Differential Equations, pp. 1693–1703. Plenum Publishing Corporation, New York (1980)
Holst, S., Wunderlich, H.: Adaptive debug and diagnosis without fault dictionaries. In: 12th IEEE European Test Symposium (ETS 2007), Freiburg, pp. 7–12 (2007)
Karputkin, A., Ubar, R., Raik, J., Tombak, M.: Canonical representations of high-level decision diagrams. Est. J. Eng. 16(1), 39–55 (2010)
Ubar, R., Tsertov, A., Jasnetski, A., Brik, M.: Software-based self-test generation for microprocessors with high-level decision diagrams. In: 5th Latin American Test Workshop - LATW, Fortaleza, pp. 1–6 (2014)
Oyeniran, A. S., Ubar, R., Jenihhin, M., Raik. J.: Implementation-independent functional test generation for RISC microprocessors. In: 2019 IFIP/IEEE 27th International Conference on Very Large Scale Integration (VLSI-SoC), Cuzco, Peru, pp. 82–87 (2019)
Oyeniran, A.S., Azad, P.Z., Ubar, R.: Parallel pseudo-exhaustive testing of array multipliers with data-controlled segmentation. In: IEEE International Symposium on Circuits and Systems (ISCAS), Florence, pp. 1–5 (2018)
MiniMIPS Instruction Set Architecture: Opencore. https://opencores.org/
Patterson, D., Hennessy, J.: Computer Organization and Design. Elsevier, New York (2015)
Armstrong, D.B.: On finding a nearly minimal set of fault detection tests for combinational logic nets. IEEE Trans. Electron. Comput. 15(1), 66–73 (1966)
van de Goor, A.J.: Semiconductor Memories: Theory and Practice. Wiley, New York (1991). pp. 512
Miczo, A.: Digital Logic Testing and Simulation. Wiley, New York (2003). pp. 668
Ubar, R.: Fault diagnosis in combinational circuits by solving Boolean differential equations. Autom. Telemech. 11, 170–183 (1979). (in Russian)
Keller, K.B.: Hierarchical pattern faults for describing logic circuit failure mechanisms. US Patent 5546408, 13 August 1994
Dwarakanath, K.N., Blanton, R.D.: Universal fault simulation using fault tuples. In: Proceedings 37th Design Automation Conference, Los Angeles, CA, USA, pp. 786–789 (2000)
Happke, F., et al.: Cell-aware tests. IEEE Trans. CAD IC Syst. 33(9), 1396–1409 (2014)
Acknowledgments
The work was supported by EU H2020 project RESCUE, Estonian grant IUT 19-1, and Research Center EXCITE.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 IFIP International Federation for Information Processing
About this paper
Cite this paper
Oyeniran, A.S., Ubar, R., Jenihhin, M., Raik, J. (2020). On Test Generation for Microprocessors for Extended Class of Functional Faults. In: Metzler, C., Gaillardon, PE., De Micheli, G., Silva-Cardenas, C., Reis, R. (eds) VLSI-SoC: New Technology Enabler. VLSI-SoC 2019. IFIP Advances in Information and Communication Technology, vol 586. Springer, Cham. https://doi.org/10.1007/978-3-030-53273-4_2
Download citation
DOI: https://doi.org/10.1007/978-3-030-53273-4_2
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-53272-7
Online ISBN: 978-3-030-53273-4
eBook Packages: Computer ScienceComputer Science (R0)