Eck-daten

Der Artikel betrachtet ein kostenloses Plug-in, den DFT Assistant von XJTAG. Mit dessen Hilfe können Entwickler eine Board-Testmethode namens Boundary Scan, die durch die IEEE-1149.x-Standards definiert ist, optimal implementieren.

Wer schon mal Stunden damit verbracht hat, unerwartetes Schaltungsverhalten in einem neuen Design zu untersuchen und festgestellt hat, dass es auf einen Herstellungsfehler zurückgeht, wird die Frustration kennen, die es verursacht. Aber wurde im Vorfeld Zeit in die Erstellung des ersten Schaltplans investiert, um zu überlegen, wie die Platine auf Montagefehler getestet werden soll? Ohne diese Überlegung im Voraus sind Produktionskontrollen höchstwahrscheinlich unvollständig und ineffizient.

Boundary Scan

Bild 1: Eine JTAG-Schnittstelle läuft normalerweise mit 10 MHz oder höher und verfügt über vier Signalpins sowie einen optionalen Reset. XJTAG

Selbst wenn nur zwei oder drei Leiterplatten produziert werden, muss die bestückte Platine vor der Verwendung auf irgendeine Weise getestet werden und wenn dies nur eine eher rasche Überprüfung im Designlabor als ein vollständiges Produktionslinienverfahren ist. Solche Tests können Stunden einsparen, indem sie sicherstellen, dass die Platinen frei von Herstellungsfehlern sind, bevor jemand versucht, sie zum Laufen zu bringen. Es wird gezeigt, dass DFT viel mehr ist als nur das simple Hinzufügen von Testpunkten.

Die meisten Elektronikingenieure sind mit zahlreichen Checks vertraut, die an einem PCB-Layout durchgeführt werden, um sicherzustellen, dass es nicht gegen Designregeln verstößt. Die Überprüfung von Schaltplänen anhand einer Reihe von Richtlinien scheint jedoch weniger routinemäßig zu erfolgen. Da viele CAD-Pakete die Integration von Drittanbieter-Plug-ins ermöglichen, haben Ingenieure tatsächlich Zugriff auf eine Vielzahl von speziellen Entwurfsprüfungen.

JTAG- und Boundary Scan-Tests

Die meisten 32-Bit-Mikroprozessoren sowie alle FPGAs und CPLDs verfügen über die leistungsstarke Boundary-Scan-Funktion. Es ermöglicht die Überprüfung einer Platine auf Lötfehler wie Unterbrechungs- und Kurzschlussfehler, selbst wenn sich diese auf den unzugänglichen Kugeln unter BGA-, CSP- oder Flip-Chip-Gehäusen befinden. Der Test ist schnell und genau und eignet sich sowohl für die ersten F&E-Prototypen als für die Massenproduktion, da keine aufwendige Einspannvorrichtung oder Firmware auf der Platine erforderlich ist.

Viele Boards haben bereits einen Anschluss oder Testpunkte, um eine JTAG-Schnittstelle bereitzustellen. Diese werden normalerweise verwendet, um einem Debugger oder Emulator Zugriff auf den Mikroprozessorkern zu gewähren oder um einem Programmierer das Laden von Firmware in ein FPGA zu ermöglichen. Es ermöglicht jedoch auch die Verwendung der Boundary-Scan-Funktion. Boundary-Scan-Tests verwenden dieselbe Schnittstelle, um die Steuerung der JTAG-fähigen Komponenten zu übernehmen und das Board zu überprüfen. Die vier JTAG-Signale (und gegebenenfalls das optionale Test-Reset) sind in Bild 1 beschrieben.

Wenn sich mehrere JTAG-fähige ICs auf der Leiterplatte befinden, können diese Signale entweder so geroutet werden, dass jede Komponente über einen eigenen Anschluss verfügt oder die ICs können miteinander verkettet werden, sodass die Signale zu einer einzelnen JTAG-Schnittstelle gelangen. Da die Testabdeckung mit jeder zusätzlichen verwendeten JTAG-Komponente erheblich zunehmen kann, ist es wichtig sicherzustellen, dass auf alle JTAG-fähigen ICs des Boards auf diese Weise zugegriffen werden kann (der DFT-Assistant kann bis zu vier Ketten prüfen).

Die wichtigsten JTAG-Signale werden über relativ lange Kabel mit hoher Geschwindigkeit übertragen. Die Signalintegrität ist daher ein wichtiger Entwurfsaspekt, der jedoch häufig übersehen wird. Geeignete Reihen- und Lastanschlüsse sowie die normalen Pull-Widerstände sind erforderlich, um die Leitungen im korrekten Zustand zu halten, wenn sie nicht angesteuert werden. Eine Aufgabe des DFT Assistant-Plug-ins besteht darin, die Benutzeroberfläche zu überprüfen, um sicherzustellen, dass keine dieser Komponenten weggelassen wurde.

Wie bei jeder Anwendung, die Boundary Scan verwendet, benötigt die Software wichtige Informationen zu den JTAG-Komponenten, bevor sie ausgeführt werden kann. Diese werden in BSDL-Dateien (Boundary Scan Description Language) bereitgestellt. Diese Dateien enthalten Informationen darüber, wie die Komponenten JTAG implementieren und müssen vom Hersteller bezogen werden, bevor das Plug-in verwendet werden kann. Dabei ist es nicht erforderlich, den Inhalt der Dateien zu verstehen.

Schaltungsentwurf prüfen

