Bild 1: Der Übergang zu einer designintegrierten Pin-Elektronik.

Bild 1: Der Übergang zu einer designintegrierten Pin-Elektronik.Goepel Electronic

Der IEEE1149.1/Boundary-Scan-Standard verlagert die sogenannte Pin-Elektronik eines Testers erstmals in die zu testende Schaltung und ermöglicht einen nichtinvasiven Zugriff (Bild 1). Als Folge entsteht eine designintegrierte Pin-Elektronik, welche per JTAG-Testbus angesteuert wird. Als Novum wird diese jedoch nicht durch den Testingenieur definiert, sondern durch den Designer. Das Geniale an IEEE1149.1 ist die offene Erweiterbarkeit der Registerarchitektur gepaart mit der Universalität des Businterfaces und seinem Übertragungsprotokoll. Heute lassen sich grundlegend folgende Klassen unterscheiden:

  • Native Connector Access (natürlicher Zugriff über die designintegrierten I/O),
  • Intrusive Board Access (künstlicher Zugriff über Nadeln und Proben),
  • Embedded System Access (natürlicher Zugriff über designintegrierten Testbus).

Dabei schließen sich diese Klassen in der praktischen Nutzung nicht gegenseitig aus. Inwieweit sie allerdings für den Anwender in Kombination eingesetzt werden können, hängt von den individuellen Fähigkeiten der gewählten ATE-Plattform ab.

Dennoch stellt sich die Frage, in welchem Verhältnis die einzelnen Zugriffsstrategien zueinander stehen und was Embedded System Access praktisch bedeutet.

Auf einen Blick

Die Entwicklung des Embedded System Access wird perspektivisch vor allem durch weitere Standardisierung der Testbus-Ebene auf der Basis des IEEE-1149.7 und der Ansteuerung von Chip Embedded Instruments durch IEEE-P1687 und Erweiterungen von IEEE 1149.1 gekennzeichnet sein. Darüber hinaus werden vor allem neue Instrument-IP in Form von Hardmakros oder FPGA embedded Softmakros die Innovation bei den Test-, Mess- und Programmierstrategien kontinuierlich vorantreiben und die klaren Grenzen zwischen Chip- und Boardtest zunehmend auflösen. Ein schlagartiges Umkippen des Marktes in Richtung Embedded System Access ist auch für die nächsten Jahre nicht zu erwarten; vielmehr sind Migrationsstrategien und Kombinationen entscheidend, da zum Beispiel auch der invasive Testzugriff in dieser Dekade weiterhin weit verbreitet bleiben wird.

Embedded System Access

Ein Blick auf die tendenzielle Entwicklung der einzelnen Trends offenbart eine Reihe interessanter Fakten. Dazu gehört auch die relative lange Adoptionsphase von IEEE-1149.1 als erster Vertreter des Embedded System Access. Er ist mittlerweile eine eigenständige Klasse, die eine Vielzahl nichtinvasiver Zugriffstechnologien konsistent vereint. Dazu gehören insbesondere:

  • Boundary-Scan-Test (IEEE Std 1149.1/.4/.6/.7),
  • Processor-Emulation-Test (PET),
  • Chip-Embedded Instrumentation (IJTAG, IEEE-P1687),
  • In-System Programming (ISP),
  • Core-Assisted Programming (CAP),
  • FPGA-Assisted-Test (FAT),
  • FPGA-Assisted Programming (FAP),
  • System JTAG (SJTAG).

Darüber hinaus gibt es aber noch eine Fülle weiterer Technologien und Standards, zum Beispiel die sogenannte On-Chip Emulation (OCE) zur Softwarevalidierung.

