Design zum Testen - Design for testing

Design for Testing oder Design for Testability ( DFT ) besteht aus IC-Designtechniken , die einem Hardwareproduktdesign Testbarkeitsmerkmale hinzufügen. Die hinzugefügten Funktionen erleichtern die Entwicklung und Anwendung von Fertigungstests auf die entworfene Hardware. Der Zweck von Herstellungstests besteht darin, zu überprüfen, ob die Produkthardware keine Herstellungsfehler enthält, die die korrekte Funktion des Produkts beeinträchtigen könnten.

Tests werden in mehreren Schritten im Hardware-Herstellungsablauf angewendet und können für bestimmte Produkte auch für die Hardware-Wartung in der Kundenumgebung verwendet werden. Die Tests werden im Allgemeinen von Testprogrammen gesteuert , die mit automatischen Testgeräten (ATE) oder im Falle einer Systemwartung innerhalb des zusammengebauten Systems selbst ausgeführt werden. Zusätzlich zum Auffinden und Anzeigen des Vorhandenseins von Fehlern (dh der Test schlägt fehl) können Tests möglicherweise Diagnoseinformationen über die Art des aufgetretenen fehlgeschlagenen Tests protokollieren. Die Diagnoseinformationen können verwendet werden, um die Fehlerquelle zu lokalisieren.

Mit anderen Worten wird die Antwort von Vektoren (Mustern) von einer guten Schaltung mit der Antwort von Vektoren (unter Verwendung der gleichen Muster) von einem Prüfling (Prüfling) verglichen. Wenn die Antwort gleich ist oder übereinstimmt, ist die Schaltung gut. Andernfalls wird die Schaltung nicht wie vorgesehen hergestellt.

DFT spielt eine wichtige Rolle bei der Entwicklung von Testprogrammen und als Schnittstelle für Testanwendungen und Diagnosen. Die automatische Testmustergenerierung (ATPG) ist viel einfacher, wenn geeignete DFT-Regeln und -Vorschläge implementiert wurden.

Geschichte

DFT-Techniken werden zumindest seit den Anfängen elektrischer / elektronischer Datenverarbeitungsgeräte verwendet. Frühe Beispiele aus den 1940er / 50er Jahren sind die Schalter und Instrumente, mit denen ein Ingenieur die Spannung / den Strom an einigen internen Knoten in einem analogen Computer "scannen" (dh selektiv prüfen) konnte [analoger Scan]. DFT ist häufig mit Entwurfsänderungen verbunden, die einen verbesserten Zugang zu internen Schaltungselementen ermöglichen, so dass der lokale interne Zustand leichter gesteuert ( Steuerbarkeit ) und / oder beobachtet ( Beobachtbarkeit ) werden kann. Die Konstruktionsänderungen können rein physikalischer Natur sein (z. B. Hinzufügen eines physischen Sondenpunkts zu einem Netz) und / oder aktive Schaltungselemente hinzufügen, um die Steuerbarkeit / Beobachtbarkeit zu erleichtern (z. B. Einfügen eines Multiplexers in ein Netz). Während Verbesserungen der Steuerbarkeit und Beobachtbarkeit für interne Schaltungselemente definitiv für den Test wichtig sind, sind sie nicht die einzige Art von DFT. Andere Richtlinien befassen sich beispielsweise mit den elektromechanischen Eigenschaften der Grenzfläche zwischen dem Prüfling und der Prüfausrüstung. Beispiele sind Richtlinien für die Größe, Form und den Abstand von Sondenpunkten oder der Vorschlag, Fahrern, die an untersuchten Netzen angebracht sind, einen hochohmigen Zustand hinzuzufügen , damit das Risiko einer Beschädigung durch Rückwärtsfahren verringert wird.

