Design-for-Test (DFT)-Richtlinien

Einführung

Die folgenden Richtlinien geben Anregungen zur Verbesserung der Prüfbarkeit von Schaltungen mit XJTAG. Diese Richtlinien sollen nicht als strenge Regeln gelten. Die potenziellen Vorteile hinsichtlich der Prüfbarkeit sollten zusammen mit allen anderen eventuellen Auswirkungen berücksichtigt werden (z. B. Funktionalität, Gerätekosten und Einteilung des Boardbereichs).

Es wird davon ausgegangen, dass die Leser dieses Dokuments ein Grundverständnis der IEEE-Standards 1149.1 und 1149.6 besitzen.

In diesem Dokument bezieht sich der Begriff „1149.x“ auf die IEEE 1149.x (JTAG) Boundary-Scan-Standards, mit „JTAG-Geräte“ sind Geräte gemeint, die JTAG-Boundary-Scan implementieren und vollständig mit diesen Standards übereinstimmen, während „Nicht-JTAG-Geräte“ Geräte meint, die JTAG-Boundary-Scan nicht implementieren.

Geben Sie JTAG-Geräte an und verwenden Sie sie

Obwohl XJTAG in der Lage ist, die Netze zwischen JTAG-Geräten und Nicht-JTAG-Geräten zu testen, wird eine größere Abdeckung durch die Verwendung von möglichen JTAG-Geräten erreicht. Je mehr JTAG-Geräte in eine Schaltung integriert sind, desto größer ist die Anzahl der Knoten, die vollständig ausgeübt und getestet werden können.

Der 1149.6-Standard ermöglicht die Prüfung von kapazitiv gekoppelten High-Speed-unsymmetrischen oder symmetrischen Signalen, die nicht mit 1149.1 getestet werden können. Um diese Funktionalität nutzen zu können, ist darauf zu achten, dass auf diese Weise zu prüfende Netze auf jeder Seite des Koppelkondensators 1149.6-fähig sind.

Überprüfen Sie die BSDL-Dateien für JTAG-Geräte

Die Einhaltung der 1149.x-Standards erfordert, dass das Gerät über eine BSDL-Datei (Boundary Scan Description Language) verfügt. Diese Datei beschreibt die spezifische 1149.x-Implementierung des Geräts. Stellen Sie sicher, dass diese Datei verfügbar ist (in der Regel direkt von der Website des Geräteherstellers) und dass sie vollständig validiert wurde (BSDL-Syntaxprüfung ist integraler Bestandteil von XJTAG).

Stellen Sie sicher, dass die 1149.x-Ketten richtig designt und ausgelegt sind

JTAG-Geräte können über individuelle Anschlüsse verfügen, um Zugriff auf die TAP-Signale zu erhalten. Sie können aber auch in „Kaskaden“-Format mit dem TDO-Signal von einem Gerät verbunden werden, das mit dem TDI des nächsten verbunden ist.

Ensure JTAG chains are correctly designed and laid out

Die TCK-, TMS- und (optional) nTRST-Signale müssen parallel mit allen im „Kaskaden“-Format angeschlos­senen Geräten verbunden sein. Es ist wichtig, dass nTRST-Signale nicht direkt mit Masse verbunden werden, da dies JTAG vollständig deaktivieren würde und zwar nicht nur für ein einzelnes Gerät, sondern für die gesamte Scankette.

Wenn möglich, führen Sie die TAP-Signale stets von anderen aktiven Signalen weg, um das Rauschen zu reduzieren und die Signalintegrität zu verbessern. Die serielle JTAG-Schnittstelle läuft typischerweise mit einer Taktrate von 10 MHz bis 30 MHz und ein schlechtes Layout kann Fehler verursachen, die sehr schwer zu erkennen sind und ein Re-Spin erfordern können, um wieder ausgebessert zu werden.

Verschachtelte TAP-Signale mit Strom oder Masse können helfen, Probleme mit nicht funktionierenden JTAG-Ketten zu diagnostizieren. Ein TAP-Signal, das zu einem konstanten Signal kurzgeschlossen ist, wird viel leichter diagnostiziert als zwei TAP-Pins, die zusammen kurzgeschlossen sind.

Verwendung der korrekten Beendigung für alle TAP-Signale

Der TCK sollte mit einem 68 Ω-Widerstand und einem 100 pF-Kondensator in Serie auf Masse gelegt werden, so nah wie möglich an der Stelle, an der das Signal in das Endgerät der Kette dringt. TDI und TMS sollten mit 10 kΩ-Widerständen auf die Stromschiene gezogen werden. Der TDO sollte mit einem 10 kΩ-Widerstand auf die Stromschiene gezogen werden und einen 22 Ω-Serienwiderstand in der Nähe des Endgeräts der Kette montiert haben. Es wird auch empfohlen, der nTRST-Leitung einen 10 kΩ-Pull-Down-Widerstand hinzuzufügen, um offene Eingänge zu vermeiden.

