Testverfahren in der Industrie

Der Boundary-Scan-Test als gefragtes Testwerkzeug

Seite: 2/2

Anbieter zum Thema

Der Anwender kann gegen Gebühr sein System auf AutoBuzz erweitern. AutoBuzz kann die Verbindungsdaten von einer bekanntermaßen guten Baugruppe ablernen. Dadurch können fehlerhafte Baugruppen gegen diese Referenz verglichen werden. Dieser Lernmodus Seek & Discover bedeutet, dass der Anwender lediglich die Daten über die Boundary-Scan-Bauteile (BSDL-Modelle) bereitstellen muss. Netz-Verbindungsdaten für andere Bauteile sind nicht erforderlich. Seit seiner Markteinführung 2011 hat AutoBuzz gleichermaßen bei Entwicklungslaboren und Reparaturzentren eine wahre Erfolgsgeschichte erlebt.

CoreCommander steuert den Prozessorkern

Ein weiteres Werkzeug ist Script. Es bietet eine Kommando- und Steuerstruktur, um Cluster-I/Os zu manipulieren und eignet sich für bauteilorientierte Funktionstests. Es kann beispielsweise für den Test von Mixed-Signal-Bauteilen eingesetzt werden, wo interaktiver Bedienereingriff oder Testmuster-Schleifen für die Initialisierung von Registern erforderlich sind. Script verwendet die Open-Source-Programmiersprache Python, die wegen ihrer einfachen Syntax und ihrer leistungsfähigen Möglichkeiten zur Datenmanipulation sehr beliebt ist. Die Schaffung von Testmodulen mittels der Skriptsprache fördert einen bauteilorientierten Testansatz und damit auch die Wiederverwendbarkeit von Testcode. Wer mit der Sprache Python arbeitet, profitiert von Tausenden Hilfsroutinen, die eine bestens eingeführte Anwender-Community bereitstellt.

CoreCommander ist der jüngste Spross der JTAGLive-Familie. Im Gegensatz zu herkömmlichen JTAG/Boundary-Scan-Werkzeugen steuern die CoreCommander-Funktionen die Bauteilanschlüsse nicht klassisch über die Boundary-Scan-Register (BSR), sondern sie übernehmen die Steuerung des Prozessorkerns. Das geschieht typischerweise über den On-Chip-Debugmode (Emulation) des Prozessors. Bei manchen Bauteilen dient der JTAG-Port lediglich für das On-Chip-Debugging und verfügt über keinerlei Boundary-Scan-Logik für Testzwecke.

Wie ein grundlegender Verbindungstest aussieht

Durch den Einsatz von CoreCommander können Anwender trotzdem bis zu einem bestimmten Grad Tests vornehmen, da CoreCommander mit vollständig kompatiblen JTAG/Boundary-Scan-Bauteilen synchronisiert werden kann. Derzeit unterstützt CoreCommander Bauteile mit den Kernen ARM 7/9/11, Cortex sowie PowerPC, X-scale und einigen TI-DSPs.

Um die Einfachheit des Testeinstiegs bei modernen Tools zu veranschaulichen, folgt eine Zusammenfassung der Schritte, um den grundlegenden Verbindungstest vorzubereiten und durchzuführen:

  • Netzdaten importieren: Nach dem Einschalten fordert typischerweise ein Projektassistent der Software den Benutzer auf, Netzlisten-Informationen hinzuzufügen, die meist von den Schaltplanerstellungstools der Entwickler stammen. Die besten Systeme erlauben es, einem Projekt mehrere Netzlisten hinzuzufügen, sodass es leichter ist, gestaffelte Designs zu unterstützen, die beispielsweise aus Basisleiterplatten und Mezzanine-Karten und/oder Systemkarten in einer steckbaren Backplane bestehen.
  • Bauteil-Detaildaten hinzufügen: Um die Daten zu vervollständigen, werden der aus der Netzliste abgeleiteten Liste der Bauteil-Typen (Device Types) die jeweiligen Bauteil-Modelle zugeordnet (siehe Bild 2). Bei den Modellen handelt es sich entweder um BSDL-Modelle (wie im Fall von JTAG-Bauteilen) oder um ProVision-Modelle (Dateinamenserweiterungsmodell) bei den nicht-JTAG-Bauteilen (Cluster). Für die Wiederverwendung können die Zuordnungen der Bauteil-Modelle als Model Map exportiert und archiviert werden.
  • Go-Schaltfläche anklicken: Wenn die Modelle zugeordnet sind, kann der automatische Programmgenerator für den Verbindungstest gestartet werden. Der Benutzer wird bei dem Prozess vollständig durch Assistenten geführt. Das Dialogfenster des Generators bietet dem erfahrenen Benutzer zahlreiche Optionen für Test-Muster.
  • Ergebnisse ablesen: Nach dem Testlauf werden die Ergebnisse im Truth-Table-Reporter dargestellt. Von jedem Netz wird der Status des Boundary-Scan Treibers/Sensors für jeden Vektorschritt angezeigt. Jeder Sensor-Fehler ist markiert und ermöglicht so die schnelle Erkennung von Fehlern als Netz- oder Pin-Stuck-At-Fehler oder Netz-Kurzschlüsse. Der Truth-Table-Reporter kennt spezielle Anzeigemodi wie die Bauteil-für-Bauteil-Vektor-Anzeige.

Der Verbindungstest steuert häufig über 80% der möglichen Fehlerabdeckung digitaler Baugruppen bei, wenn die meisten der hochpoligen Bauteile JTAG-kompatibel (IEEE Std.1149.1) sind. Durch Einsatz von Python-Scripten und weiteren Softwaremodulen lässt sich mit Cluster-Tests, die eine Art Funktionstest für ein spezielles Bauteil oder eine Gruppe von Bauteilen sind, eine Fehlerabdeckung von bis zu 95% für alle getesteten Netze und Pins erzielen.

Vermehrter Einsatz von JTAG-Tools

Cluster-Tests werden häufig für Bauteile wie Speicher, Flash-Bauteile, SPROMs, Ethernet-PHYs sowie andere registerbasierte Bauteile eingesetzt und können sowohl strukturelle Tests als auch In-System-Programmieraufgaben lösen. Es wird immer einen Anteil von Verbindungen wie Spannungsversorgungen für normale Bauteile geben, die dadurch nicht getestet werden. Wahrscheinlicher ist es, dass diese durch optische Inspektion und/oder funktionelle Tests abgedeckt wurden.

Aufgrund einer weniger frustrierenden Debug-Phase wird der Einsatz der JTAG-Tools für das Hardware-Debugging rasch zunehmen. Gleichzeitig werden die Kosten der Tools sinken. Die On-Chip-Debug-Features von Prozessoren werden Möglichkeiten bieten, die Testabdeckung zu erhöhen. Selbsttest-Logikkerne (BIST), wie sie beispielsweise in FPGAs eingebettet werden, werden vermehrt Tests im Systemtakt für Peripherie-Bauteile, wie DDR-Speicher, ermöglichen. Ergänzend zum JTAG-Standard, einschließlich IEEE Std. 1687, werden Mechanismen definiert, um auf eingebettete Test-Instrumente zugreifen zu können. Damit steigt die Wertschöpfung über die erprobte und bewährte JTAG-Schnittstelle weiter.

* Peter van den Eijnden ist Geschäftsführer von JTAG Technologies in den Niederlanden.

(ID:38591000)