Auf einen Blick

Dieser Artikel beleuchtet, wie EDA-Software und Entwicklungssoftware zur automatischen Testgenerierung mit den jeweiligen Anwendern auf folgenden Ebenen zusammenarbeiten:

  • Import von Verbindungsdaten (Netzliste) für den Verbindungstest auf Baugruppen-Ebene.
  • Import von Schaltplandaten zur Überprüfung der Fehlerabdeckung und für das Setzen von Guardpunkten.
  • Import von Leiterplatten-Layoutdaten für verbesserte, schnellere Lokalisierung von Fehlern und zur Überprüfung der Fehlerabdeckung.
  • Außerdem wird aufgezeigt, wie Debug-Mechanismen auf Bauteilebene heutzutage von Testingenieuren genutzt werden können, um die Abdeckung der Fertigungsfehler zu verbessern.

Alle Schaltplan-Eingabesysteme werden verwendet, um Schaltpläne zu zeichnen und eine Tabelle der Verbindungen (Netzliste) zu generieren, die von nachgelagerten Werkzeugen wie Leiterplatten-Layoutsystemen oder Produktions- und Testsystemen genutzt werden können.

Boundary-Scan-Testsysteme wie zum Beispiel Provision von JTAG Technologies ermöglichen den Import zahlreicher unterschiedlicher Netzlistentypen, meist von Schaltplan-Eingabesystemen, aber auch von nachgelagerten Systemen wie Leiterplatten-Layout-Systemen oder CAM-Werkzeugen (computerunterstützte Fertigung). Durch die Analyse der Verbindungsdaten in Verbindung mit Bauteilmodellen (einschließlich BSDL – Boundary-Scan-Beschreibungssprache) erhält man einen Frühindikator zur Fehlerabdeckung durch den Einsatz der JTAG-/Boundary-Scan-Technologie. Das Softwarepaket, das auch Provision umfasst, beinhaltet beispielsweise ein Analysewerkzeug für die Fehlerabdeckung, das zwei verschiedene Ausgabelisten generiert: eine prognostizierte und die tatsächliche Fehlerabdeckung.

Nutzung von Verbindungsdaten

Der Bericht über die prognostizierte Fehlerabdeckung wird nur aus elementaren Rohdaten (Netzlisten, Bauteilmodelle und Boundary-Scan-Beschreibungssprachen) abgeleitet und macht dabei bestimmte Annahmen über den Zugang zu I/O-Signalen über Steckverbinder und Testpunkte.

Der Bericht entsprechend der tatsächlichen Fehlerabdeckung wird aus der Analyse einzelner Leiterplattentests abgeleitet, die bereits generiert wurden. Sie beinhalten typischerweise die Scanpfad-Infrastruktur, BSCAN-zu-BSCAN-Verbindungen, Speichertests und Logik-Cluster-Tests. Weitere, besonders wichtige Eigenschaften des automatischen Testwerkzeugs sind die Möglichkeit, die Schaltplandaten erneut zu überprüfen und Designaspekte auf optimale Fehlerabdeckung hin zu optimieren.

Schaltplanansichten und Kontaktierung

Das Importieren umfassenderer EDA-Daten – einschließlich Bauteilsymbolen – bietet dem Ingenieur für Baugruppentests etliche weitere Vorteile. Professionelle Testwerkzeuge, die ein Schaltplanbetrachter-Erweiterungsmodul unterstützen können, sollten dem Schaltplan auch Daten zur Fehlerabdeckung überlagern können. Durch das Hervorheben von Unterschieden bei der Fehlerabdeckung mittels eines Farbkodiersystems ist es ziemlich einfach, mit einem schnellen Blick die Bereiche der Baugruppe zu erkennen, die bereits vollständig getestet werden und sie von denen zu unterscheiden, die noch weiterer Aufmerksamkeit bedürfen.

Bild 1: Eine Leiterplatte, bei der 100 Prozent Fehlerabdeckung (alle Knoten) erreicht werden, in weißer Farbe hervorgehoben.

Bild 1: Eine Leiterplatte, bei der 100 Prozent Fehlerabdeckung (alle Knoten) erreicht werden, in weißer Farbe hervorgehoben.JTAG Technologies

Bild 1 zeigt beispielsweise eine Leiterplatte, bei der 100 Prozent Fehlerabdeckung (alle Knoten) erreicht werden (in weißer Farbe hervorgehoben). Interaktive Schaltplan-Betrachter, die über Links zur Boundary-Scan-Steuersoftware verfügen, erlauben auch einen unmittelbaren Verbindungstest (Durchgangstest oder „BUZZ“-Test) direkt aus der Schaltplanansicht heraus – ein sehr gutes Zusatzwerkzeug für Hardware-Entwickler zur Unterstützung des Prototypen-Debuggings.

Durch das Hervorheben von Unterschieden bei der Fehlerabdeckung mittels eines Farbkodiersystems ist es ziemlich einfach, die Bereiche der Baugruppe zu erkennen, die bereits vollständig getestet werden und sie von denen zu unterscheiden, die noch weiterer Aufmerksamkeit bedürfen. Der Testingenieur profitiert von der Möglichkeit, direkt in der Schaltplanansicht Guard-Pegel (feste Drive- und Sense-Punkte) konfigurieren zu können.

Zusammenspiel mit dem Leiterplatten-Layout