Im Laufe der Jahre hat die Industrie eine Vielzahl von mehr oder weniger detaillierten und mehr oder weniger formalen Richtlinien für gewünschte und / oder obligatorische DFT-Schaltungsmodifikationen entwickelt und verwendet. Das gemeinsame Verständnis von DFT im Kontext der Electronic Design Automation (EDA) für die moderne Mikroelektronik wird in hohem Maße durch die Fähigkeiten kommerzieller DFT-Softwaretools sowie durch das Fachwissen und die Erfahrung einer professionellen Gemeinschaft von DFT-Ingenieuren geprägt, die forschen und entwickeln und mit solchen Werkzeugen. Ein Großteil des verwandten DFT-Wissens konzentriert sich auf digitale Schaltungen, während DFT für analoge / gemischte Signalschaltungen etwas in den Hintergrund tritt.

Ziele der DFT für Mikroelektronikprodukte

DFT beeinflusst und hängt von den Methoden ab, die für die Testentwicklung, Testanwendung und Diagnose verwendet werden.

Die meisten werkzeuggestützten DFTs, die heute in der Industrie praktiziert werden, zumindest für digitale Schaltungen, basieren auf einem strukturellen Testparadigma. Der Strukturtest unternimmt keinen direkten Versuch festzustellen, ob die Gesamtfunktionalität der Schaltung korrekt ist. Stattdessen wird versucht sicherzustellen, dass die Schaltung aus einigen Bausteinen auf niedriger Ebene korrekt zusammengesetzt wurde, wie in einer strukturellen Netzliste angegeben . Sind beispielsweise alle angegebenen Logikgatter vorhanden, funktionieren sie ordnungsgemäß und sind ordnungsgemäß angeschlossen? Die Bedingung ist, dass wenn die Netzliste korrekt ist und strukturelle Tests die korrekte Montage der Schaltungselemente bestätigt haben, die Schaltung korrekt funktionieren sollte.

Beachten Sie, dass sich dies stark von Funktionstests unterscheidet , bei denen versucht wird, zu überprüfen , ob die zu testende Schaltung gemäß ihrer Funktionsspezifikation funktioniert. Dies hängt eng mit dem Problem der Funktionsüberprüfung zusammen , bei dem festgestellt wird, ob die in der Netzliste angegebene Schaltung die Funktionsspezifikationen erfüllt, vorausgesetzt, sie ist korrekt aufgebaut.

Ein Vorteil des Structural Paradigmas ist , dass Testgenerierung auf Testen eine begrenzte Anzahl von relativ einfachen Schaltungselementen konzentrieren , anstatt mit einer exponentiell explodier Vielzahl von funktionellen umgehen Zustände und Zustandsübergängen. Während die Aufgabe, jeweils ein einzelnes Logikgatter zu testen, einfach klingt, muss ein Hindernis überwunden werden. Bei heutigen hochkomplexen Designs sind die meisten Gates tief eingebettet, während die Testausrüstung nur an die primären Ein- / Ausgänge (E / A) und / oder einige physikalische Testpunkte angeschlossen ist. Die eingebetteten Gatter müssen daher durch dazwischenliegende Logikschichten manipuliert werden. Wenn die dazwischenliegende Logik Zustandselemente enthält, erzeugt das Problem eines exponentiell explodierenden Zustandsraums und einer Zustandsübergangssequenzierung ein unlösbares Problem für die Testgenerierung. Um die Testgenerierung zu vereinfachen, behebt DFT das Problem der Barrierefreiheit, indem komplizierte Zustandsübergangssequenzen vermieden werden, wenn versucht wird, zu steuern und / oder zu beobachten, was an einem internen Schaltungselement geschieht. Abhängig von den DFT-Entscheidungen, die während des Entwurfs / der Implementierung der Schaltung getroffen wurden, kann die Erzeugung von Strukturtests für komplexe Logikschaltungen mehr oder weniger automatisiert oder selbstautomatisiert sein [1] . Ein Hauptziel der DFT-Methoden besteht daher darin, den Designern einen Kompromiss zwischen Menge und Art der DFT und Kosten / Nutzen (Zeit, Aufwand, Qualität) der Testgenerierungsaufgabe zu ermöglichen.

Ein weiterer Vorteil ist die Diagnose eines Schaltkreises für den Fall, dass in Zukunft ein Problem auftritt. Es ist so, als würde man dem Design einige Funktionen oder Bestimmungen hinzufügen, damit das Gerät im Falle eines Fehlers während seiner Verwendung getestet werden kann.

Ich freue mich auf

