Scan Test
Scan Test bezeichnet bei digitalen Schaltungen ein Verfahren zum Testen auf fertigungsbedingte Schäden.
Um Fehler in digitalen integrierten Schaltungen zu finden, schlugen Kobayashi et al. in Japan 1968 vor, zum Testen in einem speziellen „Test-Mode“ sämtliche im Entwurf verwendeten (synchron getakteten) Flipflops zu einem Scan-Path (deutsch: Scan-Pfad) hintereinander zu schalten.[1] Das erste und letzte Flip-Flop sind mit einem speziellen Ein- bzw. Ausgang in die Schaltung verbunden. Mit einer Modus-Steuerung kann jetzt zwischen einem Shift-Betrieb und einem Normalbetrieb umgeschaltet werden. Im Shift-Betrieb können bestimmte Testmuster in die Schaltung hineingeschoben und ausgelesen werden. Danach kann z. B. ein Takt im Normalbetrieb laufen, um anschließend das Ergebnis im Schift-Betrieb auszulesen. Bei gegebenem Eingangsbitmuster wird ein bestimmtes Ausgangsbitmuster erwartet. Dieser Vorgang wird so oft wiederholt, bis mit den eingespielten Pattern ein vorher bestimmter größtmöglicher Anteil der Logik getestet, d. h., eine möglichst hohe Testabdeckung erreicht worden ist. Wird bei einem Test nicht das erwartete Ausgangsmuster ausgegeben, wird von ein struktureller Fehler angenommen, der zum Aussortieren der Schaltung führt.
Sämtliche Elemente dieses Testverfahrens, das Erzeugen der Hintereinanderschaltung (scan chain) und die Generierung von Eingangsmustern zum Einspeisen und Ausgangsmuster für den Vergleich werden von Software-Werkzeugen übernommen, meist im Rahmen der Synthese und ATPG (automatic test pattern generation). Hiermit kann eine Fehler-Testabdeckung von nahezu 100 % erreicht werden.[2]
Die Vorschläge von Kobayashi et al. wurden 1975 von S. Funatsu et al. veröffentlicht und bei NEC implementiert.[3][4] Über die JTAG flossen die Ideen über den Boundary Scan Test ab 1990 in den IEEE-Standard 1149.1 ein.[5]
Siehe auch
[Bearbeiten | Quelltext bearbeiten]Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ T. Kobayashi, T. Matsue, and H. Shiba: Flip-Flop Circuit with FLT Capability. In: Proc.IECEO Conference. 1968, S. 962 (englisch).
- ↑ Oliver Schrape: Methodology for Standard Cell-based Design and Implementation of Reliable and Robust Hardware Systems. (PDF) In: Dissertation. Universität Potsdam, 17. Februar 2023, S. 21, abgerufen am 28. März 2025 (englisch).
- ↑ S. Funatsu, N. Wakatsuki, T. Arima: Test Generation Systems in Japan. In: Proc. Design Automation Conf. 1975, S. 114–122 (englisch).
- ↑ Cheng-Wen Wu: Chapter 7 Design for Testability. Lab for Reliable Computing (LaRC), EE, NTHU, 2002, S. 7-7, abgerufen am 28. März 2025 (englisch).
- ↑ IEEE Standard 1149.1 (JTAG) Testability. (PDF) Primer. Texas Instruments, 1997, abgerufen am 27. März 2025 (englisch).