Systematic software-based self-test for pipelined processors

Dimitris Gizopoulos, Mihalis Psarakis, Miltiadis Hatzimihail, Mihalis Maniatakos, Antonis Paschalis, Anand Raghunathan, Srivaths Ravi

Research output: Contribution to journalArticle

Abstract

Software-based self-test (SBST) has recently emerged as an effective methodology for the manufacturing test of processors and other components in systems-on-chip (SoCs). By moving test related functions from external resources to the SoC's interior, in the form of test programs that the on-chip processor executes, SBST significantly reduces the need for high-cost, big-iron testers, and enables high-quality at-speed testing and performance binning. Thus far, SBST approaches have focused almost exclusively on the functional (programmer visible) components of the processor. In this paper, we analyze the challenges involved in testing an important component of modern processors, namely, the pipelining logic, and propose a systematic SBST methodology to address them. We first demonstrate that SBST programs that only target the functional components of the processor are not sufficient to test the pipeline logic, resulting in a significant loss of overall processor fault coverage. We further identify the testability hotspots in the pipeline logic using two fully pipelined reduced instruction set computer (RISC) processor benchmarks. Finally, we develop a systematic SBST methodology that enhances existing SBST programs so that they comprehensively test the pipeline logic. The proposed methodology is complementary to previous SBST techniques that target functional components (their results can form the input to our methodology, and thus we can reuse the test development effort behind preexisting SBST programs). We automate our methodology and incorporate it in an integrated software environment (developed using Java, XML, and archC) for the automatic generation of SBST routines for microprocessors. We apply the methodology to the two complex benchmark RISC processors with respect to two fault models: stuck-at fault model and transition delay fault model. Simulation results show that our methodology provides significant improvements for the two fault models, both for the entire processor (12% fault coverage improvement on average) and for the pipeline logic itself (19% fault coverage improvement on average), compared to a conventional SBST approach.

Original languageEnglish (US)
Article number4636714
Pages (from-to)1441-1453
Number of pages13
JournalIEEE Transactions on Very Large Scale Integration (VLSI) Systems
Volume16
Issue number11
DOIs
StatePublished - Nov 1 2008

Fingerprint

Pipelines
Testing
XML
Microprocessor chips
Iron
Costs
System-on-chip

Keywords

  • Functional testing
  • Microprocessor testing
  • Pipeline
  • Software-based self-test (SBST)

ASJC Scopus subject areas

  • Software
  • Hardware and Architecture
  • Electrical and Electronic Engineering

Cite this

Gizopoulos, D., Psarakis, M., Hatzimihail, M., Maniatakos, M., Paschalis, A., Raghunathan, A., & Ravi, S. (2008). Systematic software-based self-test for pipelined processors. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 16(11), 1441-1453. [4636714]. https://doi.org/10.1109/TVLSI.2008.2000866

Systematic software-based self-test for pipelined processors. / Gizopoulos, Dimitris; Psarakis, Mihalis; Hatzimihail, Miltiadis; Maniatakos, Mihalis; Paschalis, Antonis; Raghunathan, Anand; Ravi, Srivaths.

In: IEEE Transactions on Very Large Scale Integration (VLSI) Systems, Vol. 16, No. 11, 4636714, 01.11.2008, p. 1441-1453.

Research output: Contribution to journalArticle

Gizopoulos, D, Psarakis, M, Hatzimihail, M, Maniatakos, M, Paschalis, A, Raghunathan, A & Ravi, S 2008, 'Systematic software-based self-test for pipelined processors', IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 16, no. 11, 4636714, pp. 1441-1453. https://doi.org/10.1109/TVLSI.2008.2000866
Gizopoulos, Dimitris ; Psarakis, Mihalis ; Hatzimihail, Miltiadis ; Maniatakos, Mihalis ; Paschalis, Antonis ; Raghunathan, Anand ; Ravi, Srivaths. / Systematic software-based self-test for pipelined processors. In: IEEE Transactions on Very Large Scale Integration (VLSI) Systems. 2008 ; Vol. 16, No. 11. pp. 1441-1453.
@article{8e142eb17e5d4e8b8bfbabf58ec7987b,
title = "Systematic software-based self-test for pipelined processors",
abstract = "Software-based self-test (SBST) has recently emerged as an effective methodology for the manufacturing test of processors and other components in systems-on-chip (SoCs). By moving test related functions from external resources to the SoC's interior, in the form of test programs that the on-chip processor executes, SBST significantly reduces the need for high-cost, big-iron testers, and enables high-quality at-speed testing and performance binning. Thus far, SBST approaches have focused almost exclusively on the functional (programmer visible) components of the processor. In this paper, we analyze the challenges involved in testing an important component of modern processors, namely, the pipelining logic, and propose a systematic SBST methodology to address them. We first demonstrate that SBST programs that only target the functional components of the processor are not sufficient to test the pipeline logic, resulting in a significant loss of overall processor fault coverage. We further identify the testability hotspots in the pipeline logic using two fully pipelined reduced instruction set computer (RISC) processor benchmarks. Finally, we develop a systematic SBST methodology that enhances existing SBST programs so that they comprehensively test the pipeline logic. The proposed methodology is complementary to previous SBST techniques that target functional components (their results can form the input to our methodology, and thus we can reuse the test development effort behind preexisting SBST programs). We automate our methodology and incorporate it in an integrated software environment (developed using Java, XML, and archC) for the automatic generation of SBST routines for microprocessors. We apply the methodology to the two complex benchmark RISC processors with respect to two fault models: stuck-at fault model and transition delay fault model. Simulation results show that our methodology provides significant improvements for the two fault models, both for the entire processor (12{\%} fault coverage improvement on average) and for the pipeline logic itself (19{\%} fault coverage improvement on average), compared to a conventional SBST approach.",
keywords = "Functional testing, Microprocessor testing, Pipeline, Software-based self-test (SBST)",
author = "Dimitris Gizopoulos and Mihalis Psarakis and Miltiadis Hatzimihail and Mihalis Maniatakos and Antonis Paschalis and Anand Raghunathan and Srivaths Ravi",
year = "2008",
month = "11",
day = "1",
doi = "10.1109/TVLSI.2008.2000866",
language = "English (US)",
volume = "16",
pages = "1441--1453",
journal = "IEEE Transactions on Very Large Scale Integration (VLSI) Systems",
issn = "1063-8210",
publisher = "Institute of Electrical and Electronics Engineers Inc.",
number = "11",

}