Use correct termination for all TAP signals

Mehrere JTAG-Ketten

Es kann notwendig sein, einige Geräte direkt mit ihren eigenen Anschlüssen während der Entwicklung oder Programmierung zu Debug-Zwecken zu verbinden. Die zusätzliche Option, diese Konnektoren zu einer einzelnen Kette für Produktionstests zu verknüpfen, kann durchaus vorteilhaft sein und sowohl die Stückliste (BOM) als auch die Handhabungskosten während der Produktion reduzieren. Der XJLink2 controller von XJTAG kann bis zu vier JTAG-Anschlüsse auf einem Board anschließen.

Konnektor-design

JTAG Connector pinoutBei der Angabe der Signalpositionen am JTAG-Stecker ist es wichtig, mögliche Übersprech-/Interferenzprobleme zu berücksichtigen. Eine Verschachtelung aktiver Signale mit Massever­bindungen minimiert diese Effekte. Wenn die Anzahl der auf dem Steckverbinder vorhandenen Pins dies unpraktikabel macht, dann priorisieren Sie die Platzierung von TCK neben Masse. Wenn dies nicht möglich ist, dann verwenden Sie ein Signal, das sich bei JTAG-Scans vermutlich nicht ändern wird, wie z.B. reset, nTRST.

Es ist besonders wichtig, eine Angrenzung von TDO- und TCK-Signalen zu vermeiden. TDO-Übergänge treten an den fallenden Kanten von TCKs auf, daher kann das Übersprechen von TDOs Fehler auf TCKs verursachen und Daten verfälschen.

Es ist sehr wichtig, eine starke Masseverbindung zwischen dem JTAG-Controller und dem zu prüfenden Board zu haben. Wenn es Ersatzpins vom JTAG-Stecker zum Board gibt, kann das Hinzufügen von zusätzlichen Massesignalen von Vorteil sein. Der XJLink2 hat feste Masseverbindungen an den Stiften 10 und 20, so dass diese die Signalintegrität verbessern.

Im Idealfall wird jedes neue Design den gleichen Steckverbindertyp und das gleiche Signallayout verwenden, so dass die Kabel wiederverwendet werden können. Diese Anschlüsse sollten „kodiert“ werden, um eine Fehlausrichtung zu vermeiden.

Wenn der Stecker versehentlich in umgekehrter Reihenfolge eingesetzt werden könnte, wählen Sie ein Pin-Layout, das Kurzschlüsse zwischen den Anschlusspins für die Stromversorgung an GND- (oder „Soft GND“) Pins des TAP-Controllers verhindert.

Das Routing der TAP-Signale, um Pins auf anderen Verbindern zu ersetzen, kann den Zugriff auf die Scan-Kette ermöglichen, auch wenn der entsprechende Testzugriffsanschluss untauglich oder unzugänglich ist.

JTAG-Modus wählen

Bei einigen Geräten können TAP-Pins so konfiguriert werden, dass sie noch andere Funktionen als  1149.x-Boundary-Scan haben. Daher ist es wichtig sicher zu stellen, dass das Design nicht verhindert, dass Geräte für das JTAG-Testen verwendet werden können. Die Funktion dieser Pins wird normalerweise durch das Abtasten anderer Pins auf dem Gerät, wenn es zurückgesetzt wird, konfiguriert. Je nach Anforderung des Designs kann diese Konfiguration auf mehrere Weisen erreicht werden:

  • Wenn Boundary-Scan die einzig benötigte Funktion auf den TAP-Pins ist, können die Konfigurations-Pins an die erforderlichen Level gebunden werden.
  • Wenn Boundary-Scan die dominierende Funktion für die Pins ist, aber es möglich ist, dass andere Funktionen erforderlich sein können, dann können optionale Widerstände die Einstellung der Konfigurations-Pins auf high oder low mit nur einer kleinen Änderung des Boards ermöglichen.
  • Wenn ein einfaches Umschalten zwischen den Funktionen erforderlich ist, können die Konfigura­tionssignale an einen Stecker geführt werden. Pull-Widerstände können verwendet werden, um den Standardzustand zu definieren, der dann von einem Controller wie dem XJLink2 übersteuert werden kann.

