Grenzscan - Boundary scan

JTAG Register.svg

Boundary Scan ist eine Methode zum Testen von Verbindungen (Drahtleitungen) auf Leiterplatten oder Unterblöcken innerhalb einer integrierten Schaltung . Boundary Scan wird auch häufig als Debugging-Methode verwendet, um Pin-Zustände von integrierten Schaltkreisen zu überwachen, Spannungen zu messen oder Unterblöcke innerhalb eines integrierten Schaltkreises zu analysieren.

Die Joint Test Action Group (JTAG) entwickelte eine Spezifikation für Boundary-Scan-Tests, die 1990 als IEEE Std. Standardisiert wurde . 1149.1-1990. 1994 wurde eine Ergänzung hinzugefügt, die eine Beschreibung der Boundary Scan Description Language (BSDL) enthält, die den Inhalt der Boundary-Scan-Logik von IEEE Std 1149.1-kompatiblen Geräten beschreibt. Seitdem wurde dieser Standard von Unternehmen für elektronische Geräte auf der ganzen Welt übernommen. Boundary Scan ist heute meistens ein Synonym für JTAG.

Testen

Die Boundary-Scan-Architektur bietet die Möglichkeit, Verbindungen (einschließlich Cluster von Logik , Speichern usw.) ohne Verwendung physikalischer Testsonden zu testen . Dies beinhaltet das Hinzufügen von mindestens einer Testzelle , die mit jedem Pin des Geräts verbunden ist und die Funktionalität dieses Pins selektiv überschreiben kann. Jede Testzelle kann über die JTAG-Scan-Kette so programmiert werden, dass ein Signal auf einen Pin und damit über eine einzelne Spur auf der Platine geleitet wird. Die Zelle am Ziel des Board-Trace kann dann gelesen werden, um sicherzustellen, dass der Board-Trace die beiden Pins ordnungsgemäß verbindet. Wenn der Trace mit einem anderen Signal kurzgeschlossen ist oder wenn der Trace offen ist, wird der richtige Signalwert nicht am Ziel-Pin angezeigt, was auf einen Fehler hinweist.

On-Chip-Infrastruktur

Um die Boundary-Scan-Funktion bereitzustellen, fügen IC-Anbieter jedem ihrer Geräte zusätzliche Logik hinzu, einschließlich Scan-Zellen für jede der externen Traces. Diese Zellen werden dann miteinander verbunden, um das externe Boundary-Scan-Schieberegister (BSR) zu bilden, und mit der TAP-Controller-Unterstützung ( JTAG Test Access Port) kombiniert, die vier (oder manchmal mehr) zusätzliche Pins plus Steuerschaltungen umfasst.

Einige TAP-Controller unterstützen Scan-Ketten zwischen logischen Entwurfsblöcken auf dem Chip mit JTAG-Anweisungen, die diese internen Scan-Ketten anstelle des BSR verarbeiten. Auf diese Weise können diese integrierten Komponenten getestet werden, als wären sie separate Chips auf einer Platine. On-Chip-Debugging-Lösungen verwenden häufig solche internen Scan-Ketten.

Diese Designs sind Teil der meisten Verilog- oder VHDL- Bibliotheken. Der Aufwand für diese zusätzliche Logik ist minimal und im Allgemeinen den Preis wert, um effiziente Tests auf Platinenebene zu ermöglichen.

Für den normalen Betrieb werden die hinzugefügten Boundary-Scan-Latch-Zellen so eingestellt, dass sie keine Auswirkung auf die Schaltung haben und daher effektiv unsichtbar sind. Wenn die Schaltung jedoch in einen Testmodus versetzt wird, ermöglichen die Latches, dass ein Datenstrom von einem Latch in den nächsten verschoben wird. Sobald ein vollständiges Datenwort in die zu testende Schaltung verschoben wurde, kann es eingerastet werden, um externe Signale anzusteuern. Durch Verschieben des Wortes werden im Allgemeinen auch die Eingabewerte der als Eingänge konfigurierten Signale zurückgegeben.

Testmechanismus

Da die Zellen verwendet werden können, um Daten in die Karte zu zwingen, können sie Testbedingungen einrichten. Die relevanten Zustände können dann in das Testsystem zurückgeführt werden, indem das Datenwort zurückgetaktet wird, damit es analysiert werden kann.

Durch die Übernahme dieser Technik ist es einem Testsystem möglich, Testzugriff auf eine Karte zu erhalten. Da die meisten heutigen Karten sehr dicht mit Komponenten und Schienen bestückt sind, ist es für Testsysteme sehr schwierig, physisch auf die relevanten Bereiche der Karte zuzugreifen, damit sie die Karte testen können. Boundary Scan ermöglicht den Zugriff, ohne dass immer physische Sonden erforderlich sind.

Im modernen Chip- und Board-Design ist Design For Test ein wichtiges Problem, und ein häufiges Design-Artefakt ist ein Satz von Boundary-Scan-Testvektoren, die möglicherweise im SVF ( Serial Vector Format ) oder einem ähnlichen Austauschformat geliefert werden.