Zusätzlich zu der Möglichkeit moderner Testwerkzeuge, Schaltplanbetrachter zu nutzen, können sie häufig Leiterplatten-Layoutinformationen in verschiedensten Formaten importieren. Die Möglichkeiten reichen von dem allgegenwärtigen ODB++ bis zu proprietären Formaten von EDA-Anbietern.

Bild 2: Leiterplattentests, die nicht bestanden werden und bei denen Netz- oder Pin-Fehler diagnostiziert werden, können mit der Layout-Ansicht verlinkt und farblich hervorgehoben werden.

Bild 2: Leiterplattentests, die nicht bestanden werden und bei denen Netz- oder Pin-Fehler diagnostiziert werden, können mit der Layout-Ansicht verlinkt und farblich hervorgehoben werden.JTAG Technologies

Im Boundary-Scan-Bereich können Leiterplattentests, die nicht bestanden werden und in der Folge als Netz- oder Pin-Fehler diagnostiziert werden, mit der Layout-Ansicht verlinkt und dort farblich hervorgehoben oder in einer Zoom-Darstellung präsentiert werden (siehe Bild 2). Dabei können einzelne Lagen bei Bedarf ausgeblendet und die Leiterplatte kann gespiegelt oder von der Unterseite betrachtet werden, um eine schnelle Diagnose zu erleichtern. Auch hier können Daten der Fehleranalyse in der Layout-Ansicht überlagert werden.

Werkzeuge für die Bauteilebene

Während seiner mehr als 20-jährigen Geschichte wurde JTAG/Boundary-Scan prinzipiell mit dem Testen auf Baugruppenebene in Verbindung gebracht. In den letzten Jahren haben die Anbieter von JTAG-Testwerkzeugen die Chance ergriffen, zusätzliche Bauteileigenschaften zu nutzen, die in Bauteile (ICs) integriert wurden, ursprünglich jedoch nicht für Testanwendungen vorgesehen waren.

Bei Mikroprozessoren wird beispielsweise das JTAG-Interface häufig genutzt, um nicht nur auf das Boundary-Scan-Register, sondern auch auf interne Register zuzugreifen, die für Onchip-Debug-Modi (OCD) gedacht sind. Durch den Zugriff auf OCD-Eigenschaften der Bauteile können Testingenieure noch wesentlich ausgefeiltere Tests entwickeln, die erst durch die Nutzung der Module möglich werden, die in den Mikrocontrollern eingebettet sind (Bild 3).

Bild 3: Durch den Zugriff auf OCD-Eigenschaften der Bauteile können Testingenieure noch wesentlich ausgefeiltere Tests entwickeln, die erst durch die Nutzung der Module möglich werden, die in den Mikrocontrollern eingebettet sind.

Bild 3: Durch den Zugriff auf OCD-Eigenschaften der Bauteile können Testingenieure noch wesentlich ausgefeiltere Tests entwickeln, die erst durch die Nutzung der Module möglich werden, die in den Mikrocontrollern eingebettet sind.JTAG Technologies

Low-cost-Core-Commander-Tools vereinfachen diesen Ansatz erheblich und ermöglichen den Einsatz von Open-Source-Python-Code, um wiederverwendbare Testmodule zu schreiben. Ein weiteres Beispiel für die Art, wie Design- und Testwerkzeuge immer mehr miteinander verschmelzen, ist die Verwendung des JTAG-Zugriffs innerhalb des Kerns eines FPGAs.

Die meisten FPGA-Anbieter bieten inzwischen Hilfsmittel (sogenannte Megafunktionen) an, die eine Brücke zwischen dem herkömmlichen JTAG (IEEE 1149.1) -Test-Access-Point (TAP) und der eigentlichen Struktur des Gate-Arrays realisieren. Testingenieure, die mit den jeweiligen Design-Werkzeugen (zum Beispiel Quartus von Altera oder ISE von Xilinx) der Hersteller einigermaßen vertraut sind, können spezielle Test-IPs (Intellectual Properties) generieren, die über den JTAG-Port getriggert werden können.

Im Februar 2013 erweiterte JTAG Technologies diese Methode und führte einen allgemeinen Umsetzungsblock (Generic Translator Block) ein, der die „JTAG <=> Gatearray-Struktur“-Brücke mit Standard-Embedded-Bussen wie Wishbone, AMBA, Avalon und Coreconnect verlinkt.

Auf diese Weise kann der Testingenieur Standard-IP-Blöcke (zum Beispiel DDR-Controller, E-net MAC, CAN-Busschnittstellen und weitere) für Testzwecke nutzen, indem er sie zum JTAG-Port zurückverlinkt. Während der Entwicklungsphase können Ingenieure diese Methode ebenfalls benutzen, um die Leistungsfähigkeit des zu verifizierenden IPs zu testen, bevor es in das endgültige FPGA-Design übernommen wird.

Abschließend lässt sich allgemein feststellen, dass in kleineren Unternehmen der Testingenieur meist auch gleichzeitig der Hardware-Entwickler ist. Unter diesen Randbedingungen möchte er seine Designkenntnisse und Bemühungen meist auch für Testzwecke nutzen. Die Hersteller der Testwerkzeuge reagierten auf diesen Bedarf und bieten zahlreiche weitere Funktionalitäten, die den Transfer von Daten und IP von der Entwicklung in den Testbereich unterstützen.