Eine Herausforderung für die Industrie besteht darin, mit den schnellen Fortschritten in der Chiptechnologie Schritt zu halten (E / A-Anzahl / Größe / Platzierung / Abstand, E / A-Geschwindigkeit, Anzahl der internen Schaltkreise / Geschwindigkeit / Leistung, Wärmesteuerung usw.), ohne dazu gezwungen zu werden Aktualisieren Sie die Testausrüstung kontinuierlich. Moderne DFT-Techniken müssen daher Optionen bieten, mit denen Chips und Baugruppen der nächsten Generation auf vorhandenen Testgeräten getestet werden können und / oder die Anforderungen / Kosten für neue Testgeräte gesenkt werden können. Infolgedessen werden die DFT-Techniken ständig aktualisiert, z. B. die Einbeziehung der Komprimierung, um sicherzustellen, dass die Anwendungszeiten der Tester innerhalb bestimmter Grenzen bleiben, die vom Kostenziel für die zu testenden Produkte vorgegeben werden.

Diagnose

Insbesondere für fortschrittliche Halbleitertechnologien wird erwartet, dass einige der Chips auf jedem hergestellten Wafer Defekte enthalten, die sie funktionsunfähig machen. Das Hauptziel des Testens besteht darin, diese nicht funktionsfähigen Chips zu finden und von den voll funktionsfähigen zu trennen. Dies bedeutet, dass eine oder mehrere vom Tester erfasste Antworten von einem nicht funktionierenden zu testenden Chip von der erwarteten Antwort abweichen. Der Prozentsatz der Chips, die den Test nicht bestehen, sollte daher eng mit der erwarteten Funktionsausbeute für diesen Chiptyp zusammenhängen. In der Realität ist es jedoch nicht ungewöhnlich, dass alle Chips eines neuen Chip-Typs, die zum ersten Mal auf dem Testgelände ankommen, ausfallen (sogenannte Zero-Yield-Situation). In diesem Fall müssen die Chips einen Debug-Prozess durchlaufen, bei dem versucht wird, den Grund für die Null-Rendite-Situation zu ermitteln. In anderen Fällen kann der Testausfall (Prozentsatz der fehlgeschlagenen Tests) höher als erwartet / akzeptabel sein oder plötzlich schwanken. Auch hier müssen die Chips einem Analyseprozess unterzogen werden, um den Grund für den übermäßigen Testausfall zu ermitteln.

In beiden Fällen können wichtige Informationen über die Art des zugrunde liegenden Problems in der Art und Weise verborgen sein, wie die Chips während des Tests ausfallen. Um eine bessere Analyse zu ermöglichen, werden zusätzliche Fehlerinformationen, die über ein einfaches Bestehen / Nichtbestehen hinausgehen, in einem Fehlerprotokoll gesammelt. Das Fehlerprotokoll enthält normalerweise Informationen darüber, wann (z. B. Testerzyklus), wo (z. B. auf welchem ​​Testerkanal) und wie (z. B. Logikwert) der Test fehlgeschlagen ist. Die Diagnose versucht, aus dem Fehlerprotokoll abzuleiten, an welcher logischen / physischen Stelle innerhalb des Chips das Problem höchstwahrscheinlich aufgetreten ist. Durch Ausführen einer großen Anzahl von Fehlern während des Diagnoseprozesses, der so genannten Volumendiagnose, können systematische Fehler identifiziert werden.

In einigen Fällen (z. B. Leiterplatten , Multi-Chip-Module (MCMs), eingebettete oder eigenständige Speicher ) kann eine fehlerhafte getestete Schaltung möglicherweise repariert werden. Zu diesem Zweck muss die Diagnose die fehlerhafte Einheit schnell finden und einen Arbeitsauftrag zum Reparieren / Ersetzen der fehlerhaften Einheit erstellen.

DFT-Ansätze können mehr oder weniger diagnostikfreundlich sein. Die damit verbundenen Ziele von DFT sind die Erleichterung / Vereinfachung der Erfassung und Diagnose von Fehlerdaten in einem Ausmaß, das die Auswahl von Proben mit intelligenter Fehleranalyse (FA) ermöglicht sowie die Kosten, Genauigkeit, Geschwindigkeit und den Durchsatz von Diagnose und FA verbessert.

