Abstract
Software-based self-testing strategies have been mainly proposed to tackle microprocessor testing, but may also be applied to peripheral testing. However, testing system peripherals (e.g., DMA controllers, interrupt controllers, and internal counters) is a challenging task, since their observability and controllability are even more reduced when compared to microprocessors and to peripherals devoted to I/O communication (e.g., serial or parallel ports). In this paper an approach to develop functional tests for system peripherals is proposed. The presented methodology requires two correlated phases: module configuration and module operation. The first one prepares the peripheral to work in the different operation modes, whereas the second one is in charge of exciting the whole device and observing its behavior. We propose a methodology that guides the test engineer in building a compact set of test programs able to reach high structural fault coverage levels in a short time. Experimental results demonstrating the method effectiveness for two real-world case studies are finally reported.
Similar content being viewed by others
References
Apostolakis A, Psarakis M, Gizopoulos D, Paschalis A (2007) Functional processor-based testing of communication peripherals in systems-on-chip. IEEE Trans VLSI Syst 15(8):971–975
Apostolakis A, Gizopoulos D, Psarakis M, Ravotto D, Sonza Reorda M (2009) Test program generation for communication peripherals in processor-based SoC devices. IEEE Des Test Comput 26(2):52–63
Bolzani L, Sanchez E, Schillaci M, Sonza Reorda M, Squillero G (2007) An automated methodology for cogeneration of test blocks for peripheral cores. IEEE Int’l On-Line Testing Symposium, pp 265–270
Bushnell ML, Agrawal VD (2000) Essential of electronic testing. Springer
Chandramouli R, Pateras S (1996) Testing systems on a chip. IEEE Spectrum, pp 1081–1093
Chen L, Ravi S, Raghunathan A, Dey S (2003) A scalable software-based self-test methodology for programmable processors. In: Proc. IEEE/ACM Design Automation Conf. 548–553
Corno F, Sanchez E, Sonza Reorda M, Squillero G (2004) Automatic test program generation – a case study. IEEE Des Test Comput 21(2):102–109
Dushina J, Benjamin M, Geist D (2003) Semi-formal test generation and resolving a temporal abstraction problem in practice: industrial application. IEEE/ACM Design Automation Conference, pp 699–704.
Gizopoulos D, Psarakis M, Hatzimihail M, Maniatakos M, Paschalis A, Raghunathan A, Ravi S (2008) Systematic software-based self-test for pipelined processors. IEEE Trans VLSI Syst 16(11):1441–1453
GRLIB IP Library 1.1.0, Aeroflex Gaisler, www.gaisler.com/cms/
Grosso M, Pérez Holguin WJ, Ravotto D, Sanchez E, Sonza Reorda M, Velasco Medina J (2010) Functional test generation for DMA controllers. 11th IEEE Latin-American Test Workshop, pp 1–6.
Grosso M, Pérez Holguin WJ, Ravotto D, Sanchez E, Sonza Reorda M, Velasco Medina J (2010) A software-based self-test methodology for system peripherals. 15th IEEE European Test Symposium pp 195–200.
Huang J-R, Iyer MK, Cheng K-T (2001) A self-test methodology for IP cores in bus-based programmable SoCs. IEEE VLSI Test Symposium, pp 198–203.
Hwang S, Abraham JA (2001) Reuse of addressable system bus for SoC testing. IEEE Int’l ASIC/SoC Conference, pp 215–219.
Kranitis N, Paschalis A, Gizopoulos D, Xenoulis G (2005) Software-based self-testing of embedded processors. IEEE Trans Comput 54(4):461–475
Krstic A, Chen L, Lai W-C, Cheng K-T, Dey S (2002) Embedded software-based self-test for programmable core-based designs. IEEE Des Test Comput 19(4):18–27
Lai W-C, Cheng K-T (2001) Instruction-level DFT for testing processor and IP cores in system-on-a-chip. IEEE/ACM Design Automation Conference, pp 59–64.
Lingappan L, Jha NK (2007) Satisfiability-based automatic test program generation and design for testability for microprocessors. IEEE T VLSI SYST 15(5):518–530
Maxwell PC, Aitken RC, Johansen V, Chiang I (1991) The effect of different test sets on quality level prediction: when is 80% better than 90%? IEEE Int Test Conf pp 358–364
Parvathala P, Maneparambil K, Lindsay W (2002) FRITS – a microprocessor functional BIST method. IEEE Int Test Conf 590–598
Psarakis M, Gizopoulos D, Sanchez E, Sonza Reorda M (2010) Microprocessor software-based self-testing. IEEE Des Test Comput 27(3):4–19
Shen J, Abraham J (1998) Native mode functional test generation for processors with applications to self-test and design validation. In: Proc. IEEE Int Test Conf 990–999
Thatte S, Abraham J (1980) Test generation for microprocessors. IEEE Trans Comput 29(6):429–441
Acknowledgment
The authors would like to thank Danilo Ravotto and Alberto Giraudo for the useful discussions and for performing most of the experiments.
Author information
Authors and Affiliations
Corresponding author
Additional information
Responsible Editor: C. Metra
Rights and permissions
About this article
Cite this article
Grosso, M., Perez Holguin, W.J., Sanchez, E. et al. Software-Based Testing for System Peripherals. J Electron Test 28, 189–200 (2012). https://doi.org/10.1007/s10836-012-5287-2
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10836-012-5287-2