Durch den im Zielsystem eingebetteten elektrischen Zugriff kann beim Embedded System Access auf invasive Nadeln und Probes verzichtet werden. Dabei verfügt jede ESA-Technologie im Prinzip über eine aufgabenspezifische Pin-Elektronik, welche über den Testbus angesteuert wird und somit in der Lage ist, Testfunktionen oder Programmierungen direkt im System auszuführen. Das Zielsystem kann dabei ein Chip, ein Board, oder eine ganzes System sein, ist also invariant gegenüber dem hierarchischen Applikationslevel. Dadurch kann der Embedded System Access im gesamten Produktlebenszyklus verwendet werden.

Tabelle 1: Vergleich relevanter ESA-Technologien zum Boardlevel-Test.

Tabelle 1: Vergleich relevanter ESA-Technologien zum Boardlevel-Test.Goepel Electronic

Eine genauere Analyse wichtiger ESA-Technologien auf Boardlevel zeigt große Unterschiede in den Wirkungsweisen und Zielstellungen. Die Matrix in Tabelle 1 spiegelt den komplementären Charakter der einzelnen Prinzipien deutlich wider. Bereits hieraus lässt sich ableiten wie wichtig ATE-Plattformen sind, welche sämtliche Technologien einheitlich unterstützen. Die nachfolgenden Detailerklärungen machen diese Fakten noch transparenter.

Boundary Scan

Bild 2: Architektur eines Boundary-Scan-Schaltkreises.

Bild 2: Architektur eines Boundary-Scan-Schaltkreises.Goepel Electronic

Boundary Scan definiert sogenannte Boundary-Scan-Zellen als die primären Zugriffspunkte auf ein System. Die Gesamtheit der Zellen bildet das Boundary-Scan-Register, welches über einen Test Access Port (TAP) angesteuert wird (Bild 2). Alle Vektoren werden seriell ein- und ausgeschoben. Der Testbus selbst besteht aus vier Signalen und einem optionalen Reset. Boundary Scan ist ein strukturelles Verfahren und bietet insbesondere beim Verbindungstest von BGA-Anschlüssen eine exzellente Fehlerdiagnose. Da die Tests jedoch statischer Natur sind, können dynamische Fehler nicht erkannt werden. Ergänzend zu IEEE-1149.1 existieren mittlerweile eine Reihe weiterer IEEE-1149.x-Standards.

Processor-Emulation-Test

Bild 3: Prinzip des Processor Emulation Test (PET).

Bild 3: Prinzip des Processor Emulation Test (PET).Goepel Electronic

Der Processor-Emulation-Test nutzt das zur Softwarevalidierung implementierte Debug-Interface eines Mikroprozessors aus, um den Prozessorkern in einen nativen Testcontroller (Bild 3) zu transformieren. Dadurch wird der Prozessor mit seinem Bus-Interface zur Pin-Elektronik und damit zum Zugriffspunkt auf das System. Ferngesteuert über JTAG oder andere Debug-Interfaces ist er dann in der Lage, sämtliche an seinen Systembus angeschlossenen internen oder externen Ressourcen anzusteuern und einzeln über entsprechende Testvektoren in Form von Schreib- und Lesezugriffen zu testen. Ein Betriebssystem oder eine Flash-Firmware ist nicht notwendig. Die Technologie ermöglicht die Abdeckung sowohl statischer als auch dynamischer Fehler. Sie ist durch den funktionalen Ansatz jedoch in der Diagnosetiefe eingeschränkt. Die PET-Technologie ergänzt Boundary Scan hervorragend und ermöglicht insbesondere den Test von dynamischen Komponenten wie DDR-SDRAM, Gigabit-Interfaces und anderer nicht scanbarer Komponenten auf Chip-, Board- und System-Level.

Chip-Embedded-Instruments

Bild 4: Boundary-Scan-Schaltkreis mit Chip-Embedded-Instrument.

Bild 4: Boundary-Scan-Schaltkreis mit Chip-Embedded-Instrument.Goepel Electronic

