Design zum Testen

Design zum Testen oder Design für Testbarkeit (DFT) besteht aus IC -Design Techniken, die einem Hardwareproduktdesign Testbarkeitsfunktionen hinzufügen. Die hinzugefügten Funktionen erleichtern die Entwicklung und Anwendung von Fertigungstests auf die entworfene Hardware. Der Zweck der Herstellung von Tests besteht darin, zu validieren, dass die Produkthardware keine Herstellungsfehler enthält, die sich nachteilig auf die korrekte Funktion des Produkts auswirken könnten.

Tests werden bei mehreren Schritten in der Hardwareherstellung Fluss und für bestimmte Produkte können auch für die Wartung der Hardware in der Umgebung des Kunden verwendet werden. Die Tests werden im Allgemeinen von gesteuert Testprogramme das wird mithilfe von verwendet Automatische Testgeräte (Aß) oder im Falle einer Systemwartung innerhalb des montierten Systems selbst. Zusätzlich zum Auffinden und Hinweis auf das Vorhandensein von Defekten (d. H. Der Test schlägt fehl) können Tests möglicherweise diagnostische Informationen über die Art des aufgetretenen Tests loggen. Die diagnostischen Informationen können verwendet werden, um die Quelle des Fehlers zu lokalisieren.

Mit anderen Worten, die Reaktion von Vektoren (Mustern) aus einer guten Schaltung wird mit der Reaktion von Vektoren (unter Verwendung derselben Muster) aus einem niederländischen (zu testenden Gerät) verglichen. Wenn die Antwort gleich ist oder übereinstimmt, ist die Schaltung gut. Andernfalls wird die Schaltung nicht so hergestellt, wie er beabsichtigt war.

DFT spielt eine wichtige Rolle bei der Entwicklung von Testprogrammen und als Schnittstelle für die Testanwendung und -diagnose. Automatische Testmustererzeugungoder ATPG ist, wenn geeignete DFT -Regeln und Vorschläge implementiert wurden.

Geschichte