JTAG-Testvorgänge

Geräte kommunizieren mit der Welt über einen Satz von Eingangs- und Ausgangspins. Diese Stifte bieten für sich genommen eine eingeschränkte Sicht auf die Funktionsweise des Geräts. Geräte, die Boundary Scan unterstützen, enthalten jedoch eine Schieberegisterzelle für jeden Signalstift des Geräts. Diese Register sind in einem dedizierten Pfad um die Gerätegrenze herum verbunden (daher der Name). Der Pfad erstellt eine virtuelle Zugriffsfunktion, die die normalen Eingaben umgeht und eine direkte Steuerung des Geräts sowie eine detaillierte Sichtbarkeit der Ausgänge ermöglicht. Der Inhalt des Boundary Scans wird in der Regel vom Hersteller anhand einer teilespezifischen BSDL- Datei beschrieben.

Unter anderem beschreibt eine BSDL-Datei jedes digitale Signal, das durch einen Stift oder eine Kugel (abhängig von der Chipverpackung) belichtet wird, das im Grenzscan freigelegt wird, als Teil seiner Definition des Grenzabtastregisters (BSR). Eine Beschreibung für zwei Bälle könnte folgendermaßen aussehen:

   "541 (bc_1,                     *,  control,  1)," &
   "542 (bc_1,         GPIO51_ATACS1,  output3,  X,    541,   1,   Z)," &
   "543 (bc_1,         GPIO51_ATACS1,    input,  X)," &
   "544 (bc_1,                     *,  control,  1)," &
   "545 (bc_1,         GPIO50_ATACS0,  output3,  X,    544,   1,   Z)," &
   "546 (bc_1,         GPIO50_ATACS0,    input,  X)," &

Das zeigt zwei Bälle auf einem mittelgroßen Chip (der Boundary Scan enthält ungefähr 620 solcher Linien in einem BGA- Paket mit 361 Bällen ), von denen jeder drei Komponenten im BSR enthält: eine Steuerung, die den Ball konfiguriert (als Eingabe, Ausgabe, welche Laufwerksstufe, Klimmzüge, Pulldowns usw.); eine Art von Ausgangssignal; und eine Art von Eingangssignal.

Es gibt JTAG-Anweisungen, um die Daten in diesem Boundary-Scan-Register abzutasten oder mit Werten vorzuladen.

Während des Tests treten E / A-Signale durch die Boundary-Scan-Zellen in den Chip ein und verlassen ihn. Das Testen umfasst eine Reihe von Testvektoren, von denen jeder einige Signale ansteuert und dann überprüft, ob die Antworten wie erwartet sind. Die Boundary-Scan-Zellen können so konfiguriert werden, dass sie externe Tests für die Verbindung zwischen Chips (EXTEST-Befehl) oder interne Tests für die Logik innerhalb des Chips (INTEST-Befehl) unterstützen.

Board-Testinfrastruktur

Typische kommerzielle High-End-JTAG-Testsysteme ermöglichen den Import von Design-Netzlisten aus CAD / EDA-Systemen sowie der BSDL-Modelle von Boundary Scan / JTAG-kompatiblen Geräten, um automatisch Testanwendungen zu generieren. Übliche Testarten sind

  • Scan-Pfad "Infrastruktur" oder Integrität
  • Boundary-Scan-Gerätestift zu Boundary-Scan-Gerätestift 'Interconnect'
  • Boundary-Scan-Pin zum Speichergerät oder Gerätecluster (SRAM, DRAM, DDR usw.)
  • Beliebiges Testen von Logikclustern

Bei der Verwendung während der Herstellung unterstützen solche Systeme auch nicht testbezogene, aber zugehörige Anwendungen wie die systeminterne Programmierung verschiedener Arten von Flash-Speichern: NOR, NAND und seriell (I2C oder SPI).

Solche kommerziellen Systeme werden von Board-Testprofis verwendet und kosten oft mehrere tausend Dollar für ein vollwertiges System. Sie können Diagnoseoptionen enthalten, um Fehler wie Unterbrechungen und Kurzschlüsse genau zu lokalisieren, und sie können auch Schaltplan- oder Layout-Viewer anbieten, um den Fehler grafisch darzustellen. Mit solchen Tools entwickelte Tests werden häufig mit anderen Testsystemen wie In-Circuit-Testern (IKT) oder Funktionsplatinen-Testsystemen kombiniert.

Debuggen

Die Boundary-Scan-Architektur bietet auch Funktionen, die Entwicklern und Ingenieuren in Entwicklungsphasen eines eingebetteten Systems helfen . Ein JTAG Test Access Port (TAP) kann in einen langsamen Logikanalysator umgewandelt werden .

Geschichte

James B. Angell von der Stanford University schlug serielle Tests vor.

IBM hat das Level-Sensitive Scan Design (LSSD) entwickelt.

Siehe auch

Verweise

Externe Links