Chip-Embedded-Instruments sind in die Schaltkreise integrierte Test- und Mess-IP, welche über den Testbus angesteuert werden (Bild 4). Ihr Funktionsumfang ist völlig offen und reicht von simplen Sensoren, über komplexere Signal- und Datenerfassung bis hin zu kompletten Analyse-Instrumenten oder Programmern. Die IP selbst ist entweder fest in einem Chip integriert (Hardmakro), kann aber auf Basis von FPGAs auch temporär im System aktiviert werden (Softmakro). Die Pin-Elektronik unterliegt damit prinzipiell keinen Einschränkungen und kann zahlreiche Funktionen aufweisen, allerdings nur im Rahmen der jeweiligen Chip-Technologie des Host. Bemerkenswert ist auch die Tatsache, dass derartige Instrumente prinzipiell parallel zur normalen Systemoperation aktiv sein können, woraus sich interessante Applikationen ergeben.

Besonders die FPGA-Embedded-Instruments sind in letzter Zeit verstärkt in den Mittelpunkt des Interesses gerückt. Sie ermöglichen Strategien wie FPGA-Assisted-Test (FAT), beziehungsweise FPGA Assisted Programming (FAP) und bieten eine hohe Flexibilität in der Adaption auf die individuelle Test- and Measurement-Problematik.

Tabelle 2: Vergleich relevanter ESA-Technologien zur Programmierung.

Tabelle 2: Vergleich relevanter ESA-Technologien zur Programmierung.Goepel Electronic

Chip-Embedded-Instruments werden bereits seit vielen Jahren im Bereich des Chiptests zum Beispiel in Form von Built-In-Self-Test-IP eingesetzt. Allerdings waren bisher all diese IP zugriffsseitig nicht standardisiert, was der derzeit in Entwicklung befindliche Standard IEEE-P1687 (IJTAG) ändern wird.

In-System Programming

Auch im sehr wichtigen Bereich der Programmierung existieren völlig unterschiedliche ESA-Technologien (Tabelle 2). Allerdings nutzen sie zum Großteil die gleiche Infrastruktur wie die bereits beschriebenen Lösungsansätze zum Test. Diese Situation macht sehr hohe Synergien zwischen Test und Programmierung möglich.

Bild 5: Programmierung eines Flash-Schaltkreises per Boundary Scan.

Bild 5: Programmierung eines Flash-Schaltkreises per Boundary Scan.Goepel Electronic

Die Bezeichnung In-System-Programming ist ein Sammelbegriff zur Programmierung von Flashbausteinen über Boundary Scan (Bild 5), sowie für PLD/FPGA über den Test Access Port (TAP) im Verbund mit spezifischen Programmierregistern. Die Programmierung erfolgt im eingelöteten Zustand onboard. Für PLD/FGPA existieren auch spezielle Standards wie IEEE-1532, JESD71 oder dem Serial Vector Format (SVF), einem Quasi-Industriestandard.

Core Assisted Programming

Bild 6: Programmierung eines Flash per Core Assisted Programming.

Bild 6: Programmierung eines Flash per Core Assisted Programming.Goepel Electronic

Im Grundsatz verfolgt die Strategie von Core Assisted Programming den gleichen Lösungsansatz wie der bereits beschriebene Processor-Emulation-Test. Der Prozessor wird über das native Debug-Interface in der Art angesteuert, dass die an seinen Systembus angeschlossenen Flash oder FPGA (wenn das Design es ermöglicht) gelöscht, programmiert und verifiziert werden können (Bild 6). Bei Flash spielt es keine Rolle, ob er direkt in einer MCU integriert ist (On-Chip) oder extern als separater Baustein angeschlossen ist. Darüber hinaus ist es möglich, nur den Flash-Handler per JTAG und das Flash-Image über ein schnelles Kommunikations-Interface zu laden. Die CAP-Technologie bietet deutlich höhere Geschwindigkeiten als die In-System Programmierung via Boundary Scan.

FPGA Assisted Programming

Bild 7: Programmierung eines Flash per FPGA Assisted Programming.