DFT -Techniken werden mindestens seit den frühen Tagen der Elektro-/elektronischen Datenverarbeitungsgeräte angewendet. Frühe Beispiele aus den 1940er/50er Jahren sind die Schalter und Instrumente, mit denen ein Ingenieur den Spannung/den Strom an einigen internen Knoten in einem "scannen" (d. H. Selektiv sonden). Analoger Computer [Analoger Scan]. DFT ist häufig mit Entwurfsänderungen verbunden, die einen verbesserten Zugang zu internen Schaltungselementen ermöglichen, sodass der lokale interne Zustand kontrolliert werden kann (kontrolliert werden kann (Kontrollierbarkeit) und/oder beobachtet (Beobachtbarkeit) noch einfacher. Die Entwurfsänderungen können streng physikalischer Natur sein (z. B. Hinzufügen eines physikalischen Sondenpunkts zu einem Netz) und/oder aktive Schaltungselemente hinzufügen, um die Kontrollierbarkeit/Beobachtbarkeit zu erleichtern (z. B. Einfügen a Multiplexer in ein Netz). Während die Verbesserungen der Kontrollierbarkeit und der Beobachtbarkeit für interne Schaltungselemente definitiv für den Test wichtig sind, sind sie nicht die einzige Art von DFT. Andere Richtlinien machen sich beispielsweise mit dem befassen elektromechanisch Eigenschaften der Schnittstelle zwischen dem zu testenden Produkt und den Testgeräten. Beispiele sind Richtlinien für die Größe, Form und den Abstand von Sondenpunkten oder den Vorschlag, a hinzuzufügen Hochformanzzustand an Fahrer, die an untersuchte Netze gebunden sind, so dass das Risiko eines Schadens durch Rückfahrten gemindert wird.

Im Laufe der Jahre hat die Branche eine Vielzahl von mehr oder weniger detaillierten und weniger formellen Richtlinien für die gewünschten und/oder obligatorischen DFT -Schaltungsänderungen entwickelt und verwendet. Das gemeinsame Verständnis von DFT im Kontext von Elektronische Designautomatisierung (EDA) für moderne Mikroelektronik wird in hohem Maße durch die Fähigkeiten kommerzieller DFT -Software -Tools sowie durch das Know -how und die Erfahrung einer professionellen Gemeinschaft von DFT -Ingenieuren geformt, die solche Tools erforschen, sich entwickeln und nutzen. Ein Großteil des verwandten DFT-Wissens konzentriert sich auf digitale Schaltkreise, während die DFT für analoge/gemischte Signalkreise so etwas wie ein Rücksitz erfolgt.

Ziele von DFT für Mikroelektronikprodukte

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

Die meisten mit Werkzeuge unterstützten DFT werden heute zumindest für digitale Schaltkreise in der Branche praktiziert Strukturtest Paradigma. Der Strukturtest macht keinen direkten Versuch, festzustellen, ob die Gesamtfunktionalität der Schaltung korrekt ist. Stattdessen versucht es sicherzustellen Netzliste. Zum Beispiel sind alle angegeben Logik -Tore Präsentieren, korrekt arbeiten und richtig angeschlossen? Die Bestimmung ist, dass, wenn die Netzliste korrekt ist und Strukturprüfung die korrekte Montage der Schaltungselemente bestätigt hat, die Schaltung korrekt funktioniert.

Beachten Sie, dass dies sehr unterschiedlich ist von Funktionsprüfung, was versucht zu validieren, dass der in die Test testende Schaltkreis gemäß ihrer Funktionsspezifikation funktioniert. Dies ist eng mit dem verwandt mit Funktionale Überprüfung Problem der Bestimmung, ob die von der Netzliste angegebene Schaltung die Funktionsspezifikationen erfüllt, sofern er korrekt erstellt wird.

Ein Vorteil des Strukturparadigmas besteht darin, dass die Testgenerierung sich darauf konzentrieren kann, eine begrenzte Anzahl relativ einfacher Schaltungselemente zu testen, anstatt sich mit einer exponentiell exponentiell exponentiellen Multiplizität von Funktionen befassen zu müssen Zustände und Zustandsübergänge. Während die Aufgabe, gleichzeitig ein einzelnes Logik -Tor zu testen, einfach klingt, gibt es ein Hindernis zu überwinden. Für die heutigen hochkomplexen Designs sind die meisten Tore tief eingebettet, während die Testausrüstung nur mit der Primäranlage verbunden ist Eingabe/Ausgänge (I/OS) und/oder einige physische Testpunkte. Die eingebetteten Tore müssen daher durch intervenierende Logikschichten manipuliert werden. Wenn die intervenierende Logik staatliche Elemente enthält, dann exponentiell explodiert Zustandsraum und Zustandsübergangssequenzierung erzeugt eine Unlösbares Problem zur Testgenerierung. Um die Testgenerierung zu vereinfachen, befasst sich DFT das Problem mit der Zugänglichkeit, indem es die Notwendigkeit komplizierter Zustandsübergangssequenzen beseitigt, wenn versucht wird, zu steuern und/oder zu beobachten, was in einem internen Schaltungselement passiert. Abhängig von den DFT -Auswahlmöglichkeiten, automatisiert oder selbstautomatisch[1][1]. Ein Hauptziel von DFT-Methoden besteht daher darin, den Designern zu ermöglichen, Kompromisse zwischen Betrag und Art der DFT und den Kosten/Nutzen (Zeit, Aufwand, Qualität) der Aufgabe der Testgenerierung zu erzielen.

Ein weiterer Vorteil besteht darin, einen Schaltkreis zu diagnostizieren, falls ein Problem in der Zukunft auftritt. Es ist wie das Hinzufügen einiger Funktionen oder Bestimmungen im Design, damit das Gerät im Falle eines Fehlers während der Verwendung getestet werden kann.

Ich freue mich auf

Eine Herausforderung für die Branche besteht darin, mit dem Schritt zu halten schnelle Fortschritte in der Chip -Technologie (E/A -Größen/Größe/Platzierung/Abstand, E/A -Geschwindigkeit, interne Schaltungsanzahl/Geschwindigkeit/Strom, Wärmesteuerung usw.), ohne die Testausrüstung kontinuierlich zu verbessern. Moderne DFT -Techniken bieten daher Optionen an, mit denen Chips und Baugruppen der nächsten Generation auf vorhandene Testgeräte getestet werden können und/oder die Anforderungen/Kosten für neue Testgeräte reduzieren können. Infolgedessen werden DFT -Techniken kontinuierlich aktualisiert, wie z.

Testgetriebene Entwicklung

Testgetriebene Entwicklung (TDD) ist der Prozess des Schreibens von Tests, bevor Sie Ihre Kernfunktionalität schreiben. Softwareentwickler neigen dazu, die TDD -Methodik zu verwenden, um sicherzustellen, dass der Code geschrieben ist, das eine logischer und modularer ist, wodurch der Code einfacher zu testen ist.

Kurz gesagt, TDD kann in die folgenden Schritte unterteilt werden:

  1. Das Projekt in Funktionsmodule oder „Einheiten“ zerlegen.
  2. Denken Sie an die Schnittstellen zu jeder dieser Einheiten.
  3. Bestimmung des gewünschten Verhaltens dieser Einheiten und wie sie mit Fehlern umgehen sollten.
  4. Schreiben von Tests, die dieses Verhalten überprüfen.
  5. Schließlich implementieren Sie Software, um dieses Verhalten zu implementieren und sicherzustellen, dass die Tests bestehen. [2]

DFT ist letztendlich das Nebenprodukt einer TDD-Methodik.

Diagnostik

Insbesondere für fortgeschrittene Halbleitertechnologien wird einige der Chips jeder Herstellung erwartet Wafer enthalten Mängel, die sie nicht funktionsfähig machen. Das Hauptziel des Tests besteht darin, diese nicht funktionsfähigen Chips von den voll funktionsfähigen zu finden und zu trennen, was bedeutet, dass sich eine oder mehrere Antworten, die vom Tester von einem nicht funktionsfähigen Chip erfasst wurden, von der erwarteten Reaktion unterscheiden. Der Prozentsatz der Chips, bei denen der Test fehlschlägt, sollte daher eng mit der erwarteten funktionellen Ausbeute für diesen Chip -Typ zusammenhängen. In Wirklichkeit ist es jedoch nicht ungewöhnlich, dass alle Chips eines neuen Chip-Typs, der erstmals am Testboden ankommt (sogenannte Null-Yield-Situation). In diesem Fall müssen die Chips einen Debug-Prozess durchlaufen, der versucht, den Grund für die Null-Yield-Situation zu identifizieren. In anderen Fällen kann der Testausfall (Prozentsatz des Tests fehlschlägen) höher als erwartet/akzeptabel 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 versteckt werden, wie die Chips während des Tests versagen. Um eine bessere Analyse zu erleichtern, werden zusätzliche Ausfallinformationen über einen einfachen Pass/Fehler hinaus in ein Fehlerprotokoll gesammelt. Das Fehlerprotokoll enthält typischerweise Informationen darüber, wann (z. B. Testerzyklus), wobei (z. B. bei welchem ​​Testerkanal) und wie (z. B. Logikwert) der Test fehlgeschlagen ist. Diagnostikversuch, aus dem Fehlerprotokoll abzuleiten, an dem der logische/physische Standort im Chip das Problem höchstwahrscheinlich begann. Durch die Ausführung einer großen Anzahl von Fehlern durch den Diagnostikprozess, das als Volumendiagnostik bezeichnet wird, können systematische Fehler identifiziert werden.

In einigen Fällen (z. B.,, Leiterplatten, Multi-Chip-Module (MCMs), eingebettet oder eigenständig Erinnerungen) Es kann möglich sein, einen zu testenden fehlerhaften Schaltkreis zu reparieren. Zu diesem Zweck muss die Diagnostik die fehlende Einheit schnell finden und eine Arbeitsordnung zum Reparieren/Austausch der fehlenden Einheit erstellen.

DFT-Ansätze können mehr oder weniger diagnostisch-freundlich sein. Die damit verbundenen Ziele von DFT sind es, die Datenerfassung und -diagnostik in einem Ausmaß zu erleichtern/zu vereinfachen, mit dem die Auswahl der Stichprobenanalyse (FA) intelligente Ausfallanalysen (FA) ermöglichen und die Kosten, die Genauigkeit, die Geschwindigkeit und den Durchsatz von Diagnose und FA verbessern können.

Scan -Design

Die häufigste Methode zur Bereitstellung von Testdaten von Chipeingängen zu interner Schaltkreise untersucht (Schnitte kurz) und das Beobachten ihrer Ausgänge werden als Scan-Design bezeichnet. Im Scan-Design, Register (Flip Flops oder Riegel) im Design sind in einem oder mehreren verbunden Scanketten, mit deren Zugriff auf interne Knoten des Chips zugreifen wird. Die Testmuster werden über die Scan -Kette (en), funktional, verschoben Taktsignale werden gepulst, um den Schaltkreis während des "Erfassungszyklus) zu testen, und die Ergebnisse werden dann auf Chip -Ausgangsnadeln verschoben und mit den erwarteten" guten Maschinen "-Enteilen verglichen.

Eine einfache Anwendung von Scan -Techniken kann zu großen Vektorsätzen mit den entsprechenden Anforderungen an die Zeit und Speicher von langer Tester führen. Test compression Techniken behandeln dieses Problem, indem der Scan -Eingang auf Chip dekomprimiert und die Testausgabe komprimiert wird. Es sind große Gewinne möglich, da ein bestimmter Testvektor normalerweise nur einen kleinen Teil der Scan -Kettenbits einstellen und/oder untersuchen muss.

Die Ausgabe eines Scan -Designs kann in Formularen wie z. Serienvektorformat (SVF), um durch Testausrüstung ausgeführt zu werden.

Debuggen mit DFT -Funktionen

Scanketten können nicht nur für die Herstellung von "Go/No Go" -Tests nützlich sind, sondern auch zum "Debuggen" -Schip -Designs verwendet werden. In diesem Zusammenhang wird der Chip im normalen "Funktionsmodus" ausgeübt (z. B. ein Computer- oder Mobilfunk-Chip kann Montage-Sprachanweisungen ausführen). Die Chipuhr kann jederzeit gestoppt und der Chip in den "Testmodus" neu konfiguriert werden. Zu diesem Zeitpunkt kann der vollständige interne Zustand mithilfe der Scanketten auf alle gewünschten Werte eingestellt werden. Eine weitere Verwendung von Scan to Assig -Debugg besteht aus dem Scannen in einem Anfangszustand für alle Speicherelemente und kehrt dann in den Funktionsmodus zurück, um das Systemdebuggen auszuführen. Der Vorteil besteht darin, das System in einen bekannten Zustand zu bringen, ohne viele Taktzyklen zu durchlaufen. Diese Verwendung von Scan-Ketten sowie die Clock Control Circuits sind eine verwandte Unterdisziplin des Logikdesigns mit dem Namen "Design for Debugg" oder "Design for Debuggability".[3]

Siehe auch

Verweise

  • IEEE STD 1149.1 (JTAG) Testability Primer Eine technische Präsentation zum Test für den Test, der sich auf JTAG- und Grenz-Scan konzentriert
  • VLSI -Testprinzipien und Architekturen, von L.T. Wang, C. W. Wu und X.Q. Wen, Kapitel 2, 2006. Elsevier.
  • Elektronische Designautomatisierung für integrierte Schaltkreise Handbuch, von Lavagno, Martin und Scheffer, ISBN0-8493-3096-3 Eine Übersicht über den Bereich von elektronische Designautomatisierung. Diese Zusammenfassung wurde (mit Genehmigung) aus Band I, Kapitel 21, abgeleitet (mit Genehmigung). Design für Test, von Bernd Koenemann.
  1. ^ Ben-Gal I., Herer Y. und Raz T. (2003). "Selbstkorrekturinspektionsverfahren unter Inspektionsfehlern" (PDF). Iie Transaktionen zu Qualität und Zuverlässigkeit, 34 (6), S. 529-540.
  2. ^ Lynch, Stephen (28. März 2022). "Was ist die testgetriebene Entwicklung? Eine Einführung für eingebettete Systeme". Archiviert vom Original am 14. Juli 2022. Abgerufen 14. Juli 2022.
  3. ^ "Design für Debugging: Der unausgesprochene Imperativ im Chipdesign"[Permanent Dead Link] Artikel von Ron Wilson, Edn, 21.06.2007

Externe Links