TY - JOUR

T1 - Systematic software-based self-test for pipelined processors

AU - Gizopoulos, Dimitris

AU - Psarakis, Mihalis

AU - Hatzimihail, Miltiadis

AU - Maniatakos, Mihalis

AU - Paschalis, Antonis

AU - Raghunathan, Anand

AU - Ravi, Srivaths

PY - 2008/11/1

Y1 - 2008/11/1

N2 - Software-based self-test (SBST) has recently emerged as an effective methodology for the manufacturing test of processors and other components in systems-on-chip (SoCs). By moving test related functions from external resources to the SoC's interior, in the form of test programs that the on-chip processor executes, SBST significantly reduces the need for high-cost, big-iron testers, and enables high-quality at-speed testing and performance binning. Thus far, SBST approaches have focused almost exclusively on the functional (programmer visible) components of the processor. In this paper, we analyze the challenges involved in testing an important component of modern processors, namely, the pipelining logic, and propose a systematic SBST methodology to address them. We first demonstrate that SBST programs that only target the functional components of the processor are not sufficient to test the pipeline logic, resulting in a significant loss of overall processor fault coverage. We further identify the testability hotspots in the pipeline logic using two fully pipelined reduced instruction set computer (RISC) processor benchmarks. Finally, we develop a systematic SBST methodology that enhances existing SBST programs so that they comprehensively test the pipeline logic. The proposed methodology is complementary to previous SBST techniques that target functional components (their results can form the input to our methodology, and thus we can reuse the test development effort behind preexisting SBST programs). We automate our methodology and incorporate it in an integrated software environment (developed using Java, XML, and archC) for the automatic generation of SBST routines for microprocessors. We apply the methodology to the two complex benchmark RISC processors with respect to two fault models: stuck-at fault model and transition delay fault model. Simulation results show that our methodology provides significant improvements for the two fault models, both for the entire processor (12% fault coverage improvement on average) and for the pipeline logic itself (19% fault coverage improvement on average), compared to a conventional SBST approach.

AB - Software-based self-test (SBST) has recently emerged as an effective methodology for the manufacturing test of processors and other components in systems-on-chip (SoCs). By moving test related functions from external resources to the SoC's interior, in the form of test programs that the on-chip processor executes, SBST significantly reduces the need for high-cost, big-iron testers, and enables high-quality at-speed testing and performance binning. Thus far, SBST approaches have focused almost exclusively on the functional (programmer visible) components of the processor. In this paper, we analyze the challenges involved in testing an important component of modern processors, namely, the pipelining logic, and propose a systematic SBST methodology to address them. We first demonstrate that SBST programs that only target the functional components of the processor are not sufficient to test the pipeline logic, resulting in a significant loss of overall processor fault coverage. We further identify the testability hotspots in the pipeline logic using two fully pipelined reduced instruction set computer (RISC) processor benchmarks. Finally, we develop a systematic SBST methodology that enhances existing SBST programs so that they comprehensively test the pipeline logic. The proposed methodology is complementary to previous SBST techniques that target functional components (their results can form the input to our methodology, and thus we can reuse the test development effort behind preexisting SBST programs). We automate our methodology and incorporate it in an integrated software environment (developed using Java, XML, and archC) for the automatic generation of SBST routines for microprocessors. We apply the methodology to the two complex benchmark RISC processors with respect to two fault models: stuck-at fault model and transition delay fault model. Simulation results show that our methodology provides significant improvements for the two fault models, both for the entire processor (12% fault coverage improvement on average) and for the pipeline logic itself (19% fault coverage improvement on average), compared to a conventional SBST approach.

KW - Functional testing

KW - Microprocessor testing

KW - Pipeline

KW - Software-based self-test (SBST)

UR - http://www.scopus.com/inward/record.url?scp=54949095048&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=54949095048&partnerID=8YFLogxK

U2 - 10.1109/TVLSI.2008.2000866

DO - 10.1109/TVLSI.2008.2000866

M3 - Article

VL - 16

SP - 1441

EP - 1453

JO - IEEE Transactions on Very Large Scale Integration (VLSI) Systems

JF - IEEE Transactions on Very Large Scale Integration (VLSI) Systems

SN - 1063-8210

IS - 11

M1 - 4636714

ER -