Bild 7: Programmierung eines Flash per FPGA Assisted Programming.Goepel Electronic

Eine der interessantesten Technologien zur Flash Programmierung beruht auf dem Einsatz von FPGA Embedded Instruments und wird als FPGA Assisted Programming bezeichnet (Bild 7). Das Embedded-Instrument ist in diesem Fall ein Programmer in der Form eines Softmakros. In Abhängigkeit von der Architektur des Programmer-IP und der Leistungsfähigkeit des externen Steuersystems lassen sich gegenüber konventionellen In-System-Programmierungen per Boundary Scan teilweise drastische Verbesserungen der Programmiergeschwindigkeit erzielen. Mittlerweile existieren auch synthesefreie Universallösungen wie sie beispielsweise in ChipVORX integriert sind.

System Level JTAG

Bild 8: Prinzip des eingebetteten Testbuscontrollers auf Boardlevel.

Bild 8: Prinzip des eingebetteten Testbuscontrollers auf Boardlevel.Goepel Electronic

Als letzte Zugriffstechnik soll an dieser Stelle System Level JTAG erläutert werden. Im Gegensatz zur Nutzung eines externen Controllers verfolgt diese Technik den Ansatz, die zentrale Steuereinheit direkt mit in das Design zu integrieren. Dabei kommt typischerweise als Testbuscontroller ein separater Chip zum Einsatz und die Testvektoren werden lokal gespeichert (Bild 8). Das Verfahren ist auch für den Systemtest unter Einbindung mehrere Boards prädestiniert.

Transformation zum System-integrierten Tester

Der Übergang zum Embedded System Access bedeutet keine marginale Anpassung der Art und Weise wie Test- oder Programmiervektoren gehandelt werden, sondern muss als fundamentaler technologischer Umbruch verstanden werden. Dazu gehören insbesondere:

  • die Integration der Testelektronik in das zu testende System,
  • die untrennbare Kopplung von Funktions- und Testelektronik im Systemdesign,
  • die Ausprägung von Testzentren mit unterschiedlichen Fähigkeiten,
  • die stark erweiterte Vielfalt an Test- und Programmierstrategien,
  • die Möglichkeiten zur Nutzung über den gesamten Produktlebenszyklus,
  • die Flexibilität einer rekonfigurierbaren Pin-Elektronik durch FPGA,
  • der Einsatz völlig neuartiger Instrumentierungsplattformen.

Bei der praktischen Nutzung des Embedded System Access findet im Prinzip eine Transformation von rein funktionalem Design in eine Tester-UUT-Konfiguration statt (Bild 9).

Bild 9: Prinzip der Transformation durch Embedded System Access.

Bild 9: Prinzip der Transformation durch Embedded System Access.Goepel Electronic

In Abhängigkeit von der konkreten Implementierung des Embedded System Access ergibt sich eine Fülle von Applikationen. Dabei ist derzeit insbesondere der FPGA-basierende Test ein Technologietreiber für immer komplexere Test- und Measurement-Funktionen. Dazu zählen Applikationen wie Spannungs-, Frequenz- und Temperaturmessungen, Bitfehlerratentest (BERT) für sehr schnelle Signale, Impulszähler, Logic Scopes und viele andere mehr. Auf dieser Basis sind bereits im Labor umfangreiche Designvalidierungen über einen zentralen Kommunikations- und Steuerkanal möglich.

Dabei ist es von großem Vorteil, dass die Signale und Messergebnisse direkt in der Schaltung gewonnen werden, also nicht durch unnatürliche Störquellen wie beispielsweise mechanische Probes, Kabel und zusätzliche elektrische Lasten verfälscht sind. Dadurch werden die Test- und Messvorgänge nicht nur genauer, sondern können auch besser reproduziert werden. Allerdings wird zur praktischen Realisierung von ESA-Applikationen auch eine entsprechende externe Instrumentierung benötigt.