Der kostenlose DFT-Assistant von XJTAG ist für Altium Designer, Orcad Capture, Mentor Pads und Xpedition sowie Zuken CR-8000 verfügbar und vollständig in diese Pakete integriert. Sobald die Software gestartet, eine Netzliste erstellt und automatisch importiert wurde, müssen einige Einstellungen vorgenommen werden, um die Software über das Board und die Komponenten zu informieren. Das Plug-in muss wissen, welche Teile des Boards JTAG-fähig sind und der Benutzer muss die entsprechenden IC-Bezeichner aus einer Pull-down-Liste auswählen und auch seine BSDL-Dateien bereitstellen. Sobald dies erledigt ist, muss das Plug-in lediglich angewiesen werden, wie alle an der Kette befestigten passiven Komponenten zu behandeln sind. Die Software kann eine intelligente Analyse der Netzliste und der Stückliste durchführen, um zum Beispiel Induktivitäten und Widerstände kleiner Serien von größeren Pull-Widerständen zu unterscheiden. Wenn diese Funktion verwendet wird, muss der Entwickler nur seine Annahmen überprüfen und akzeptieren. Aufgrund der Benutzerfreundlichkeit des Tools ist es nicht erforderlich, die zu Grunde liegenden Boundary-Scan-Mechanismen zu verstehen, um den DFT-Assistant verwenden zu können.

Dieses Einrichtungsverfahren ist dabei keine Zeitverschwendung, sondern ermöglicht dem DFT-Assistant auch die Analyse der Boundary-Scan-Funktion des Schaltkreises. Die gesammelten Informationen können zur Verwendung durch die Tools exportiert werden, die die Boundary-Scan-Tests durchführen. Mit diesen notwendigen Informationen kann der DFT-Assistant an die Arbeit gehen. Er besteht aus zwei Hauptelementen: Dem Chain Checker, der bestätigt, dass die JTAG-Signale zufriedenstellend von den Testdateneingaben des Boards durch die Kette und zurück zur Testdatenausgabe übertragen werden und dem Access Viewer, mit dem der Entwickler die Testabdeckung überprüfen und erweitern kann.

Betrachten wir zunächst den Chain Checker: Bei den ersten Überprüfungen wird das Schema analysiert, um sicherzustellen, dass die JTAG-Signale an den richtigen Pins der Komponenten angeschlossen sind und korrekt an die Eingangs- und Ausgangs-Pins des Steckers weitergeleitet werden. Wenn mehrere Ketten verwendet werden wird auch nach Punkten gesucht, an denen die einzelnen Ketten möglicherweise versehentlich verbunden wurden.

Die zweite Überprüfungsgruppe stellt sicher, dass die JTAG-Signale über die richtigen Pull-Widerstände verfügen und dass die für eine gute Signalintegrität erforderlichen Hochgeschwindigkeitsabschlüsse implementiert wurden. Die dritte Kategorie des Chain Checker-Tests bezieht sich auf die Compliance-Pins, die auf einigen Komponenten zu finden sind. Diese werden verwendet, um ICs in einen IEEE-1149.1-kompatiblen Modus zu versetzen. Wenn eine BSDL-Datei anzeigt, dass eine JTAG-Komponente über einen solchen Pin verfügt, prüft die Software, ob er nicht eventuell inaktiv ist, sondern auf den richtigen Logikpegel gezogen wurde.

Erweiterung der Testabdeckung eines Boards

Boundary Scan

Bild 2: Ein schematisches Overlay hilft dem Designer beim Überprüfen und Erweitern der Boundary Scan-Testabdeckung. XJTAG

Die zweite Funktion dieses Plug-ins besteht im Access Viewer, einem grafischen Tool zum Schätzen der Boundary-Scan-Testabdeckung. Die Anzahl der Schaltkreise, die während der Produktionstests überprüft werden können, ist ein wichtiger Punkt und ein wenig Vorarbeit mit diesem Plug-in kann sicherstellen, dass die Platine für Boundary-Scan-Überprüfungen die bestmögliche Testabdeckung bietet.

Das Plug-in analysiert die Menge der Schaltung, auf die mit Boundary Scan zugegriffen werden kann, und zeigt die Ergebnisse auf dem Schaltplan an, indem die Netze mit einer Farbcodierung überlagert werden (siehe Beispiel in Bild 2) mittels Boundary Scan überwacht und/oder manipuliert werden und auf welche momentan nicht zugegriffen werden kann. Auf diese Weise kann ein Ingenieur Änderungen vornehmen, um den Prozentsatz der Schaltung zu erhöhen, der auf diese Weise getestet werden kann. Eine Wiederholung der Analyse zeigt eine spätere Verbesserung der Testabdeckung.

Vorteile eines DFT-Plug-in

Boundary-Scan-Tests sind eine leistungsstarke Methode, um hergestellte Platinen auf Bestückungsfehler zu prüfen, selbst wenn der Defekt auf den unzugänglichen Kugeln unter einer BGA liegt. Wenn eines der gängigen EDA-Pakete während der Schaltungsentwicklung verwendet wird, können die Entwickler wahrscheinlich das DFT Assistant-Plug-in von XJTAG nutzen, um die Verwendung dieser Testtechnik zu maximieren.

Zu Beginn des Entwurfszyklus werden potenzielle Probleme und Verbesserungen identifiziert, indem die ordnungsgemäße Implementierung von Boundary-Scan-Ketten überprüft und die Einhaltung der DFT Best Practices überprüft wird. Außerdem wird der Entwickler dabei unterstützt die Testabdeckung mithilfe der intuitiven schematischen Überlagerung so weit wie möglich zu erweitern. Fehler oder Auslassungen in der JTAG-Kette, die ein Re-Spin der Platine nach sich ziehen könnten, können vor der Herstellung einer einzelnen Platine festgestellt werden.