Zum Inhalt springen

Design for Test

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von Design for testing)

Design for Test, Design for Testing oder Design for Testability (englisch frei für ‚Produktentwicklung für Testfähigkeit‘), kurz DFT, beschreibt eine Methode bei der Entwicklung Integrierter Schaltungen (ICs), die sicherstellen soll, dass das fertige Produkt auf die korrekte Funktionalität getestet werden kann.

Da sich die Anzahl der Transistoren auf ICs nach dem Mooresches Gesetz ca. alle 1–2 Jahre verdoppelt, mussten in den 1970er und 1980er Jahren Strategien entwickelt werden, wie derartige VLSI-Schaltungen effektiv entwickelt, produziert, die Funktionen verifiziert und getestet werden können. Maßgeblich vorangetrieben wurde die Electronic Design Automation durch das 1980 von Carver Mead vom California Institute of Technology und Lynn Conway vom Xerox PARC veröffentlichte Buch Introduction to VLSI Systems.[1]

VLSI-Testkonzepte

[Bearbeiten | Quelltext bearbeiten]

Bei einfachen digitalen integrierten Schaltungen mit nur wenigen (englisch small-scale integration, SSI) bis zu einigen hundert Transistoren (englisch medium-scale integration, MSI) konnte noch von außen mehr oder weniger direkt über Pins auf die Funktionsblöcke zugegriffen und ein kompletter Funktionstest in kurzer Zeit durchgeführt werden. Bei VLSI-ICs wurden die internen Verschaltungen so komplex bei relativ geringer Anzahl der zur Verfügung stehenden PINs, dass ein kompletter Test der gewünschten Funktion sehr aufwendig oder sogar unmöglich war. Andere Test-Konzepte wurden notwendig.

Statt eines Funktionaltests kann ein Test der Struktur durchgeführt werden, d. h. es wird getestet, ob alle Elemente wie Logikgatter, Flipflops und Verbindungen vorhanden sind – und es nicht etwa zusätzliche Verbindungen wie Kurzschlüsse gibt. Diese würden z. B. zu Stuck-at-Faults (dt. Haftfehler) führen, bei denen ein Signal fest auf 0 oder 1 liegt. Dabei geht man davon aus, dass, wenn alle Blöcke und die interne Verdrahtung in Ordnung sind, dann auch das ganze Bauteil funktional in Ordnung ist.

Um die Testbarkeit sicherzustellen, sind zwei Punkte wichtig.[2]

– bedeutet, dass die logische Information an jedem internen Knotenpunkt der Schaltung von außen (durch das Testprogramm) festgelegt werden kann
  • Beobachtbarkeit (englisch observability)
– heißt, dass die Information aller internen Knoten (durch das Testprogramm) ausgelesen werden kann

Hierzu werden zusätzliche Schaltungsteile gebraucht, die für die normale Funktion der Schaltung nicht nötig sind. D. h., um Design for Testing durchzuführen, sind Trade-offs notwendig, wie zusätzliche Chipfläche und Pins und eine evtl. dadurch bedingte längere Entwicklungszeit. Dieses führt auch zu einem größeren Stromverbrauch und – bedingt durch die größere Chipfläche – zu einer geringeren Produktionsausbeute.[2]:344

Eine bewährte Methode die Steuerbarkeit und Beobachtbarkeit zu erreichen, ist durch die Einrichtung eines Scan-Pfades (englisch Scan-Path) einen Scan Test zu ermöglichen.[3] Hierzu werden zum Testen alle internen Flipflops in Reihe geschaltet, gezielt geladen (vorgesetzt) und nach einem Arbeitsschritt wieder ausgelesen. Um einen ähnlichen Test auf Systemlevel zu ermöglichen, können alle Pins mit Flipflops für einen Boundary Scan versehen werden.

Built-in self-test

[Bearbeiten | Quelltext bearbeiten]

Eine weitere Möglichkeit, die innere Struktur eines ICs zu testen, stellt ein eingebauter Selbststest (englisch Built-in self-test, kurz BIST) dar. Eine interne Schaltung erzeugt selbst Testsignale und vergleicht die Antwort mit vorgegebenen, korrekten Ergebnissen und liefert eine Go-/NoGo-Information an das ATE.

Design for testing umfasst nicht nur das Design der Integrierten Schaltung selbst, sondern das ganze Test-Konzept.

Zum Test-Konzept gehört auch die weitere Test-Umgebung, das Automatic Test Equipment und das eigentliche Test-Programm und dessen Entwicklung. Das beinhaltet auch den Akzeptanztest, mit dem sichergestellt werden soll, dass das Bauteil letztendlich auch in der Kunden-Applikation funktioniert. Im Fehlerfall sollte der Test auch eine Lokalisierung des Fehlers auf dem Chip für die Fehleranalyse ermöglichen.

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. Carver Mead, Lynn Conway: Introduction to VLSI Systems. Addison-Wesley, Reading, Mass. 1980, ISBN 0-201-04358-0 (englisch).
  2. a b Miron Abramovici, Melvin A. Breuer, Arthur D. Friedman: Digital System Testing and Testable Design. IEEE-Press, New York 1990, ISBN 0-7803-1062-4 (englisch, AT&T).:343, 344
  3. T. Kobayashi, T. Matsue, and H. Shiba: Flip-Flop Circuit with FLT Capability. In: Proc.IECEO Conference. 1968, S. 962 (englisch).