Scan-Design

Die gebräuchlichste Methode, um Testdaten von Chip-Eingängen an zu testende interne Schaltkreise (kurz CUTs) zu liefern und deren Ausgänge zu beobachten, wird als Scan-Design bezeichnet. Beim Scan-Design sind Register ( Flip-Flops oder Latches) im Design in einer oder mehreren Scan-Ketten verbunden , die verwendet werden, um Zugriff auf interne Knoten des Chips zu erhalten. Testmuster werden über die Abtastkette (n) eingeschoben, funktionale Taktsignale werden gepulst, um die Schaltung während des "Erfassungszyklus (der Erfassungszyklen)" zu testen, und die Ergebnisse werden dann auf Chipausgangspins verschoben und mit dem erwarteten "Gut" verglichen Maschine "Ergebnisse.

Die einfache Anwendung von Scan-Techniken kann zu großen Vektorsätzen mit entsprechend langer Testerzeit und Speicheranforderungen führen. Testkomprimierungstechniken lösen dieses Problem, indem sie den Scan-Eingang auf dem Chip dekomprimieren und den Testausgang komprimieren. Große Verstärkungen sind möglich, da ein bestimmter Testvektor normalerweise nur einen kleinen Bruchteil der Abtastkettenbits setzen und / oder untersuchen muss.

Die Ausgabe eines Scan-Designs kann in Formen wie dem Serial Vector Format (SVF) bereitgestellt werden, die von Testgeräten ausgeführt werden.

Debuggen mit DFT-Funktionen

Scan-Ketten sind nicht nur nützlich für die Herstellung von "Go / No-Go" -Tests, sondern können auch zum "Debuggen" von Chip-Designs verwendet werden. In diesem Zusammenhang wird der Chip im normalen "Funktionsmodus" trainiert (beispielsweise kann ein Computer- oder Mobiltelefonchip Anweisungen in Assemblersprache ausführen). Der Chip-Takt kann jederzeit gestoppt und der Chip in den "Testmodus" umkonfiguriert werden. Zu diesem Zeitpunkt kann der vollständige interne Status mithilfe der Scan-Ketten ausgegeben oder auf einen beliebigen Wert eingestellt werden. Eine andere Verwendung des Scannens zur Unterstützung des Debuggens besteht darin, alle Speicherelemente in einem Anfangszustand zu scannen und dann in den Funktionsmodus zurückzukehren, um ein Systemdebug durchzuführen. Der Vorteil besteht darin, das System in einen bekannten Zustand zu bringen, ohne viele Taktzyklen zu durchlaufen. Diese Verwendung von Abtastketten zusammen mit den Taktsteuerschaltungen ist eine verwandte Unterdisziplin des Logikdesigns, die als "Design for Debug" oder "Design for Debuggability" bezeichnet wird.

Siehe auch

Verweise

  • IEEE Std 1149.1 (JTAG) Testability Primer Eine technische Präsentation zu Design-for-Test, die sich auf JTAG und Boundary Scan konzentriert
  • VLSI-Testprinzipien und -Architekturen , von LT Wang, CW Wu und XQ Wen, Kapitel 2, 2006. Elsevier.
  • Handbuch zur elektronischen Entwurfsautomatisierung für integrierte Schaltkreise , von Lavagno, Martin und Scheffer, ISBN  0-8493-3096-3 Ein Überblick über das Gebiet der elektronischen Entwurfsautomatisierung . Diese Zusammenfassung wurde (mit Genehmigung) aus Band I, Kapitel 21, Design For Test , von Bernd Koenemann abgeleitet.
  1. ^ Ben-Gal I., Herer Y. und Raz T. (2003). "Selbstkorrigierendes Inspektionsverfahren bei Inspektionsfehlern" (PDF) . IIE Transactions on Quality and Reliability, 34 (6), S. 529-540. Zitierjournal benötigt |journal=( Hilfe )
  2. ^ Artikel "Design for Debugging: Der unausgesprochene Imperativ im Chipdesign" von Ron Wilson, EDN, 21.06.2007

Externe Links