Die EMU0- und EMU1-Pins auf einer Vielzahl von Texas Instruments-Prozessoren sind ein übliches Beispiel für solche Konfigurationsstifte, genau wie die Mode Pins auf Freescale-Prozessoren und das JTAGSEL-Signal auf der AT91-Prozessorfamilie.

Die erforderlichen Werte für diese Pins werden im Datenblatt / Referenzhandbuch für das Gerät definiert. Sie können jedoch auch im Abschnitt COMPLIANCE_PATTERNS der BSDL-Datei für das Gerät angezeigt werden.

Beachten Sie den Takt zu synchronen Geräten

Viele synchrone Geräte können durch Boundary-Scan getestet werden, dies ist jedoch abhängig von der Quelle der Taktung. SDRAM kann beispielsweise nur getestet werden, wenn die Taktung von einem 1149.x-kompatiblen Gerät gesteuert wird. Wenn eine selbsterregte Taktung direkt mit dem SDRAM verbunden wäre, dann wäre es nicht möglich, die Boundary-Scan-Testvektoren in Echtzeit auf diese zu synchronisieren.

Wenn ein konfigurierbares JTAG-Gerät, wie z.B. eine CPLD oder ein FPGA, verfügbar ist, führen Sie die Taktquelle über dieses Gerät zum SDRAM oder zum Taktgeber, um die Testabdeckung zu maximieren, wie unten gezeigt.

Clock to synchronous devices

Es ist auch wichtig sicherzustellen, dass die Taktpuffer keine minimale Betriebsfrequenz haben. Einige Takt­geber haben einen speziellen Steuereingang, um niederfrequente Signale zu ermöglichen. Solche Signale müssen von einem JTAG-fähigen Pin zugänglich sein.

Andere Geräte, wie z.B. Ethernet-PHYs und Schalter, benötigen einen bestimmten Frequenz-Takteingang, um zu funktionieren. In diesen Fällen ist es wichtig sicherzustellen, dass der Takt nicht von einem 1149.x-fähigen Pin bereitgestellt wird. Ein Kristall oder Oszillator sollte mit dem nicht-kompatiblen Gerät entweder direkt oder über einen Taktpuffer verbunden sein.

Während es nicht möglich ist Boundary-Scan zur Interaktion mit nicht-kompatiblen Geräten mit diesen Geschwindigkeiten zu verwenden, erlaubt die Bereitstellung eines geeigneten Takts oft zumindest ein gewisses Maß an Tests, die sonst nicht möglich wären.

Ziehen Sie einen Watchdog-Einsatz in Betracht

Geben Sie Links oder 1149.x-steuerbare Logik an, um sicherzustellen, dass der Betrieb der Watchdogs während des Tests deaktiviert werden kann. Das Zurücksetzen von Ereignissen, wenn ein Watchdog während des Testens keine regelmäßige Eingabe erhält, kann ein unerwartetes Testergebnis erzeugen oder sogar verhindern, dass Tests abgeschlossen werden.

Downloaden Sie die vollständigen DFT-Richtlinien als E-Book

Weitere Punkte:

  • Testen mit nicht-konfigurierten FPGAs und CPLDs
  • Sicherstellen eines geringen Schieflaufs zwischen TAP-Signalen
  • Gewährung von Zugriff zur Unterstützung der Suche nach Scan-Kettenfehlern
  • Pufferung der TAP-Signale und Spannungspegel-Trennung
  • Nebenschluss optionaler 1149.x-konformer Geräte
  • Fügen Sie der 1149.x-Kette Add-ons und optionale Boards hinzu
  • Einbezug von 1149.x-Kompatibiltät bei Entwurf oder Spezifizierung von ASICs
  • Machen Sie programmierbare Abschnitte von der 1149.x-Kette aus zugänglich
  • Stellen Sie direkten Zugriff auf Programmiersignale zur Verfügung
  • Umschließen Sie Logikgruppen mit JTAG-Geräten
  • Erweitern Sie 1149.x-Testen durch Steckverbinder
  • Ziehen Sie das Testen von Mehrfachleiterplatten als Einheit in Betracht
  • Testen Sie analoge Schaltungen
  • Verlassen Sie sich nicht auf programmierbare Pull-Widerstände
  • Ziehen Sie die Nutzung der Funktionalität von JTAG-Geräten in Betracht
  • Verwenden Sie die Testfunktionalität in Nicht-JTAG-Geräten
  • Interaktive Tests
  • Programmieren Sie nicht-flüchtige Speichergeräte
  • Schnelle Flash-Programmierung
  • JTAG Glossar

Want to be the first to know of new eBooks and JTAG Resources?

Find out how XJTAG can help you test your PCB faster
From Prototype To Manufacture