DE102005025744A1 - Verfahren und Vorrichtung zum automatisierten Testaufbau - Google Patents

Verfahren und Vorrichtung zum automatisierten Testaufbau Download PDF

Info

Publication number
DE102005025744A1
DE102005025744A1 DE102005025744A DE102005025744A DE102005025744A1 DE 102005025744 A1 DE102005025744 A1 DE 102005025744A1 DE 102005025744 A DE102005025744 A DE 102005025744A DE 102005025744 A DE102005025744 A DE 102005025744A DE 102005025744 A1 DE102005025744 A1 DE 102005025744A1
Authority
DE
Germany
Prior art keywords
output
output pins
test instrument
test
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102005025744A
Other languages
English (en)
Inventor
Joel D. Colorado Springs Woodward
Adrian M. Colorado Springs Hernandez
Mason B. Colorado Springs Samuels
James B. Colorado Springs Stewart III
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Agilent Technologies Inc
Original Assignee
Agilent Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/923,460 external-priority patent/US7519879B2/en
Application filed by Agilent Technologies Inc filed Critical Agilent Technologies Inc
Publication of DE102005025744A1 publication Critical patent/DE102005025744A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/25Testing of logic operation, e.g. by logic analysers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3177Testing of logic operation, e.g. by logic analysers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318516Test of programmable logic devices [PLDs]
    • G01R31/318519Test of field programmable gate arrays [FPGA]
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/31903Tester hardware, i.e. output processing circuits tester configuration
    • G01R31/31908Tester set-up, e.g. configuring the tester to the device under test [DUT], down loading test patterns
    • G01R31/3191Calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/24Marginal checking or other specified testing methods not covered by G06F11/26, e.g. race tests
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

Vorrichtungen und Verfahren zum Aufbauen eines Testinstruments zur Durchführung von Messungen bei einer Schaltung, die eine Mehrzahl von Signalen aufweist, die an einer Mehrzahl von Ausgangsanschlussstiften anliegen. Konfigurationsparameter, die eine Identifizierung der Ausgangsanschlussstifte umfassen, werden wiedergewonnen und das Testinstrument wird für eine schnittstellenmäßige Verbindung mit den Ausgangsanschlussstiften, basierend auf den Konfigurationsparametern, konfiguriert. Eine Liste von Ausgangsanschlussstiften und eine Liste von Eingangsleitungen, die dem Testinstrument zugeordnet sind, werden grafisch auf einem Bildschirm, der dem Testinstrument zugeordnet ist, angezeigt. Unter Wechselwirkung mit der grafischen Anzeige ordnet der Benutzer dann jeden Ausgangsanschlussstift einer Eingangsleitung, mit der jeder Ausgangsanschlussstift verbunden ist, zu.

Description

  • Die vorliegende Anmeldung beansprucht die Priorität der US-Provisional-Patentanmeldung mit der Seriennummer 60/565,308, die am 26. April 2004 eingereicht wurde, mit dem Titel „DYNAMIC IN-CIRCUIT PROBING OF FIELD PROGRAMMABLE GATE ARRAYS" (Dynamische schaltungsinterne Sondierung frei programmierbarer Gatterarrays). Die vorliegende Anmeldung beansprucht außerdem die Priorität der US-Patentanmeldung mit der Seriennummer 10/923,460, die am 20. August 2004 eingereicht wurde, mit dem Titel „APPARATUS AND METHOD FOR DYNAMIC IN-CIRCUIT PROBING OF FIELD PROGRAMMABLE GATE ARRAYS" (Vorrichtung und Verfahren zum dynamischen schaltungsinternen Sondieren frei programmierbarer Gatterarrays).
  • Moderne integrierte Systeme, wie z. B. Systemchips (SOCs), frei programmierbare Gatterarrays (FPGAs) und anwendungsspezifische integrierte Schaltungen (RSICs), enthalten oftmals Merkmale, die zur Ermöglichung eines schaltungsinternen Testens entworfen sind. Die normale Prozedur bei der Durchführung eines schaltungsinternen Testens auf großen Schaltungen, wie z. B. frei programmierbaren Gatterarrays (FPGAs), besteht darin, der Schaltung Realweltstimuli über den gesamten Betriebsbereich zuzuführen und das resultierende Signal an verschiedenen Punkten in der gesamten Schaltung zu überwachen. Dieser Typ von Testen wird üblicherweise Shmoo-Testen genannt.
  • Testinstrumente, wie z. B. Oszilloskope und Logikanalysatoren, sind wichtige Werkzeuge, die zum schaltungsinternen Testen verwendet werden. Viele Digitalentwerfer sind daran gewöhnt, ihre Prototypplatinen unter Verwendung eines Logikanalysators als Fehlersuchhilfe hervorzubringen. Sie verwenden den Logikanalysator, um das Aufdecken von Integrationsproblemen und Entwurfsfehlern zu unterstützen. Zur Beobachtung des Verhaltens des Systems sondiert der Entwerfer verschiedene Busse und Chips in einem Versuch, die Grundursache des Problems zu isolieren. Durch diese Sondierung und erneute Sondierung verschiedener Komponenten können ausreichend Informationen gesammelt werden, um die zu dem Problem führenden Faktoren geeignet einzuschätzen. Mit diesen Informationen ist es für das Ingenieurteam möglich, den Fehler zu verstehen und eine Lösung zu formulieren.
  • Wenn ein Ingenieur Zugang zu internen Sondenpunkten benötigt, verändert er zuerst den Entwurf und die Herausführung des Satzes von Signalen zu einem Ausgangspunkt, üblicherweise einem Satz von Ausgangsanschlussstiften. Diese Ausgangsanschlussstifte sind allgemein auf einer PC-Platine platziert, wo eine einer Testgeräteanordnung zugeordnete Sonde die Signale erfassen kann. Der Ort ist üblicherweise ein Verbindungselement, wie z. B. ein Berg-Streifen, eine Samtec-Komponente oder eine Mictor-Komponente, könnte jedoch auch eine verbindungselementfreie Standfläche sein (d. h. soft touch). Jeder Sondierungstyp besitzt ein spezielles Kabel, das mit dem Verbindungselement auf der PC-Platine zusammenpasst und diese Signale zu dem Logikanalysator führt. Eine Alternative besteht darin, fliegende Anschlussleitungen zu verwenden, die eine direkte Verbindung zu den Ausgangsanschlussflächen eines Chips herstellen können. Als Nächstes muss der Ingenieur einen Logikanalysator aufbauen, um Signale von dem Ausgangspunkt zu erfassen.
  • Das Aufbauen eines Logikanalysators zur Sondierung von Signalen von ASICs oder FPGAs dauert üblicherweise mehrere Stunden. Um einen Logikanalysator aufzubauen, muss der Ingenieur zuerst manuell einen jedem internen Signal zugeordneten Ausgangsanschlussstift identifizieren. Als Nächstes muss der Ingenieur manuell einen jedem Ausgangsanschlussstift zugeordneten Sondenanschlussstift identifizieren. Als Nächstes werden die Logikanalysebaugruppe und der Kanal, der jedem Sondenanschlussstiften zugeordnet ist, manuell identifiziert. Schließlich wird der beste Abtastpunkt für jeden Kanal bestimmt und der Instrumenteneingangskanal-Abtastpunkt wird manuell eingestellt, um einen Versatz von Kanal zu Kanal auszugleichen.
  • Es gibt bei dem gegenwärtigen Verfahren mehrere Nachteile. Erstens ist das Verfahren zeitaufwendig. Jedes Signal wird unabhängig gehandhabt. Das Verfahren ist manuell und muss für jedes Signal mit jeweils einem Signal zu einem Zeitpunkt durchgeführt werden. So nimmt, wenn die Anzahl von Signalen zunimmt, die Zeitmenge für den Aufbau zu. Entwerfer verwalten üblicherweise diese Übersetzung durch Niederschreiben von Informationen auf Papier und manuelles Eingeben der Kanalzuweisung und des Signalnamens auf dem Logikanalysator-Aufbaumenü. Dieses Verfahren kann mehrere Stunden dauern und muss jedes Mal durchgeführt werden, wenn ein Benutzer eine neue Messung aufbaut. Zweitens ist das Verfahren ermüdend und fehleranfällig. Beispiele von Fehlern umfassen: Fehlidentifizierung eines zu einem spezifischen FPGA-Anschlussstift herausgeführten Signals; der PC-Platinenentwurf könnte fehlcharakterisiert werden; inkorrekte Spezifizierung eines Kanals oder einer Baugruppe in dem Lokalanalysator; und ein Signal könnte in dem Logikanalysatormenü falsch etikettiert oder buchstabiert sein. Jedes dieser Probleme wird verschlimmert, wenn ein System getestet wird, das multiplexierte Bänke von Ausgangssignalen verwendet, wie in der ebenfalls anhängigen US-Patentanmeldung mit der Seriennummer 10/923,460, eingereicht am 20. August 2004, die hierin durch Bezugnahme aufgenommen ist, offenbart ist.
  • Die vorliegenden Erfinder haben einen Bedarf nach Vorrichtungen und Verfahren zum Reduzieren der zum Aufbau eines Logikanalysators (oder anderen Typ an Testausrichtung) erforderlichen Zeit erkannt, während den gegenwärtigen Verfahren zugeordnete Fehler reduziert werden.
  • Es ist die Aufgabe der vorliegenden Erfindung, ein Verfahren, ein Testinstrument oder ein Testsystem mit verbesserten Charakteristika zu schaffen.
  • Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1, 3 oder 11, ein Testinstrument gemäß Anspruch 15 oder ein Textsystem gemäß Anspruch 23 gelöst.
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beigefügten Zeichnungen näher erläutert. Es zeigen:
  • 1 ein Blockdiagramm einer dynamischen Sonde gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 2 ein Blockdiagramm eines Zustandverfolgungsterms zur Verwendung in einer dynamischen Sonde gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 3 ein Blockdiagramm eines Zeitgebungsverfolgungskerns zur Verwendung in einer dynamischen Sonde gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 4 ein Blockdiagramm eines Logikanalysators 400 gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung;
  • 5 ein Flussdiagramm, das ein Verfahren zum Vorbereiten eines Logikanalysators für eine Testsitzung beschreibt;
  • 6 eine Bildschirm-Momentaufnahme einer grafischen Anzeige, die durch Software erzeugt wird, gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung;
  • 7 eine Bildschirm-Momentaufnahme einer grafischen Anzeige, die auf den in 6 gezeigten Kabelverbindung-Knopf bezogen ist;
  • 8 eine Bildschirm-Momentaufnahme einer grafischen Anzeige, die auf den in 6 gezeigten Vorrichtungskonfiguration-Knopf bezogen ist;
  • 9 eine Bildschirm-Momentaufnahme einer grafischen Anzeige, die auf den in 6 gezeigten Anschlussstiftabbildung-Knopf bezogen ist;
  • 10 eine Bildschirm-Momentaufnahme einer grafischen Anzeige, die auf den in 6 gezeigten Eigenschaften-Knopf bezogen ist;
  • 11 eine Bildschirm-Momentaufnahme einer grafischen Anzeige, die der Auswahl von Kernen und Bänken zugeordnet ist;
  • 12 eine Bildschirm-Momentaufnahme einer grafischen Anzeige, die durch Software erzeugt wird, gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung;
  • 13 eine Bildschirm-Momentaufnahme einer grafischen Anzeige, die auf den in 11 gezeigten Bus/Signalnamen-Abgleichen-Knopf bezogen ist;
  • 14 ein Blockdiagramm eines Zustandverfolgungskerns zur Verwendung in einer dynamischen Sonde gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 15 ein Blockdiagramm eines Zeitgebungsverfolgungskerns zur Verwendung in einer dynamischen Sonde gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 16a-16f Flussdiagramme eines Verfahrens gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 17 ein Blockdiagramm einer Schaltung, die zur Ausgabe eines Testsignals auf einem ausgewählten Anschlussstift einer zu testenden Vorrichtung verwendet wird; und
  • 18 ein Blockdiagramm einer Schaltung, die zur Ausgabe eines Testsignals auf einem ausgewählten Anschlussstift einer zu testenden Vorrichtung verwendet wird.
  • Im Folgenden wird detailliert auf die vorliegende Erfindung Bezug genommen, wobei Beispiele derselben in den beigefügten Zeichnungen dargestellt sind, wobei sich gleiche Bezugszeichen immer auf gleiche Elemente beziehen. Die folgende detaillierte Beschreibung legt Verfahren vor, die durch Routinen und Symboldarstellungen für Operationen von Datenbits innerhalb eines computerlesbaren Mediums, zugeordneter Prozessoren, Logikanalysatoren, Digitalspeicherozilloskopen, Universal-Personalcomputern, die mit Datenerfassungskarten konfiguriert sind, und dergleichen ausgeführt werden können. Ein Verfahren hier und im Allgemeinen wird als eine Folge von Schritten oder Aktionen aufgefasst, die zu einem erwünschten Ergebnis führt, und beinhaltet als solches Ausdrücke wie „Routine", „Programm", „Objekte", „Funktionen", „Teilroutinen" und „Prozeduren". Diese Beschreibungen und Darstellungen sind das durch Fachleute auf diesem Gebiet verwendeten Mittel, um das Wesentliche ihrer Arbeit effektiv anderen Fachleuten auf diesem Gebiet zu vermitteln.
  • Die Vorrichtungen und Verfahren der vorliegenden Erfindung werden unter Bezugnahme auf die Implementierung auf einem Logikanalysator beschrieben, die hierin genannten Verfahren könnten jedoch auf einem Universalcomputer oder einer anderen Netzvorrichtung arbeiten, die selektiv durch eine in dem Computer gespeicherte Routine aktiviert oder rekonfiguriert wird, und könnten schnittstellenmäßig mit den nötigen Signalverarbeitungsfähigkeiten verbunden sein. Insbesondere sind die hierin dargelegten Verfahren nicht inhärent auf eine bestimmte Vorrichtung bezogen, vielmehr könnten verschiedene Vorrichtungen mit Routinen gemäß den hierin enthaltenen Lehren verwendet werden. Maschinen, die die Funktionen der vorliegenden Erfindung durchführen könnten, umfassen diejenigen, die durch Unternehmen, wie z. B. AGILENT TECHNOLOGIES, INC., HEWLETT PACKARD und TEKTRONIX, INC., sowie anderen Herstellern von Test- und Messausrüstung hergestellt werden.
  • Unter Bezugnahme auf die hierin beschriebene Software werden Fachleute auf diesem Gebiet erkennen, dass eine Vielzahl von Plattformen und Sprachen zum Erzeugen einer Software zur Durchführung der hierin dargelegten Prozeduren existiert. Die Ausführungsbeispiele der vorliegenden Erfindung können unter Verwendung jeder einer Anzahl verschiedener Cs implementiert sein, Fachleute auf diesem Gebiet werden jedoch ebenso erkennen, dass die Auswahl der exakten Plattform und Sprache oft durch die spezifischen Details des tatsächlichen aufgebauten Systems vorgegeben wird, derart, dass etwas, was für einen Typ von System funktionieren könnte, für ein anderes System nicht effizient wäre.
  • Die vorliegende Erfindung wird unter Bezugnahme auf eine Implementierung auf Systemen beschrieben, die in der ebenfalls anhängigen US-Patentanmeldung mit der Seriennummer 10/923,460, die hierin durch Bezugnahme aufgenommen ist, beschrieben sind. Um ein Verständnis der vorliegenden Erfindung in Anwendung auf derartige Systeme zu erleichtern, sind die 1-3 und die folgende zugeordnete Beschreibung vorgesehen. Fachleute auf diesem Gebiet jedoch werden erkennen, dass die vorliegende Erfindung auch auf eine Viel zahl von Schaltungen anwendbar ist, einschließlich FPGAs und ASICs, die die hierin beschriebene multiplexierte Ausgabe nicht implementieren.
  • 1 ist ein Blockdiagramm eines Dynamiksondensystems 10 gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Das Dynamiksondensystem 100 vereinfacht eine Fehlersuche auf z. B. FPGAs und Systemchips (SOCs). Das Dynamiksondensystem 100 verbessert eine Beobachtbarkeit, was eine schaltungsinterne Fehlersuche erleichtert. Während das Dynamiksondensystem 100 für den SOC-Fluss entworfen ist (was es erlaubt, dass alle existierenden Werkzeuge, Entwurfsprozeduren und HDL für den SOC intakt zu halten sind), ist die vorliegende Erfindung nicht auf SOCs beschränkt, sondern könnte in einer Vielzahl von Umgebungen sowohl auf als auch außerhalb von FPGAs eingesetzt werden.
  • Das Dynamiksondensystem 100 weist im Allgemeinen einen Logikanalysator 110, der mit einem oder mehreren Verfolgungskernen 104 innerhalb eines FPGA 101 verbunden ist, auf. Der Verfolgungskern 104 weist einen zweckgebundenen Fehlersuchkern auf, der interne Signale außerhalb des FPGA 101 zu dem Logikanalysator 110 führt. Der Verfolgungskern 104 verbindet interne Signale von einem oder mehreren Kernen 106n in dem SOC 102 (oder allgemeiner der zu testenden Schaltung) mit durch einen Logikanalysator 110 sondierten Ausgangsanschlussstiften. Der Logikanalysator 110 und das FPGA 101 sind durch zwei Busse 120 und 122 verbunden.
  • Datensignale von den Kernen 106n werden durch Ersatzanschlussstiften auf dem FPGA 101 über einen Datensignalbus 122 erhalten. Der Datensignalbus 122 weist üblicherweise, jedoch nicht notwendigerweise eine reguläre Sondierungsverbindung auf, die dem Logikanalysator 110 zugeordnet ist. Da die Anzahl von Ersatzanschlussstiften üblicherweise kleiner ist als die Anzahl von Signalen, die eine Sondierung benötigen, schaltet der Verfolgungskern 104 die Signalausgabe auf den Anschlussstiften um, um auswählbare Bänke von Sig nalen bereitzustellen. Die Ausdrücke Signal und Kanal werden hierin austauschbar verwendet.
  • Der Logikanalysator 110 weist im Allgemeinen einen Logikanalyseabschnitt 112 und einen Sondensteuerungsabschnitt 114 auf. Der Logikanalysator 110 kann z. B. auf einem AGI-LENT 16903A basieren. Der Logikanalyseabschnitt 112 weist allgemein einen bekannten Logikanalysator auf, während der Sondensteuerungsabschnitt 114 im Allgemeinen zusätzliche Software aufweist, die unter dem Betriebssystem läuft, das für den Logikanalyseabschnitt 112 zugehörig ist. Der Sondensteuerungsabschnitt 114 überwacht und steuert im Allgemeinen den Verfolgungskern 104 unter Verwendung eines seriellen Kommunikationsbus 120, der gemäß einem einer Anzahl von Seriellkommunikationsstandards, wie z. B. IEEE 1149.1 – auch bekannt als JTAG, arbeitet.
  • Das Dynamiksondensystem 100 kann für Zustands- oder Zeitgebungsmessungen konfiguriert sein. Zustandsmessungen verwenden einen einfachen Abtastungstakt für alle Eingänge in den Verfolgungskern. Der Abtastungstakt für den Zustandskern kommt von innerhalb des SOC 102. Zeitgebungsmessungen verwenden keinen vom Entwurf gelieferten Abtastungstakt. Statt dessen werden die Verfolgungsdaten auf dem Logikanalysator 110 unter Verwendung eines Takts abgetastet, der durch den Logikanalysator 110 erzeugt wird. So ist es mit einem Verfolgungskern 104, der für Zeitgebungsmessungen konfiguriert ist (einem „Zeitgebungsverfolgungskern") möglich, Störimpulse in dem SOC 102 zu untersuchen, während ein Verfolgungskern 104, der für Zustandsmessungen konfiguriert ist (ein „Zustandverfolgungskern") für synchrone Messungen beabsichtigt ist.
  • Während eine Vielzahl von FPGA-Werkzeugen existiert, die modifiziert werden könnten, um zu dem Verfolgungskern 104 hinzugefügt zu werden, wird die folgende Erläuterung auf die Erzeugung und Hinzufügung unter Verwendung von ChipScope-Werkzeugen beschränkt. Der Verfolgungskern 104 könnte durch zwei Verfahren, nämlich Instantiierung und Einfügung, in ein FPGA 101 hinzugefügt werden. Ein Hinzufügen des Verfolgungskerns 104 durch Instantiierung macht es erforderlich, dass der SOC-Entwerfer seine HDL modifiziert und den Verfolgungskern 104 in den Entwurf instantiiert. Der instantiierte Kern ist tatsächlich ein Blackbox-Entwurf, der während einer letztendlichen FPGA-Platzierung und -Führung angeschlossen wird. Ein alternatives Verfahren zum Hinzufügen eines Verfolgungskerns 104 besteht in der Einfügung unter Verwendung eines ChipScope-Kerneinsetzer-Werkzeugs von Xilinx's. Dieses Werkzeug nimmt einen synthetisierten Entwurf, wie z. B. ein SOC, und fügt den Verfolgungskern 104 unter Verwendung der Entwurfs-EDIF-Datei hinzu. In diesem Fall ist die SOC-HDL nicht modifiziert und der Verfolgungskern 104 könnte unter Verwendung dieses Kerneinfügungswerkzeugs dimensioniert und verbunden sein.
  • Die XILINX-Software gibt eine „.cdc"-Datei für jeden eingefügten Kern aus. Eine .cdc-Datei enthält Informationen, die den zugeordneten Kern beschreiben, sowie die zugeordneten EDIF-Dateien, bei denen Signalnamen für jede auswählbare Bank zu finden sind, und die ausgewählten FPGA-I/O-Standards. Tabelle 1 enthält ein Beispiel einer CDC-Datei.
  • TABELLE 1
    Figure 00100001
  • Figure 00110001
  • 2 ist ein Blockdiagramm eines Zustandverfolgungskerns 200 (auch als der Kern 200 bezeichnet) zur Verwendung in einer Dynamiksonde 100 gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Der Kern 200 weist im Allgemeinen einen Multiplexer (Mux) 204, eine Datenkalibrierungseinheit 206, einen Zeitmultiplexer (TDM) 208, Ausgangsanschlussstifte 210, gemeinsam mit einem Satz von Status- und Steuerregistern, die kollektiv als die Kernregister 213 bezeichnet werden, auf. Die Kernregister 213 liefern einen Aufsichtszugriff auf den Logikanalysator 110. Der mux 204, die Datenkalibrierungseinheit 206, der TDM 208 und die Ausgangsanschlussstifte 210 schaffen die physische Verbindung zwischen sondierten Signalen auf dem SOC 102 und Ausgangsanschlussstiften, die zu dem Logikanalysator 110 laufen (siehe 1). Die physische Verbindung wird auf einen Abtastungstakt 222, der durch den SOC 102 über einen Kanal 224 geliefert wird, synchronisiert.
  • Ein Zwischenspeicher 202 befindet sich zwischen dem mux 204 und dem SOC 102. Der Zwischenspeicher 202 weist im Allgemeinen Register auf, die die Eingänge des Mux 204 überspannen. Der Zwischenspeicher 202 trennt den Kern 200 von dem SOC 102. Diese Trennung weist zwei Vorteile auf. Erstens ist der Mux 204 nicht direkt mit dem sondierten Signal verbunden. Die Register in dem Zwischenspeicher 202 wirken als Pipelineregister, wobei nur eine zusätzliche Last zu dem SOC-Signal hinzugefügt wird und eine Mux-Verzögerung vor demselben versteckt wird. Der zweite Vorteil besteht darin, dass die Register in dem Zwischenspeicher 202 deaktiviert werden können, was Signale vor einem Durchlaufen zu dem Rest der Kerns 200 blockiert. Der Vorteil hier besteht darin, dass der Kern 200 abgeschaltet werden kann, um Leistung einzusparen, indem einfach der Zwischenspeicher 202 deaktiviert wird.
  • Der Mux 204 weist im Allgemeinen einen parallelen Multiplexer auf, der Gruppen oder Bänke von Signalen von Bänken von Eingängen zu einer einzelnen Bank von Ausgängen leitet. Die Anzahl von Eingangsbänken ist konfigurierbar und kann auf jede erwünschte Größe, z. B. von 2 Bänken bis 2048 Bänken, eingestellt sein. Mit jeder zusätzlichen Bank nimmt die Anzahl beobachtbarer Signale zu. Jede Bank ist mit einem Signalsatz 106n in dem SOC 102 verbunden. Jedes Signal in einem Satz könnte von anderer Stelle innerhalb des SOC 102, einschließlich eines SOC-Bus 220, erhalten werden. In 2 stellt jede Leitung bei den Datensignalverbindungen 226 eine Bank von Signalen (oder Kanälen) dar, d. h. eine Mehrzahl physischer Signalleitungen, wie z. B. 32 separate Datenquellen. Die Anzahl von Signalen in jedem Signalsatz 106n könnte durch den Entwerfer definiert werden, entspricht jedoch im Allgemeinen (ohne die Verwendung des TDM 208) der Anzahl von Ausgangsanschlussstiften 210, die zweckgebunden für eine Fehlersuche sind.
  • Die Ausgabe des Mux 204 wird unter Verwendung einer oder mehrerer Auswahlleitungen 212 umgeschaltet. Auswahlleitun gen 212 werden durch Einträge, durch den Logikanalysator 110 eingestellt, in den Kernregistern 213 getrieben. Die Anzahl von Auswahlleitungen 212 hängt von der Anzahl von an den Mux 204 angelegten Bänken ab. Wenn es z. B. vier Bänke gibt (wie in 2 gezeigt ist), würden zwei Auswahlleitungen 212 genügen. Wenn acht Bänke verwendet werden, wären drei Auswahlleitungen 212 erforderlich.
  • Die Ausgabe des Mux 204 könnte registriert werden (nicht gezeigt), um die Mux-Logik pipelinemäßig zu verarbeiten und die Leistung des Kerns 200 zu erhöhen. Der Hauptvorteil besteht darin, dass der Kern 200 nicht nur schneller läuft, sondern auch weniger wahrscheinlich mit dem Gesamt-SOC-Zeitgebungsbudget interferiert.
  • Am Ende der physischen Signalverbindung zwischen dem SOC 102 und dem Kern 200 befinden sich Ausgangsanschlussstifte 210. Die Ausgangsanschlussstifte 210 weisen im Allgemeinen FPGA-Ausgangspuffer und Anschlussstifte/Kugeln auf. Zu den Ausgangsanschlussstiften stellt der Logikanalysator 110 eine physische Verbindung über die Datenkanäle 122 her. Wenn der Kern 200 erzeugt wird, stellt der Benutzer die Anzahl von Datenkanälen ein, die zu dem Logikanalysator 110 laufen – üblicherweise basierend auf den verfügbaren Fehlersuche/Ersatz-Anschlussstiften in dem FPGA 101. Der Kern 200 weist zwei Typen von Kanälen auf, die zu dem Logikanalysator 110 laufen. Der erste Kanaltyp ist ein Taktkanal, der verwendet wird, um das Taktsignal von dem Taktgeber 222 zur Verwendung beim Abtasten der Verfolgungsdaten 214 zu tragen. Der Taktgeber 222 weist im Allgemeinen den Verfolgungskern-Abtasttakt auf, der durch den SOC 102 bereitgestellt wird. Üblicherweise wird nur ein Anschlussstift für den Taktkanal 224 benötigt. Der zweite Kanaltyp ist ein Datensignalkanal, der die sondierten Signale von dem SOC 102 zu dem Logikanalysator 110 trägt.
  • 3 ist ein Blockdiagramm eines Zeitgebungsverfolgungskerns 300 (auch als der Kern 300 bezeichnet) zur Verwendung in einer Dynamiksonde gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Der Zeitgebungsverfolgungskern weist im Allgemeinen einen Multiplexer 302 (Mux 302), Ausgangsanschlussstifte 306 und Kernregister 308 auf. Der Mux 302 und die Ausgangsanschlussstifte 306 liefern die physische Verbindung zwischen internen Signalen und Ausgangsanschlussstiften. Die physische Verbindung ist im Inneren des Kerns 300 asynchron und benötigt keinen Abtastungstakt von dem SOC 102. Daten auf der physischen Verbindung werden durch den Logikanalysator 110 (siehe 1) unter Verwendung des Hochgeschwindigkeits-Abtasttakts des Logikanalysators erfasst. Die Register 308 dienen als Aufsichtszugriff für den Logikanalysator 110.
  • Der Zeitgebungskern-Mux 302 ähnelt dem Zustandskern-Mux 204 mit Nichtbeinhalten der optianalen Eingangs- und Ausgangsregister. Der Zeitgebungskern-Mux 302 leitet Bänke von Eingaben an einen Ausgang, registriert jedoch nicht die Eingaben oder die Ausgaben, was es erlaubt, dass durch den Mux laufende Daten wahrlich asynchron sind. Die Anzahl von Mux-Eingangsbänken könnte z. B. von 2 bis 1024 variieren und wird eingestellt, wenn der Kern 300 erzeugt wird. In 3 stellt jede Leitung bei den Datensignalverbindungen 310 eine Bank von Signalen dar, z. B. eine Mehrzahl physischer Signalleitungen (oder Kanäle), wie z. B. 32 separate Datenquellen. Die Mux-Ausgaben werden unter Verwendung der Auswahlleitungen 304, die mit den Registern 308 verbunden sind, umgeschaltet. Die Eingaben 302 in den Mux 304 können von jeder Stelle innerhalb des FPGA 101 kommen, was eine flexible Verbindung jedes Signals in dem SOC 102 mit dem Zeitgebungsverfolgungskern 300 erlaubt.
  • Die Ausgabe des Mux 302 läuft zu den Ausgangsanschlussstiften 306. Diese Anschlussstifte stellen die Ausgangspuffer und Anschlussstift/Kugeln dar, die eine Verbindung zu dem Logikanalysator 110 herstellen. Wenn der Kern 300 erzeugt wird, spezifiziert der Benutzer die Anzahl von Anschlussstiften, den Anschlussstiftort und den Ausgangszwischen speicherstandard für die Ausgaben des Kerns 300. Der Kern 300 weist nur Datensignalkanäle auf, da der Taktkanal von dem SOC 102 nicht verwendet wird; das Taktsignal könnte jedoch als ein Datensignal gesendet werden. Im Allgemeinen ist die durch den Kern 300 verwendete Anzahl von Anschlussstiften immer gleich der Anzahl von Datensignalkanälen.
  • Der Pfad zwischen den sondierten SOC-Signalen und den Ausgangsanschlussstiften 306 ist ein unbeschränkter falscher Pfad. Dieser Pfad ist in dem FPGA 101 unbeschränkt, da der Pfad von dem sondierten SOC-Signal zu den Ausgangsanschlussstiften 306 keine Register aufweist. Da keine Register vorliegen, sind sich FPGA-Platzierungs- und Führungswerkzeuge der Zeitgebungsbeschränkungen nicht bewusst. Deshalb behandeln die FPGA-Werkzeuge dies als einen unbeschränkten falschen Pfad. Die Wirkung dieses Verhaltens besteht darin, dass die Zeitgebung der sondierten Signale das Zeitgebungsbudget des SOC 101 nicht beeinflusst.
  • Ein Nachteil an der Verwendung eines unbeschränkten Pfads besteht darin, dass die Zeitgebungsverfolgungskerndaten versetzt sind. In diesem Fall kann das Versatzkorrekturmerkmal des Logikanalysators 110 nicht verwendet werden. Die Lösung hierfür besteht darin, entweder Beschränkungen für die Pfade hinzuzufügen oder einen FPGA-Zeitgebungsbericht zu erzeugen und die durch den Logikanalysator 110 erfassten Daten zu normen. Ressourcen sind ohne weiteres für Fachleute auf diesem Gebiet zur Implementierung einer der Lösungen verfügbar.
  • Der Zeitgebungsverfolgungskern 300 weist keine Datenkalibrierungs- oder TDM-Einheit auf. In Bezug auf die Datenkalibrierungseinheit könnten die Daten manuell durch den Benutzer unter Verwendung des Logikanalysators über Abtastungen der Eingaben Versatz-korrigiert (genormt) werden. Ein TDM ist nicht möglich, da dem Kern 300 ein SOC-Abtasttakt fehlt, von dem Daten auf einer ansteigenden oder abfallenden Flanke zu versenden sind. Ein Weglassen dieser Einheiten jedoch reduziert die Größe des Kerns 300.
  • Der Zeitgebungsverfolgungskern 300 soll ein Messen asynchroner Ereignisse in großem Umfang unterstützen. Der Kern 300 soll ein Finden des genauen Aufbaus und eines Haltefensters eines einzelnen Flip-Flops innerhalb des FPGA 101 nicht unterstützen. Statt dessen soll er ein Finden von Signalen, die zu früh oder spät relativ zu anderen Signalen umschalten, finden. Der Kern 300 kann auch verwendet werden, um Störimpulse an den Eingangsanschlussstiften zu erfassen, was Probleme auf der PCB anzeigen könnte. Der Kern 300 kann ein Bestimmen dessen, wie lange ein Signal in einem Hoch- oder Niedrigzustand bleibt, sowie die Rate, mit der derselbe umschaltet, unterstützen. Schließlich kann der Kern 300 bei einer Mehrtaktbereichsfehlersuche eingesetzt werden, was es erlaubt, dass Signale von zwei oder mehr Taktbereichen gleichzeitig durch den Logikanalysator 110 untersucht werden können.
  • LOGIKANALYSATOR
  • 4 ist ein Blockdiagramm eines Logikanalysators 400, der geeignet zur Verwendung bei Ausführungsbeispielen der vorliegenden Erfindung ist. Der Logikanalysator 400 erfasst, analysiert und zeigt eine breite Vielzahl von Signalen allgemein ausgedrückt durch den Logikpegel der Signale gegenüber der Zeit an. Bei dem in 4 gezeigten veranschaulichenden Analysator umfasst der Logikanalysator 400 ein Universalcomputersystem, das unter Verwendung einer Computerprogrammiersprache auf hoher Ebene und einer speziell programmierten zweckgebundenen Hardware zur Durchführung von Signalerfassungs-, Analyse- und Anzeigefunktionen programmierbar ist. Die vorliegende Erfindung könnte in anderen Umgebungen implementiert sein, wie z. B. in einem alleinstehenden Logikanalysator, oder unter Verwendung eines zweckgebundenen Programms, das auf eingebaute Prozessoren, ASICs, Firmware, Hardware oder eine Kombination derselben wirkt, implementiert sein.
  • Der Logikanalysator 400 umfasst einen Prozessor 402, einen Systemspeicher 404, Eingangs-/Ausgangs-(I/O-)Karten 406, Speichereinheiten 412, wie z. B. ein Festplattenlaufwerk, Diskettenlaufwerk, usw. Der Analysator 400 könnte außerdem eine oder mehrere Benutzereingabe/Ausgabe-Vorrichtungen, wie z. B. eine Tastatur 408, Zeigevorrichtungen 410 und eine Anzeige 414, umfassen. Der Systemspeicher 404 wird zur Speicherung von Software, einschließlich Programminstruktionen, computerlesbaren Programmen und Daten, verwendet. Bei einem bevorzugten Ausführungsbeispiel umfasst der Systemspeicher 404 einen Direktzugriffsspeicher (RAM). Die Anzeige 414 ist eine Kathodenstrahlanzeige oder LCD und ist logisch oder physisch in ein Array von Bildelementen (Pixeln) unterteilt. Die Eingangs-/Ausgangs-(I/O-)Schnittstellenkarten 406 könnten Modemkarten, Netzschnittstellenkarten, Soundkarten und dergleichen sein. Vorzugsweise könnte zumindest eine I/O-Schnittstellenkarte 406 eine JTAG-fähige Schnittstelle aufweisen oder eine Schnittstelle, wie z. B. einen seriellen KOM-Port oder einen parallelen Druckerport, der schnittstellenmäßig mit einem JTAG-fähigen Kabel verbunden sein kann.
  • Der Prozessor 402 ist üblicherweise ein kommerziell erhältlicher Prozessor, wie z. B. der Pentium-Mikroprozessor der INTEL CORPORATION, oder Mikroprozessoren der PowerPC-Serie von IBM und MOTOROLA. Viele andere Prozessoren sind ebenso erhältlich. Ein derartiger Prozessor führt ein Programm aus, das als ein Betriebssystem 414 bezeichnet wird, und liefert eine grafische Benutzerschnittstelle (GUI) 416 und ein Fenstertechniksystem, wie z. B. die verschiedenen Versionen des Windows-Betriebssystems, einschließlich WINDOWS XP der MICROSOFT CORPORATION, oder das Unix-Betriebssystem, das bei vielen Verkäufern erhältlich ist, wie z. B. bei SUN MICROSYSTEMS, INC., HEWLETT-PACKARD COMPANY und AT&T. Das Betriebssystem 414 steuert die Ausführung anderer Computer programme, wie z. B. von Softwareausführungsbeispielen der vorliegenden Erfindung, und sorgt für eine Zeitplanung, eine Eingangs-Ausgangssteuerung, Datei- und Datenverwaltung, Speicherverwaltung und Kommunikationssteuerung und verwandte Dienste. Der Prozessor 402 und das Betriebssystem 414 definieren im Allgemeinen eine Computerplattform, durch einen Strichblock 401 gezeigt, für die Anwendungsprogramme in Programmiersprachen auf hoher Ebene geschrieben werden können. Die Funktionselemente des Logikanalysators 400 kommunizieren miteinander über den Systembus 428.
  • Das Signalerfassungsmodul 422 enthält einen Schaltungsaufbau und eine Software, die Logiksignale 426 von einer zu testenden Vorrichtung 418 über Datenkanäle 424 abtastet und digitalisiert. Anders ausgedrückt empfängt und digitalisiert das Signalerfassungsmodul 422 periodisch erhaltene Abtastwerte der Logiksignale 426. Das Abtastzeitintervall könnte durch einen Bediener spezifiziert sein oder mit einem Logiksignal 426, das von der zu testenden Vorrichtung 418 empfangen wird, wie z. B. einem Taktsignal, das durch die zu testende Vorrichtung 418 erzeugt wird, synchronisiert sein. Die abgetastete und digitalisierte Darstellung von Logiksignalen 426 wird zeitweilig zur Analyse durch das Signalerfassungsmodul 422 gespeichert.
  • Ein ausgewählter Abschnitt der abgetasteten Logiksignale 426 zur nachfolgenden Speicherung und Anzeige wird basierend auf einer durch einen Bediener definierten Auslösesequenz bestimmt. Eine Auslösesequenz ist allgemein durch zwei Parameter spezifiziert, eine Auslöserdefinition, die die Vorkommnisse identifiziert, unter denen Signaldaten gespeichert werden sollen, und eine Auslöserposition, die die relative Position des Auftretens, das durch die Auslöserdefinition definiert ist, identifiziert. Eine vorbestimmte Menge an Signaldaten, die vor und nach dem spezifizierten Auftreten auftreten, wird in dem Erfassungsspeicher 429 gespeichert.
  • Der Logikanalysator 400 umfasst außerdem eine Videoanzeigensteuerung 427. Die Computerplattform 401 treibt die Videoanzeigensteuerung 427 unter Verwendung von Standard-Fenster-Anwendungsprogrammschnittstellen (-APIs). Die Auslösersequenz ist durch ein Messspezifizierungsmodell, das in der grafischen Benutzerschnittstelle 416 vorgelegt wird, definiert.
  • Ein Hardwareressourcenzuteiler 420 ist zwischen der Signalerfassungshardware 422 und der grafischen Benutzerschnittstelle 416, auf der ein Signalmessspezifizierungsmodell dem Benutzer vorgelegt wird, angeordnet. Im Allgemeinen teilt der Hardwareressourcenzuteiler die angeforderten Hardwareressourcen zu und konfiguriert dieselben und übersetzt die Messspezifizierung in Hardwaresteuerdaten, die durch Softwaretreiber verwendet werden, um die Signalerfassungshardwareressourcen zu programmieren.
  • AUTOMATISIERTE TESTAUFBAUSOFTWARE
  • Der Logikanalysator 400 arbeitet unter der Steuerung einer Software, die gemäß dem ausgewählten Betriebssystem formuliert ist. Die hierin beschriebene Software wird unter Bezugnahme auf das Betriebssystem WINDOWS XP beschrieben. Ferner werden die hierin beschriebenen Ausführungsbeispiele unter Bezugnahme auf eine zu testende Vorrichtung beschrieben, die die unter Bezugnahme auf die 1-3 dargelegten Lehren einsetzt, z. B. die Verwendung eines Multiplexers, gesteuert über ein Seriellkommunikationskabel, wie z. B. ein JTAG-fähiges Kabel. Fachleute auf diesem Gebiet werden erkennen, dass die vorliegende Erfindung auf andere zu testende Vorrichtungen mit und ohne zusätzliche Kommunikationskabel anwendbar ist.
  • 5 ist ein Flussdiagramm, das ein Verfahren zum Vorbereiten eines Logikanalysators für eine Testsitzung beschreibt. Das Verfahren beginnt bei Schritt 500. Bei Schritt 502 schaltet der Testingenieur die Testausrüstung, d. h. einen Logikanalysator, ein und steckt eine Testvorrichtung (d. h. Mictor, soft touch, Samtec oder freie Anschlussleitungssonden als Beispiel) in die Testpunkte an der zu testenden Vorrichtung, wie z. B. in eine PC-Platine, die eine ASIC oder einen FPGA trägt. Als Nächstes werden bei Schritt 504 Kernkonfigurationsinformationen von der zu testenden Vorrichtung z. B. aus den Kernregistern über eine JTAG-Kommunikationsverbindung wiedergewonnen. Konfigurationsinformationen könnten eine Identifizierung der Kerne, die zur Abfrage verfügbar sind, die Anzahl von Anschlussstiften, die durch den Kern verwendet werden, und den Ausgabestandard der Ausgabeanschlussstifte umfassen. Bei Schritt 506 wird ein Kern zur Abbildung ausgewählt.
  • Bei Schritt 508 werden die Ausgangsanschlussstifte der zu testenden Vorrichtung in Eingangsanschlussstifte auf der Sonde abgebildet. Diese Abbildung könnte unter Verwendung einer grafischen Benutzerschnittstelle durchgeführt werden, bei der dem Benutzer eine grafische Darstellung der Ausgangsanschlussstifte vorgelegt wird und derselbe aufgefordert wird, die Logikanalysatorkanäle darauf abzubilden. Durch ein Bewegen jedes Ausgangsanschlussstifts zu seinem zugeordneten Kanal schließt der Benutzer die Abbildung ab. Bei einer im Folgenden erläuterten Verbesserung wird ein Verfahren zum automatischen Identifizieren der Korrespondenz zwischen den Ausgangsanschlussstiften auf der zu testenden Vorrichtung und dem Kanal auf dem Logikanalysator vorgelegt.
  • Bei Schritt 510 wird der Logikanalysator konfiguriert, um eine schnittstellenmäßige Verbindung zu den Ausgangsanschlussstiften der zu testenden Vorrichtung herzustellen. Die Sonde z. B. wird auf den Ausgabestandard der Ausgangsanschlussstifte eingestellt, wie z. B. LVTTL, LVDS und SSTL. Als Nächstes werden bei Schritt 512 Signalnamen von Signalen, die an Ausgangsanschlussstifte auf der zu testenden Vorrichtung angelegt werden, auf Kanäle auf dem Logik analysator abgebildet, was es ermöglicht, dass die Signalnamen mit ihren entsprechenden Kanälen auf der Logikanalysatoranzeige angezeigt werden. Bei bekannten Verfahren wurde dies manuell durchgeführt, wobei der Benutzer manuell Namen eingegeben und jedem Kanal in dem Logikanalysator zugewiesen hat. Gemäß der vorliegenden Erfindung werden Informationen über die an die Ausgangsanschlussstifte angelegten Signale wiedergewonnen und verwendet, um die Kanäle auf dem Logikanalysator zu identifizieren. Derartige Informationen könnten z. B. aus den EDIF-Dateien, die der zu testenden Vorrichtung zugeordnet sind, wiedergewonnen werden. Alternativ könnte eine Datei, die eine Korrespondenz zwischen jedem Signal und dem Ausgangsanschlussstift, an den dasselbe angelegt wird, entweder auf einer Platte oder an einem Speicherort auf der zu testenden Vorrichtung gespeichert werden. Diese Datei würde nachfolgend wiedergewonnen und verwendet werden, um Signalnamen auf Logikanalysatorkanäle abzubilden.
  • Bei Schritt 514 wird der Logikanalysator für Messungen vorbereitet. Eine Versatzkorrekturprozedur könnte z. B. aufgerufen werden. Das Verfahren endet danach bei Schritt 516.
  • Die 6 bis 13 stellen grafische Anzeigen dar, die einer Software zugeordnet sind, die in der Lage ist, das in 5 beschriebene Verfahren zu implementieren. 6 ist eine Bildschirm-Momentaufnahme einer grafischen Anzeige, die durch eine Software erzeugt wird, gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung. Die Dynamiksondensoftware ist allgemein in zwei Abschnitte unterteilt: einen Aufbauabschnitt und einen Bankauswahlabschnitt. Das in 6 dargestellte Fenster 600 stellt eine grafische Anzeige dar, die der Aufbaufunktion zugeordnet ist. Das Sondenaufbaufenster 600 weist fünf Knöpfe auf: Kabelverbindung 610; Vorrichtung konfigurieren 612, Bus/Signalnamen importieren 614; Anschlussstiftabbildung 616 und Eigenschaften 618. Um das Aufbauverfahren zu starten, wird ein Kommunikationskabel, wie z. B. ein JTAG-fähiges Kabel, durch ein Aktivieren des Knopfs 610 initialisiert.
  • 7 ist eine Bildschirm-Momentaufnahme einer grafischen Anzeige, die auf den in 6 gezeigten Kabelverbindung-Knopf 610 bezogen ist. Bezug nehmend auf die Dynamiksonde 100 aus 1 erfordert die Verbindung mit jedem Kern 104 ein Programmieren eines Programmierungskabels, wie z. B. eines JTAG-kompatiblen Kabels, das bei XILINX erhältlich ist. Das Kabelverbindung-Fenster 700 ermöglicht die Erfassung von Informationen, die zur Konfiguration einer JTAG-Verbindung nötig sind. Ein Typ eines Kabels wird von dem Funkknopfabschnitt 710 erhalten. Bei dem gezeigten Beispiel ist der einzige auswählbare Kabeltyp ein XILINX-Parallelkabel. Fachleute auf diesem Gebiet werden erkennen, dass andere Kabeltypen verfügbar sind und mit der vorliegenden Erfindung verwendet werden könnten. Ein Auf klapp- bzw. Pull-down-Menü 712 ermöglicht es dem Benutzer, einen Kabeltyp einzugeben. Einige Beispiele eines Kabeltyps umfassen ein Xilinx Parallel 4-Programmierkabel. Das Beispiel zeigt eine Autoerfassungsprozedur, die versucht, ein Kabel abzufragen und einen Typ zu bestimmen. Das Pull-down-Menü 714 erlaubt es dem Benutzer, ein Port bereitzustellen, mit dem das Kabel verbunden ist, z. B. LPT1, LPT2, COM1, COM2, usw. Schließlich erlaubt es das Pull-down-Menü 716 dem Benutzer, die Kommunikationsgeschwindigkeit mit dem Kabel einzugeben. Bei diesem Beispiel werden 200 kHz ausgewählt. Sobald diese Informationen gesammelt wurden, kann die Software die nötigen Parameter zur Kommunikation mit dem Kabel initialisieren.
  • 8 ist eine Bildschirm-Momentaufnahme einer grafischen Anzeige, die auf den in 6 gezeigten Vorrichtung-Konfigurieren-Knopf 612 bezogen ist. Der Vorrichtung-Konfigurieren-Knopf 612 bringt ein Dateiauswahl-Fenster 800 auf, das die Auswahl einer Konfigurationsdatei 802n erlaubt. Eine Konfigurationsdatei 802n enthält im Allgemeinen Informationen, um das FPGA auf einen durch einen Benutzer definierten Zustand zu konfigurieren. Diese Datei wird unter Verwendung von FPGA-Entwurfswerkzeugen erzeugt und ist normalerweise durch einen Menschen nicht zerstörbar.
  • Sobald dies konfiguriert ist, kann der Benutzer das FPGA unter Verwendung der JTAG-Verbindung programmieren. Nach der Programmierung kann das FPGA abgefragt werden, um das Vorliegen von Kernen zu identifizieren. Jeder identifizierte Kern wird dann abgefragt, um Kernparameter aus den Kernregistern wieder zu gewinnen. Diese Parameter könnten z. B. eine Anzahl von Verfolgungsdatenanschlussstiften und eine Anzahl von Signalbänken umfassen. Unter Verwendung dieser Informationen kann der Logikanalysator eine Anzeige der Vorrichtungen auf der JTAG-Abtastkette erzeugen, einschließlich der Kerne im Inneren des FPGA. Sobald der Kern ausgewählt ist (siehe 11), durchläuft der Benutzer einen Prozess, der Anschlussstiftabbildung genannt wird, der durch das Klicken auf den Anschlussstiftabbildung-Knopf 616 eingeleitet wird. Die Anschlussstiftabbildung nimmt Kerndatenkanäle und Taktkanäle und bildet dieselben auf Kanäle auf dem Logikanalysator ab.
  • Ein Signalimportieren, aufgerufen durch ein Verwenden des Knopfs 614, liefert den Mechanismus zum Importieren von Signalnamen, auf die in einer CDC-Datei verwiesen wird, die dem ausgewählten Kern zur Verwendung bei der Anschlussstiftabbildung zugeordnet ist. Dieses Verfahren nimmt die Signalnamen, die mit den Eingangskern-Mux-Bänken während einer Kerneinfügung verbunden waren, und verwendet dieselben als Etiketten für die Logikanalysatorkanäle. Dies erlaubt es dem Benutzer, den exakten Namen, der in der EDIF-Datei zu sehen ist, auf dem Bildschirm des Logikanalysators zu sehen. Wenn der Benutzer Bänke umschaltet, verändert sich ein neuer Satz von Signalnamen, um die nächsten Banksignale widerzuspiegeln. Während dies nicht nötig ist, verbessert ein Importieren der Signalnamen die Leichtigkeit einer Verwendung des Logikanalysators und vereinfacht einen Messaufbau. Ein Signalimportieren weist allgemein ein Wie dergewinnen der Signalnamen von einem spezifizierten Ort auf. Der spezifizierte Ort könnte z. B. durch ein Parsen bzw. syntaktisches Analysieren einer .cdc-Datei bestimmt werden, um eine weitere Datei (üblicherweise eine EDIF-Datei) auf einer Speichervorrichtung, wie z. B. einer Festplatte oder einer optischen Platte, zu identifizieren. Alternativ könnte ein Diagramm, das Signalnamen enthält, auf der Schaltung oder der zu testenden Vorrichtung selbst gespeichert werden. In jedem Fall werden die Signalnamen aus dem spezifizierten Ort extrahiert und jeder Bank in einer Datenstruktur, die für den Logikanalysator lokal ist, zugeordnet.
  • Wie angemerkt wurde, liefern EDIF-Dateien einen bequemen Ort, von dem Signalnamen erhalten werden können. EDIF, eines der am verbreitetsten eingesetzten Elektronikentwurf-Austauschformate in der Welt, war ursprünglich Teil des EIA-Dienstes (EIA = Electronic Industries Alliance = Elektronikindustrieverband) für die Elektronikindustrie. Die folgende Beschreibung wurde von http://www.edif.orq/introduction.html erhalten. Das Elektronikentwurfaustauschformat (EDIF; EDIF = Electronic Design Interchange Format) ist ein Format, das zum Austausch von Entwurfsdaten zwischen unterschiedlichen CAD-Systemen und zwischen CAD-Systemen und Herstellung und Aufbau einer gedruckten Schaltung verwendet wird. Das „elektronisch" bezieht sich auf den Typ von Daten, d. h. Entwurfsdaten für Elektroniksysteme, und nicht den Austauschmechanismus. Natürlich ist eine EDIF-Datei maschinenlesbar und könnte elektronisch ausgetauscht werden. Derartige CAD-Systeme werden oft als elektronische CAD(ECAD-)Systeme oder Elektronikentwurfsautomatisierungs(EDA-)Systeme bezeichnet. Das EDIF-Format ist entworfen, um durch Computerprogramme geschrieben und gelesen zu werden, die Bestandteile von EDA-Systemen oder -Werkzeugen sind, oder durch eine Software, die Teil von Front-End-Herstellungssystemen ist (CAM-Stationen). Die Syntax ist für ein leichtes Maschinen-Parsen entworfen und ähnelt LISP. Naturgemäß stecken die EDIF-Standards für die meisten EDA- Benutzer hinter den Szenen. Die Entwicklung von EDIF hat Eingaben von EDA-Verkäufern, Entwerfern und großen Benutzerunternehmen beinhaltet. Eine Software zur Prüfung einer Übereinstimmung mit dem Standard ist verfügbar, um eine Sicherstellung dessen, dass EDIF-Austausche so effektiv wie möglich sind, zu unterstützen. Das Format wurde ursprünglich durch den Electronic Industries Alliance (EIA), einen Industrieverband der USA, der verantwortlich ist für eine Anzahl elektronikbezogener Standards, standardisiert. (Einige vertraute könnten JEDEC und RS-232 sein). Sowohl die EDIF-Version 300 als auch die EDIF-Version 400 sind ANSI-Standards und auch IEC-Standards. Die EDIF-Version 300 ist formal die IEC 61690-1. Die EDIF-Version 400 ist formal die IEC 61690-2. Beide Standards wurden auch als europäische Standards ratifiziert. Die EDIF-Version 300 ist die EN 61690-1 und die EDIF-Version 400 ist die EN 61690-2.
  • 9 ist eine Bildschirm-Momentaufnahme einer grafischen Anzeige 800, die auf den in 6 gezeigten Anschlussstiftabbildung-Knopf 616 bezogen ist. Basierend auf den aus dem Kern 104 wiedergewonnenen Kernparametern erzeugt die Anschlussstiftabbildungsroutine eine Liste 902 von FPGA-Anschlussstiften. Wenn die Signalnamen importiert wurden, könnten diese Namen zur Zuordnung anstelle der generischen Anschlussstiftnamen angezeigt werden. Eine grafische Darstellung 904 des Sondenverbindungselements wird ebenso erzeugt. Bei dem in 8 gezeigten Beispiel ist das Sondenverbindungselement eine einendige 34-Kanal-MICTOR-Sonde mit Anschlussstiften 6-38. Eine Anschlussstiftabbildung wird durch ein Ziehen von Anschlussstiftbezeichnern (oder Signalnamen, falls importiert) auf eine einem Sondenanschlussstift zugeordnete Textdatei durchgeführt. Bei diesem Beispiel weisen die Kerndatenkanäle Anschlussstiftnamen ATD, gefolgt durch eine Anzahl auf, während der Taktkanal den Anschlussstiftnamen ATCK aufweist. Die Grafikanzeige 900 erzeugt außerdem eine Anzeige 906 der auf dem Logikanalysator verfügbaren Baugruppen.
  • Nach der Anschlussstiftabbildung werden die Kanäle des Logikanalysators konfiguriert. Insbesondere werden die Kanäle des Logikanalysators auf den Ausgabestandard des Kerns 104 und den Typ von Messung, z. B. Zustand oder Zeitgebung, eingestellt. In dem Fall eines Zustandskerns mit TDM z. B. wird der Logikanalysator eingestellt, um bei sowohl der ansteigenden als auch der abfallenden Flanke des Takts abzutasten. Schließlich werden nach der Anschlussstiftabbildung der Verfolgungskern und seine Ausgaben aktiviert. Der Benutzer kann nun Messungen unter Verwendung der Vorgabebank, z. B. Bank 0, durchführen.
  • 10 ist eine Bildschirm-Momentaufnahme einer grafischen Anzeige, die auf den in 6 gezeigten Eigenschaften-Knopf 618 bezogen ist. Der Eigenschaften-Knopf 618 bewirkt die Anzeige eines Fensters 1000, das Informationen über einen ausgewählten Kern liefert, z. B. einschließlich der Anzahl von Bänken, Anschlussstiften und Signalen pro Bank.
  • 11 ist eine Bildschirm-Momentaufnahme einer grafischen Anzeige, die der Auswahl von Kernen und Bänken zugeordnet ist. Der Bankauswahlabschnitt der Dynamiksondensoftware erlaubt es einem Benutzer, einen Kern und eine Bank zum Messen auszuwählen, den Logikanalysator für die ausgewählte Bank zu kalibrieren und einige Organisationsfunktionen durchzuführen. Wenn der Bankauswahlabschnitt aufgerufen wird, erzeugt er ein Fenster 1100. Das Hauptaugenmerk des Fensters 1100 ist die Darstellung eines Baumdiagramms 1102, das die verfügbaren Kerne 1104n und Bänke 1106n anzeigt, einschließlich verfügbarer Kalibrierungsbänke 1108 (in dem Fall eines Zustandverfolgungskerns). Die Auswahl wird durch ein einfaches Klicken auf eine erwünschte Bank und ein Klicken auf OK durchgeführt. Das Fenster 1100 liefert außerdem mehrere Knöpfe: einen Eyefinder-Knopf 1112; einen Umbenennen-Knopf 1114 und einen Bus-/Signalname-Abgleichen-Knopf 1116.
  • 12 ist eine Bildschirm-Momentaufnahme einer grafischen Anzeige, die auf den in 11 gezeigten Eyefinder-Laufenlassen-Knopf 1112 bezogen ist. Eine Kernkalibrierung unter Verwendung der Eyefinder-Funktion des Logikanalysators könnte für Zustandskerne durchgeführt werden, um sicherzustellen, dass durch den Logikanalysator erfasste Zustandsdaten genau sind. Das Schwellen- und Abtastpositionsfenster 1200 ist ein Beispiel einer Kalibrierungsfunktion, die in dem Zusammenhang der vorliegenden Erfindung nützlich ist. Unter Verwendung von Testdaten stellt ein Eingangsabtastschaltungsaufbau des Logikanalysators die Abtastposition auf einer Basis von Kanal für Kanal ein. Unter Verwendung dieser Einstellung ist es möglich, alle Eingangskanäle auszurichten, sodass die Daten perfekt ausgerichtet und durch den Eingangsverfolgungskerntakt abgetastet werden.
  • In Zustandskernen erzeugt die Kernkalibrierungsbank eine 5A-A5-Struktur auf den Verfolgungskernanschlussstiften, wenn diese ausgewählt wird. Diese Struktur kann dann verwendet werden, um den Logikanalysator zu kalibrieren. Die Kalibrierungsoperation oder die Datenversatzkorrektur wird z. B. unter Verwendung des Eyefinder-Werkzeugs des Logikanalysators durchgeführt. Der Eyefinder ist ein Softwaremerkmal, das durch die unterschiedlichen Abtastpositionen pro Datenerfassungskanal schreitet. Mit zunehmendem Fortgang durch jede Position erfasst er gültige stabile Daten und baut ein Fenster gültiger Abtastpositionen auf. Sobald er dieses Verfahren abgeschlossen hat, berechnet er die Mitte des gültigen Abtastfensters und zeigt dann die gefundenen Ergebnisse an. Aus der Anzeige kann der Benutzer die Ergebnisse sehen und auch manuell diese Einstellungen, falls nötig, einstellen. Die Kernkalibrierungsbank kann als Stimulus für den Eyefinder verwendet werden, ist jedoch nicht die einzige Datenquelle, die zur Datenversatzkorrektur verwendet werden kann. Der Benutzer kann auch jede beliebige Bank zur Durchführung dieser Kalibrierung verwenden. Sie tun dies durch ein Auswählen einer beliebigen Bank und ein darauf folgendes Laufenlassen des Eyefinders, wie erwähnt wurde. Ein Grund zur Kalibrierung bei spezifischen Bankdaten besteht darin, dass diese zufällige Umschaltstrukturen aufweisen könnten, die Platinenrauscheffekte hervorheben. In diesem Fall ist die Bankstruktur ein besserer Stimulus zur Datenversatzkorrektur, da sie alle instabilen Abtastpunkte, die durch Platinenrauscheffekte betroffen werden, beseitigt. Wenn jedoch die Benutzerbänke keine Umschaltdaten bei jedem Kanal erzeugen, sollte die Kernkalibrierungsbank zur Datenversatzkorrektur verwendet werden.
  • 13 ist eine Bildschirm-Momentaufnahme einer grafischen Anzeige 1300, die auf das in 11 gezeigte Bus-/Signalnamen-Abgleichen-Element 1116 bezogen ist. Das Abgleichfenster 1300 erlaubt es dem Benutzer, Abgleichregeln auf die Namen von Bussen und Signalen anzuwenden. Eine Vielzahl von Formatierungsregeln könnte implementiert werden, wobei mehrere durch den Inhalt des Fensters 1300 dargestellt werden.
  • TICKLE-FUNKTIONALITÄT (ANSTACHELN)
  • 14 ist ein Blockdiagramm eines Zustandsverfolgungskerns 1400 (auch als der Kern 1400 bezeichnet) zur Verwendung in einer Dynamiksonde 100 gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Der Kern 1400 weist allgemein einen Multiplexer 1404, der Signale von Signalpuffern bzw. -zwischenspeichern 1402 empfängt, einen chipexternen Verfolgungsport (OTP) 1406, einen Zeitmultiplexer (TDM) 1408, Ausgangsanschlussstifte 1410 gemeinsam mit einem Satz von Status- und Steuerregistern, die kollektiv als die Kernregister 1413 bezeichnet werden, auf. Die Kernregister 1413 schaffen einen Aufsichtszugang zu einem Logikanalysator, wie z. B. dem Logikanalysator 110. Die Zwischenspeicher 1402, der Mux 1404, der OTP 1406, der TDM 1408 und die Ausgangsanschlussstifte 1410 schaffen die physische Verbindung zwischen sondierten Signalen und dem Logikanalysator 110 (siehe 1). Die physische Verbindung wird mit einem Abtasttakt 1416 synchronisiert. Ein Kom-Port 1414 schafft Zugriff, für den Logikanalysator, zu den Kernregistern 1411 und einem Speicherbereich 1412, der Informationen speichert, die Ausgangsanschlussstifte Signalnamen und Bänke zuordnen.
  • Im Allgemeinen ähnelt der Zustandverfolgungskern 1400 dem Zustandverfolgungskern 200 aus 2 mit Hinzufügung des OTP 1406. Der OTP 1406 weist einen Mux auf, der Signale von einem oder mehreren Registern, die hierin als Anschlussstift-Wackel-Register bezeichnet werden, in die Kernregister 1411 einschaltet, die verwendet werden, um einen Kernaufbau zu automatisieren. Die Anschlussstift-Wackel-Register ermöglichen die Platzierung eines logischen Hochsignals auf einem oder mehreren ausgewählten Ausgangsanschlussstiften 1410n. In dem Fall des Zustandskerns 1400 werden die basierend auf den Anschlussstift-Wackel-Registern erzeugten Signale mit dem Versatzkorrekturdatengenerator multiplexiert. Unter Verwendung des OTP 1406 kann ein angeschlossener Logikanalysator ein Signal auf einem spezifizierten Ausgangsanschlussstift 1410n erzeugen und durch ein Überwachen der Ausgangsanschlussstifte kann der Logikanalysator den dem Ausgangsanschlussstift 1410n zugeordneten Eingangskanal identifizieren.
  • 15 ist ein Blockdiagramm eines Zeitgebungsverfolgungskerns 1500 (auch als der Kern 1500 bezeichnet) zur Verwendung in einer Dynamiksonde gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Der Kern 1500 weist im Allgemeinen einen Multiplexer 1504, der Signale von Signalpuffern 1502 empfängt, einen chipexternen Verfolgungsport (OTP) 1506, Ausgangsanschlussstifte 1508 und Kernregister 1510 auf. Wie bei dem Zeitgebungsverfolgungskern 300 ist der Signalpfad im Inneren des Kerns 1500 asynchron und erfordert keinen Abtasttakt. Daten werden unter Verwendung des Hochgeschwindigkeit-Abtasttakts des Logikanalysators erfasst. Ein KOM-Port 1514 schafft Zugriff, für den Logikanalysator, zu den Kernregistern 1410 und einem Speicherbe reich 1512, der Informationen speichert, die Ausgangsanschlussstifte Signalnamen und Bänke zuordnen.
  • Im Allgemeinen ähnelt der Zeitgebungsverfolgungskern 1500 dem in 3 gezeigten Zeitgebungsverfolgungskern 300 mit Hinzufügung des OTP 1506. Der OTP 1506 weist einen Mux auf, der Signale von einem oder mehreren Registern, die hierin als Anschlussstift-Wackel-Register bezeichnet werden, in die Kernregister 1510 einschaltet, die verwendet werden, um den Kernaufbau zu automatisieren. Die Anschlussstift-Wackel-Register ermöglichen die Platzierung eines logischen Hochsignals auf einem oder mehreren ausgewählten Ausgangsanschlussstiften 1508n. In dem Fall des Zeitgebungskerns 1500 werden die Anschlussstift-Wackel-Register mit der Ausgabe aus der Mux-Bank multiplexiert. Unter Verwendung des OTP 1506 kann ein angeschlossener Logikanalysator ein Signal auf einem spezifizierten Ausgangsanschlussstift 1508n erzeugen und durch ein Überwachen der Ausgangsanschlussstifte kann der Logikanalysator den dem Ausgangsanschlussstift 1508n zugeordneten Eingangskanal identifizieren.
  • Die 16a bis 16f sind Flussdiagramme, die ein Verfahren zur Vorbereitung eines Logikanalysators für eine Testsitzung unter Verwendung von Anschlussstift-Wackel-Registern beschreiben. Um einen automatisierten Aufbau zu ermöglichen, könnte eine Abbildung jedes Signalnamens in jeder Bank auf einen Ausgangsanschlussstift auf der Schaltung oder der zu testenden Vorrichtung selbst, z. B. ASIC oder FPGA, gespeichert werden. Eine zusätzliche Konfiguration, wie z. B. die Ausgangssignalstandards (z. B. LVTTL, LVDS und SSTL), und eine Konfiguration (z. B. Typ von Verbindungselement), die die Anzahl und den Entwurf der Ausgangsanschlussstifte umfasst, könnte außerdem auf der zu testenden Vorrichtung gespeichert werden. Dies ermöglicht es dem Logikanalysator 400, Informationen zur direkten Anschlussstiftabbildung von der zu testenden Vorrichtung wiederzugewinnen. Während des Aufbaus gibt der Logikanalysator ein Testsignal auf einem ausgewählten Ausgangsanschlussstift auf der zu testenden Vorrichtung aus. Der Logikanalysator ordnet dann den ausgewählten Ausgangsanschlussstift dem Sondeneingangsanschlussstift, auf dem eine Aktivität zu erkennen ist, zu.
  • Das Verfahren beginnt bei Schritt 1600 in 6a. Bei Schritt 1601 schaltet der Testingenieur die Testausrüstung, z. B. einen Logikanalysator, ein, schließt das JTAG-Kabel an und steckt eine Testvorrichtung (d. h. Mictor, soft touch, Samtec oder freie Anschlussleitungssonden als Beispiele) in die Testpunkte an der zu testenden Vorrichtung, wie z. B. in eine PC-Platine, die eine ASIC oder ein FPGA trägt.
  • Als Nächstes wird bei Schritt 1602 eine Bestimmung hinsichtlich dessen durchgeführt, ob das FPGA programmiert werden muss. Falls dies der Fall ist, wird das FPGA mit einer durch einen Benutzer spezifizierten Datei bei Schritt 1603 programmiert. In jedem anderen Fall fährt das Verfahren mit Schritt 1604 fort und eine Suche nach einem Verfolgungskern in der zu testenden Vorrichtung wird ausgeführt.
  • Bei Schritt 1605 wird eine Bestimmung durchgeführt, ob ein Kern gefunden wurde. Wenn kein Kern gefunden wird, endet das Verfahren bei Schritt 1612. Wenn bei Schritt 1605 ein Kern gefunden wurde, fährt das Verfahren mit Schritt 1606 fort, bei dem Kernkonfigurationsparameter wiedergewonnen werden. Die Kernkonfigurationsparameter könnten über die Kom-Teile 1414 oder 1514 wiedergewonnen werden. Die Kernkonfigurationsparameter weisen im Allgemeinen Informationen über den Kern auf, d. h. den Typ des Kerns, die Anzahl von Bänken, die Anzahl von Signalen pro Bank. Die Kernkonfigurationsparameter könnten außerdem Informationen aufweisen, die von den Speicherorten 1412 oder 1512 erhalten werden, einschließlich einer Auflistung von Signalnamen und einer entsprechenden Bank und eines Ausgangsanschlussstifts für jedes Signal. Als Nächstes werden in Schritt 1607 die Verfolgungskernausgaben freigegeben. Verfolgungskernausgaben könnten durch den Kom-Port durch ein Einstellen eines Ausgangsfreigaberegisters, das mit den Verfolgungskernausgangspuffern verbunden ist, freigegeben werden. Vor der Freigabe sind die Ausgänge „aus". Dies bedeutet, dass diese Ausgänge in einem inaktiven Dreizustandsmodus sind. Bei Schritt 1608 werden Signalnamen auf ihre jeweiligen Kanäle abgebildet, wie in 16b beschrieben ist.
  • Bei Schritt 1609 wird eine Bestimmung durchgeführt, ob der Kern ein Zustandskern ist, z. B. wie in 14 gezeigt. Wenn der Kern ein Zustandskern ist, fährt das Verfahren mit Schritt 1610 fort und die Kernkanäle werden Versatzkorrigiert, wie in 16e beschrieben ist. Sobald eine Versatzkorrektur durchgeführt wurde, endet das Verfahren bei Schritt 1612. Wenn bei Schritt 1609 der Kern kein Zustandskern war, wie z. B. ein Zeitgebungskern, muss eine Versatzkorrektur manuell durchgeführt werden und das Verfahren endet ohne eine automatische Versatzkorrektur bei Schritt 1612.
  • 16b ist ein Flussdiagramm, das ein Verfahren zur Abbildung von Signalnamen auf Kanäle erklärt, entsprechend Schritt 1608 in 16a. Das Verfahren beginnt bei Schritt 1620. Bei Schritt 1621 wird eine Prüfung durchgeführt, um zu bestimmen, ob die Anschlussstift-Zu-Kanal-Korrespondenz automatisch durchgeführt werden soll. Diese Bestimmung könnte durch den Benutzer durchgeführt werden oder basierend darauf, ob die zu testende Vorrichtung die Fähigkeit besitzt, ein Testsignal („Wackeln") auf einem ausgewählten Ausgangsanschlussstift auszugeben. Wenn die Anschlussstift-Zu-Kanal-Korrespondenz automatisch durchgeführt werden soll, geht das Verfahren zu Schritt 1622 und eine Autoaufbau-Prozedur, Bezug nehmend auf 16c beschrieben, wird durchgeführt. Wenn die Anschlussstift-Zu-Kanal-Korrespondenz manuell durchgeführt werden soll, fährt das Verfahren mit Schritt 1623 fort und der Benutzer führt eine manuelle Anschlussstiftabbildung z. B. unter Verwendung der in 9 gezeigten Grafikanzeige durch. In jedem Fall bewegt sich das Verfahren dann zu Schritt 1624.
  • Bei Schritt 1624 wird eine Bestimmung durchgeführt, ob Signalnamen in die zu testende Vorrichtung z. B. an Speicherorten 1412 oder 1512 eingebettet sind. Wenn die Signalnamen eingebettet sind, werden sie bei Schritt 1625 ausgelesen und den entsprechenden Kanälen zugewiesen. Danach endet das Verfahren bei Schritt 1630 (mit einer Rückkehr zu Schritt 1609 in 16a).
  • Falls in Schritt 1624 die Signalnamen nicht eingebettet sind, fährt das Verfahren mit Schritt 1626 fort und eine Bestimmung wird durchgeführt, ob eine CDC-Datei verfügbar ist. Wenn eine CDC-Datei verfügbar ist, fährt das Verfahren mit Schritt 1627 fort und die CDC-Datei wird wiedergewonnen, Signalnamen werden extrahiert und den entsprechenden Kanälen zugewiesen. Danach endet das Verfahren bei Schritt 1630 (mit einer Rückkehr zu Schritt 1609 in 16a).
  • Wenn in Schritt 1626 keine CDC-Datei verfügbar ist, fährt das Verfahren mit Schritt 1628 fort und der Benutzer weist manuell Anschlussstiftsignalnamen unter Verwendung der Schnittstelle des Logikanalysators zu. Danach endet das Verfahren bei Schritt 1630 (mit einer Rückkehr zu Schritt 1609 in 16a).
  • 16c ist ein Flussdiagramm, das ein Verfahren für einen Anschlussstift-zu-Kanal-Autoaufbau, Schritt 1622 in 16b entsprechend, erläutert. Das Verfahren beginnt bei Schritt 1640. Bei Schritt 1641 wird das Ausgangsverfolgungsport durch ein Setzen eines zugeordneten Registers in den Kernregistern freigegeben. Vorher ist diese Schaltung aus oder in einem Ruhemodus. Als Nächstes werden bei Schritt 1642 die Ausgangsanschlussstifte konfiguriert, um Aufbaudaten auszugeben. Dies wird Bezug nehmend auf die 17 und 18 näher erläutert; dies beinhaltet jedoch all gemein ein Umschalten der Ausgabe eines oder mehrerer Multiplexer zum Durchlauf eines Testsignals.
  • Als Nächstes wird bei Schritt 1643 ein Kernkanalaufbau, Bezug nehmend auf 16d beschrieben, durchgeführt. Bei Schritt 1644 wird das Ausgangsverfolgungsport durch ein Löschen des zugeordneten Registers in den Kernregistern deaktiviert. Bei Schritt 1645 werden die Ausgangsanschlussstifte konfiguriert, um die zu überwachenden Signale aus der zu testenden Vorrichtung auszugeben. Danach endet das Verfahren bei Schritt 1646 (mit einer Rückkehr zu Schritt 1624 in 16b).
  • 16d ist ein Flussdiagramm, das ein Verfahren zum Kernkanalaufbau, Schritt 1643 in 16c entsprechend, erklärt. Das Verfahren beginnt bei Schritt 1650. Bei Schritt 1651 werden die Ausgangsanschlussstifte konfiguriert, um Wackeldaten auszugeben. Dies wird Bezug nehmend auf die 17 und 18 eingehender erläutert; dies beinhaltet jedoch allgemein ein Umschalten der Ausgabe eines oder mehrerer Multiplexer zum Durchlauf eines Testsignals basierend auf einem Satz von Registern, den Anschlussstift-Wackel-Registern, in den Kernregistern. Bei Schritt 1652 werden alle Bits in den Anschlussstift-Wackel-Registern auf einen logisch niedrigen Zustand gesetzt. Als Nächstes wird bei Schritt 1653 ein Register in den Anschlussstift-Wackel-Registern in einen logischen Hochzustand gesetzt. Allgemein entspricht jedes Bit in den Anschlussstift-Wackel-Registern einem Ausgangsanschlussstift – wobei entsprechend an diesem Punkt ein Ausgangsanschlussstift einen logisch hohen Zustand aufweisen sollte. Bei Schritt 1654 werden die Kanäle auf dem Logikanalysator durchsucht, um einen ein logisches Hoch anzeigenden Kanal zu identifizieren. Bei Schritt 1656 wird eine Bestimmung durchgeführt, ob ein derartiger Kanal gefunden wurde.
  • Wenn bei Schritt 1656 ein Kanal mit einem logisch hohen Signal gefunden wurde, fährt das Verfahren mit Schritt 1657 fort und das Register wird auf einen logischen Niedrigzustand gesetzt, um ein logisch niedriges Signal auf dem Ausgangsanschlussstift auszugeben. Eine Bestimmung wird bei Schritt 1658 durchgeführt, ob der gefundene Kanal nun einen logischen Niedrigzustand anzeigt. Falls der gefundene Kanal einen logischen Niedrigzustand anzeigt, fährt das Verfahren mit Schritt 1659 fort und der Ausgangsanschlussstift wird als der gefundene Kanal identifiziert und die Korrespondenz in dem Logikanalysator gespeichert. Als Nächstes wird eine Bestimmung bei Schritt 1662 durchgeführt, ob es zusätzliche verbleibende Anschlussstifte gibt. Falls dies der Fall ist, geht das Verfahren zu Schritt 1663, ein weiteres Wackel-Register wird in einen logischen Hochzustand gesetzt und das Verfahren kehrt zurück zu Schritt 1654.
  • Wenn bei Schritt 1658 der gefundene Kanal nicht in einen Niedrigzustand geht, fährt das Verfahren mit Schritt 1660 fort und der Kanal wird als Nicht-Verwenden markiert. Als Nächstes wird bei Schritt 1661 der Anschlussstift als in dem Logikanalysator nicht gefunden markiert und das Verfahren fährt mit Schritt 1662 mit einer Prüfung, ob es zusätzliche Anschlussstifte gibt, fort.
  • Wenn in Schritt 1665 keine Kanäle gefunden wurden, die einen logisch hohen Pegel aufweisen, wird der dem Wackel-Register entsprechende Ausgangsanschlussstift als in dem Logikanalysator nicht gefunden markiert und das Verfahren fährt mit Schritt 1662 mit einer Prüfung, ob zusätzliche Anschlussstifte vorliegen, fort. Wenn bei Schritt 1662 keine weiteren Anschlussstifte vorliegen, endet das Verfahren bei Schritt 1664 (mit einer Rückkehr zu Schritt 1644 in 16c) .
  • 16e ist ein Flussdiagramm, das ein Verfahren zur Versatzkorrektur von Kanälen, Schritt 1610 in 16a entsprechend, erläutert. Das Verfahren beginnt bei Schritt 1670. Bei Schritt 1671 wird eine Bestimmung durchgeführt, ob ein automatischer Versatzkorrekturvorgang verwendet wer den soll. Diese Bestimmung wird durch den Benutzer durchgeführt oder könnte automatisch basierend auf dem Vorliegen eines Kerns, wie z. B. eines Zustandverfolgungskerns mit der Fähigkeit, Testsignale zu erzeugen, durchgeführt werden. Wenn bei Schritt 1671 eine Bestimmung durchgeführt wird, eine Autoversatzkorrektur auszuführen, fährt das Verfahren mit Schritt 1672 fort und ein Autoversatzkorrekturverfahren, in 16f beschrieben, wird ausgeführt. Danach endet das Verfahren bei Schritt 1675 (mit einer Rückkehr zu Schritt 1612 in 16a).
  • Wenn ein manueller Versatzkorrekturvorgang bei Schritt 1671 erwünscht wird, fährt das Verfahren mit Schritt 1673 fort. Bei Schritt 1673 wird eine Bank zur Kernkalibrierung ausgewählt. Bei Schritt 1674 wird eine Kalibrierungsprozedur, wie z. B. ein Eyefinder, auf dem Logikanalysator ausgeführt. Danach endet das Verfahren bei Schritt 1675 (mit einer Rückkehr zu Schritt 1612 in 16a).
  • 16f ist ein Flussdiagramm, das ein Verfahren für die Autoversatzkorrektur von Kernkanälen, Schritt 1672 aus 16e entsprechend, erläutert. Das Verfahren beginnt bei Schritt 1680. Bei Schritt 1681 wird die Ausgabe des Kerns eingestellt, um eine Versatzkorrektur bei Daten durchzuführen. Dies wird Bezug nehmend auf die 17 und 18 eingehender erläutert; dies beinhaltet jedoch allgemein ein Umschalten der Ausgabe eines oder mehrerer Multiplexer zum Durchlauf eines Testsignals, das geeignet für eine Versatzkorrekturoperation ist. Als Nächstes wird bei Schritt 1682 eine Versatzkorrekturprozedur, wie z. B. ein Eyefinder, auf dem Logikanalysator ausgeführt. Bei Schritt 1683 werden die Ausgangsanschlussstifte konfiguriert, um die zu überwachenden Signale aus der zu testenden Vorrichtung auszugeben. Danach endet das Verfahren bei Schritt 1684 (mit einer Rückkehr zu Schritt 1675 in 16e).
  • 17 ist ein Blockdiagramm, das nützlich zur Erläuterung der Funktionsweise eines chipexternen Verfolgungsports in einem Zustandverfolgungskern gemäß einem Ausführungsbeispiel der vorliegenden Erfindung ist. Der chipexterne Verfolgungsport 1406 weist allgemein einen Bankmultiplexer 1702 auf, der zwischen einer Bank von Signalen, die durch einen Aufbaubankmultiplexer 1704 und den Signalbankmultiplexer 1404 ausgegeben werden, basierend auf dem Zustand eines Registers 1706 in den Kernregistern 1411 umschaltet. Der Aufbaumultiplexer 1704 schaltet zwischen einer Bank von Signalen, die durch einen Versatzkorrekturdatengenerator 1706 und die Anschlussstift-Wackel-Register 1708 ausgegeben werden, basierend auf dem Zustand des Registers 1710 um. So ist die Ausgabe des Multiplexers 1704 entweder von den Anschlussstift-Wackel-Registern 1706, Versatzkorrekturdaten von dem Versatzkorrekturdatengenerator 1706 oder der Ausgabe des Signalbankmultiplexers 1404.
  • Die Funktionsweise des Versatzkorrekturdatengenerators 1706 ist in dem US-Patent mit der Seriennummer 10/923,460 beschrieben. Die Versatzkorrekturoperation wird durch ein Register 1712 freigegeben, das auch eine Operation des Aufbaumultiplexers 1704 freigibt. So werden durch ein Setzen des Registers 1712 in einen Niedrigzustand der Versatzkorrekturdatengenerator 1705 und der Aufbaumultiplexer 1704 deaktiviert, wodurch die Leistungslast des Kerns reduziert wird. Ähnlich wird das Register 1714 zur Deaktivierung der Ausgangsanschlussstifte 1410 verwendet.
  • Die Anschlussstift-Wackel-Register 1708 weisen eine Serie von Registern auf, die in ihrer Breite gleich der Anzahl von Ausgangsanschlussstiften sind. Wenn der Aufbau-Mux 1704 freigegeben wird (durch das Register 1712) und eingestellt wird (durch das Register 1710) zur Ausgabe aus den Anschlussstift-Wackel-Registern 1708, gibt der Aufbau-Mux 1704 ein logisches Hochsignal auf einem Anschlussstift in dem Satz von Ausgangsanschlussstiften 1410, für den das entsprechende Bit in den Anschlussstift-Wackel-Registern gesetzt ist, aus.
  • 18 ist ein Blockdiagramm, das nützlich zur Erläuterung der Funktionsweise eines chipexternen Verfolgungsports in einem Zeitgebungsverfolgungskern gemäß einem Ausführungsbeispiel der vorliegenden Erfindung ist. Der chipexterne Verfolgungsport 1506 weist allgemein einen Bankmultiplexer 1802, der basierend auf einem Register 1806 in den Kernregistern 1510 zwischen Anschlussstift-Wackel-Registern 1804 und dem Signalbankmultiplexer 1404 umschaltet, auf. Das Register 1510 wird verwendet, um Ausgangsanschlussstifte 1508 zu deaktivieren. Die Anschlussstift-Wackel-Register 1804 weisen eine Serie von Registern auf, die in ihrer Breite gleich der Anzahl von Ausgangsanschlussstiften sind. Wenn der Mux 1802 durch das Register 1806 zur Ausgabe aus den Anschlussstift-Wackel-Registern 1804 gesetzt ist, gibt der Mux 1802 ein logisches Hochsignal auf einem Anschlussstift der Ausgangsanschlussstifte 1508, für den das entsprechende Bit in den Anschlussstift-Wackel-Registern gesetzt ist, aus.

Claims (27)

  1. Verfahren zum Aufbauen eines Testinstruments (400) zur Durchführung von Messungen bei einer Schaltung, die eine Mehrzahl von Signalen aufweist, die an einer Mehrzahl von Ausgangsanschlussstiften anliegen, wobei das Verfahren folgende Schritte aufweist: Wiedergewinnen (504) von Konfigurationsparametern bezüglich der Ausgangsanschlussstifte, wobei die Konfigurationsparameter eine Identifizierung der Ausgangsanschlussstifte umfassen; Konfigurieren (510) des Testinstruments (400) zum schnittstellenmäßigen Verbinden mit den Ausgangsanschlussstiften basierend auf den Konfigurationsparametern; grafisches Anzeigen der Liste von Ausgangsanschlussstiften und einer Liste von Eingangsleitungen, die dem Testinstrument zugeordnet sind, auf einem Bildschirm (414), der dem Testinstrument zugeordnet ist; und Ermöglichen für einen Benutzer, auf der grafischen Anzeige jeden Ausgangsanschlussstift einer Eingangsleitung zuzuordnen, mit der jeder Ausgangsanschlussstift verbunden ist (9).
  2. Verfahren gemäß Anspruch 1, das ferner folgende Schritte aufweist: Wiedergewinnen einer Liste von Signalidentifizierern, die Signale innerhalb der Schaltung identifizieren, die mit den Ausgangsanschlussstiften korreliert sind, an denen dieselben anliegen; und Identifizieren von Messungen, die auf dem Testinstrument angezeigt werden, mit einem zugeordneten Signalidentifizierer.
  3. Verfahren zum Aufbauen eines Testinstruments (400) zur Durchführung von Messungen bei einer Schaltung, die eine Mehrzahl von Signalen aufweist, die an einer Mehrzahl von Ausgangsanschlussstiften anliegen, wobei das Verfahren folgende Schritte aufweist: Verbinden des Testinstruments (400) mit der Schaltung; Übertragen von Konfigurationsparametern bezüglich der Ausgangsanschlussstifte von der Schaltung an das Testinstrument, wobei die Konfigurationsparameter eine Identifizierung der Ausgangsanschlussstifte umfassen; Konfigurieren des Testinstruments zum schnittstellenmäßigen Verbinden mit den Ausgangsanschlussstiften basierend auf den Konfigurationsparametern; Senden eines Signals von dem Testinstrument an die Schaltung, das die Schaltung instruiert, ein Testsignal auf einem ausgewählten Ausgangsanschlussstift auszugeben; und Identifizieren innerhalb des Testinstruments, welcher Kanal das Testsignal empfängt, und Zuordnen des identifizierten Kanals zu dem ausgewählten Ausgangsanschlussstift.
  4. Verfahren gemäß Anspruch 3, das ferner folgende Schritte aufweist: Wiedergewinnen einer Liste von Signalidentifizierern, die Signale innerhalb der Schaltung identifizieren, die mit den Ausgangsanschlussstiften korreliert sind, an denen dieselben anliegen; und Identifizieren von Messungen, die auf dem Testinstrument angezeigt werden, mit einem zugeordneten Signalidentifizierer.
  5. Verfahren gemäß Anspruch 3 oder 4, bei dem der Schritt des Verbindens des Testinstruments mit der Schaltung folgende Schritte aufweist: Verbinden einer Sonde mit den Ausgangsanschlussstiften; und Verbinden eines Ports auf dem Testinstrument mit einem Port auf der Schaltung, um es zu ermöglichen, dass das Testinstrument Register auf der Schaltung lesen und schreiben kann.
  6. Verfahren gemäß Anspruch 5, bei dem der Schritt des Verbindens eines Ports auf dem Testinstrument mit einem Port auf der Schaltung ein Einrichten einer JTAG-fähigen Kommunikationsverbindung zwischen dem Testinstrument und der Schaltung aufweist.
  7. Verfahren gemäß Anspruch 5 oder 6, bei dem der Schritt des Übertragens von Konfigurationsparametern von der Schaltung an das Testinstrument ein Lesen von Registern in der Schaltung, die die Konfigurationsparameter enthalten, aufweist.
  8. Verfahren gemäß einem der Ansprüche 5 bis 7, bei dem die Konfigurationsparameter eine Identifizierung der Kerne, die zur Abfrage verfügbar sind, der Anzahl von Anschlussstiften, die durch den Kern verwendet werden, und des Ausgabestandards der Ausgangsanschlussstifte aufweisen.
  9. Verfahren gemäß einem der Ansprüche 5 bis 8, bei dem der Schritt des Sendens eines Signals von dem Testin strument (400) an die Schaltung, das die Schaltung instruiert, ein Testsignal auf einem ausgewählten Ausgangsanschlussstift auszugeben, folgende Schritte aufweist: Setzen eines Bits eines Wackel-Registers, das die Ausgangsanschlussstifte auf der Schaltung darstellt, auf einen logisch hohen Pegel; und Setzen eines Registers, um zu bewirken, dass ein Multiplexer in der Schaltung den Inhalt des Wackel-Registers auf die Ausgangsanschlussstifte ausgibt.
  10. Verfahren gemäß Anspruch 9, bei dem der Schritt des Identifizierens innerhalb des Testinstruments, welcher Kanal das Testsignal empfängt, folgende Schritte aufweist: Identifizieren des Kanals auf dem Testinstrument für einen Kanal mit einem logisch hohen Pegel; Setzen des Bits in dem Wackel-Register auf einen logisch niedrigen Pegel; und wenn der identifizierte Kanal zu einem logisch niedrigen Pegel geht, Zuordnen des identifizierten Kanals zu dem ausgewählten Ausgangsanschlussstift.
  11. Verfahren zum Konfigurieren eines Logikanalysators (400) zum Testen eines FPGA, wobei das Verfahren folgende Schritte aufweist: 1) Senden einer Instruktion von dem Logikanalysator an das FPGA, die das FPGA instruiert, einen logisch hohen Pegel auf einem ausgewählten Ausgangsanschlussstift auszugeben; 2) Abtasten von Eingangskanälen auf dem Logikanalysator, um zu identifizieren, welcher Eingangskanal einen logisch hohen Pegel zeigt; 3) Abbilden des identifizierten Eingangskanals mit dem ausgewählten Ausgangsanschlussstift innerhalb des Logikanalysators; und 4) Wiederholen der Schritte 1 bis 3 mit unterschiedlichen ausgewählten Ausgangsanschlussstiften, bis jeder Ausgangsanschlussstift auf einen Kanal abgebildet wurde.
  12. Verfahren gemäß Anspruch 11, das ferner folgende Schritte aufweist: elektronisches Wiedergewinnen von Informationen, die Ausgangsanschlussstifte auf dem FPGA auf Namen von Signalen beziehen, die an den Ausgangsanschlussstiften anliegen; und Abbilden der Eingangskanäle auf die Namen der Signale, die durch die Kanäle empfangen werden, innerhalb des Logikanalysators.
  13. Verfahren gemäß Anspruch 12, bei dem das FPGA konfiguriert ist, um selektiv mehrere Bänke von Signalen auf die Ausgangsanschlussstifte auszugeben, wobei der Schritt des Abbildens der Eingangskanäle auf die Namen der Signale, die durch die Kanäle empfangen werden, innerhalb des Logikanalysators ferner folgenden Schritt aufweist: Abbilden der Eingangskanäle auf die Namen der Signale, die durch die Kanäle empfangen werden, innerhalb des Logikanalysators basierend auf der Bank, zu der das Signal gehört.
  14. Verfahren gemäß einem der Ansprüche 11 bis 13, bei dem der Schritt des Sendens einer Instruktion folgende Schritte aufweist: Senden einer Instruktion an das FPGA, die bewirkt, dass ein Multiplexer den Inhalt eines Wackel-Registers ausgibt, wobei das Wackel-Register eine Breite aufweist, die gleich der Anzahl von Ausgangsanschlussstiften ist; und Senden einer Instruktion, ein ausgewähltes Bit des Wackel-Registers zu setzen.
  15. Testinstrument (400) mit folgenden Merkmalen: einem Prozessor, der auf eine Software anspricht; einer Anzeige (414); einer Sonde, die eine Mehrzahl von Kanälen zum Testen liefert; einer Software, die bewirkt, dass der Prozessor folgende Schritte ausführt: Konfigurieren (510) des Testinstruments (400) zum schnittstellenmäßigen Verbinden mit einer zu testenden Vorrichtung (418); Erhalten von Konfigurationsinformationen in Bezug auf Ausgangsanschlussstifte auf der zu testenden Vorrichtung von der zu testenden Vorrichtung; grafisches Anzeigen einer Liste von Ausgangsanschlussstiften auf der zu testenden Vorrichtung und einer Liste von Kanälen auf der Anzeige (414); und Ermöglichen für einen Benutzer, auf der Anzeige jeden Ausgangsanschlussstift einem Kanal zuzuordnen, auf dem die Signale von dem Ausgangsanschlussstift durch das Testinstrument empfangen werden.
  16. Testinstrument gemäß Anspruch 15, das ferner folgendes Merkmal aufweist: einen Seriellkommunikationskanal, der für eine schnittstellenmäßige Verbindung mit der zu testenden Vorrichtung (418) angepasst ist, und über den die Konfigurationsinformationen übertragen werden.
  17. Testinstrument gemäß Anspruch 16, bei dem der Seriellkommunikationskanal ein JTAG-fähiges Kabel aufweist.
  18. Testinstrument gemäß einem der Ansprüche 15 bis 17, bei dem die Software ferner bewirkt, dass der Prozessor folgende Schritte ausführt: Wiedergewinnen einer Liste von Signalidentifizierern, die Signale innerhalb der zu testenden Vorrichtung identifizieren, die mit den Ausgangsanschlussstiften korreliert sind, an denen dieselben anliegen; und Identifizieren von Messungen auf der Anzeige mit einem zugeordneten Signalidentifizierer.
  19. Testinstrument gemäß einem der Ansprüche 15 bis 18, bei dem die Software ferner bewirkt, dass der Prozessor folgende Schritte ausführt: Anweisen der zu testenden Vorrichtung (418), ein Testsignal auf einem bestimmten Ausgangsanschlussstift zu platzieren; Identifizieren des Kanals, auf dem das Testsignal empfangen wird; und Korrelieren des bestimmten Ausgangsanschlussstiftes mit dem identifizierten Kanal.
  20. Testinstrument gemäß einem der Ansprüche 15 bis 19, bei dem die Software ferner bewirkt, dass der Prozessor folgenden Schritt ausführt: Wiedergewinnen einer Datei, die eine Korrespondenz zwischen den Ausgangsanschlussstiften und den Namen von Signalen, die an den Ausgangsanschlussstiften anliegen, angibt.
  21. Testinstrument gemäß Anspruch 20, bei dem die Datei von der zu testenden Vorrichtung wiedergewonnen wird.
  22. Testinstrument gemäß Anspruch 20 oder 21, bei dem die Datei basierend auf Informationen in einer EDIF-Datei, die der zu testenden Vorrichtung zugeordnet ist, wiedergewonnen wird.
  23. Testsystem mit folgenden Merkmalen: einem FPGA mit folgenden Merkmalen: einer Mehrzahl von Ausgangsanschlussstiften, die zweckgebunden für eine Fehlersuche sind; einem Satz von Steuerregistern, die Daten, die die Mehrzahl von Ausgangsanschlussstiften beschreiben, und Daten umfassen, die die Funktionsweise der Ausgangsanschlussstifte beeinflussen; einer ersten Schnittstelle zum Senden und Empfangen von Konfigurationsdaten, die Instruktionen umfassen, die den Inhalt der Steuerregister beeinflussen; einem Logikanalysator (400) mit folgenden Merkmalen: einem Prozessor, der auf eine Software anspricht; einer Anzeige (414); einer Sonde, die eine Mehrzahl von Kanälen zum Testen liefert; einer Software, die bewirkt, dass der Prozessor folgende Schritte ausführt: Konfigurieren (510) des Logikanalysators zum schnittstellenmäßigen Verbinden mit dem FPGA; Erhalten von Konfigurationsinformationen bezüglich der Ausgangsanschlussstifte auf dem FPGA von den Steuerregistern; grafisches Anzeigen einer Liste von Ausgangsanschlussstiften auf dem FPGA und einer Liste von Kanälen auf der Anzeige (414); und Ermöglichen für einen Benutzer, jeden Ausgangsanschlussstift einem Kanal, auf dem die Signale von dem Ausgangsanschlussstift durch den Logikanalysator empfangen werden, auf der Anzeige zuzuordnen.
  24. Testsystem gemäß Anspruch 23, bei dem das FPGA ferner folgendes Merkmal aufweist: einen Multiplexer, der auf die Steuerregister anspricht, der die Signale, die an den Ausgangsan schlussstiften anliegen, zwischen Bänken von Signalen umschaltet.
  25. Testsystem gemäß Anspruch 23 oder 24, bei dem das FPGA ferner folgendes Merkmal aufweist: Signalnameninformationen, die Ausgangsanschlussstifte mit Signalnamen korrelieren.
  26. Testsystem gemäß Anspruch 25, bei dem der Logikanalysator (400) ferner folgendes Merkmal aufweist: eine Software, die bewirkt, dass der Prozessor die Signalnameninformationen wiedergewinnt und den Signalnamen, der jedem angezeigten Kanal zugeordnet ist, anzeigt.
  27. Testsystem gemäß einem der Ansprüche 23 bis 26, bei dem das FPGA ferner eine Schaltung aufweist, die angepasst ist, um ein Testsignal auf einem ausgewählten der Ausgangsanschlussstifte auszugeben, und bei dem der Logikanalysator (400) ferner eine Software aufweist, die bewirkt, dass der Prozessor den Kanal, auf dem das Testsignal empfangen wird, identifiziert und automatisch den ausgewählten Ausgangsanschlussstift mit dem identifizierten Kanal korreliert.
DE102005025744A 2004-04-26 2005-05-12 Verfahren und Vorrichtung zum automatisierten Testaufbau Withdrawn DE102005025744A1 (de)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US56530804P 2004-04-26 2004-04-26
US60/565308 2004-04-26
US10/923460 2004-08-20
US10/923,460 US7519879B2 (en) 2004-04-26 2004-08-20 Apparatus and method for dynamic in-circuit probing of field programmable gate arrays
US10/904137 2004-10-26
US10/904,137 US20050262396A1 (en) 2004-04-26 2004-10-26 Apparatus and method for automated test setup

Publications (1)

Publication Number Publication Date
DE102005025744A1 true DE102005025744A1 (de) 2006-02-16

Family

ID=35668725

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005025744A Withdrawn DE102005025744A1 (de) 2004-04-26 2005-05-12 Verfahren und Vorrichtung zum automatisierten Testaufbau

Country Status (2)

Country Link
US (1) US20050262396A1 (de)
DE (1) DE102005025744A1 (de)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7392446B1 (en) * 2005-06-17 2008-06-24 Xilinx, Inc. Test channel usage reduction
WO2008048297A1 (en) * 2006-10-16 2008-04-24 Thomson Licensing Tolerant in-system programming of field programmable gate arrays (epgas)
US7801050B2 (en) * 2006-12-12 2010-09-21 Cisco Technology, Inc. Remote testing of an electronic device via network connection
US8131387B2 (en) * 2007-08-09 2012-03-06 Teradyne, Inc. Integrated high-efficiency microwave sourcing control process
US7739070B2 (en) * 2007-08-28 2010-06-15 Agilent Technologies, Inc. Standardized interfaces for proprietary instruments
KR20130031022A (ko) * 2011-09-20 2013-03-28 삼성전자주식회사 Dut 테스트 방법, dut 및 이에 의한 반도체 소자 테스트 시스템
CN102435797A (zh) * 2011-09-29 2012-05-02 上海交通大学 示波器无线探头
US10048304B2 (en) * 2011-10-25 2018-08-14 Teradyne, Inc. Test system supporting simplified configuration for controlling test block concurrency
WO2015181389A2 (en) * 2014-05-29 2015-12-03 Universiteit Gent Integrated circuit verification using parameterized configuration
US20160070634A1 (en) * 2014-09-05 2016-03-10 Qualcomm Incorporated System and method for system-on-a-chip subsystem trace extraction and analysis
CN104808519B (zh) * 2015-02-25 2017-06-30 浪潮电子信息产业股份有限公司 一种芯片内嵌的otp模块的控制方法
WO2017026997A1 (en) * 2015-08-07 2017-02-16 Hewlett Packard Enterprise Development Lp Processing device operation enablement
TWI635298B (zh) 2016-06-09 2018-09-11 孕龍科技股份有限公司 邏輯分析儀及其資料擷取與效能測試之方法
JP6744806B2 (ja) * 2016-11-28 2020-08-19 ルネサスエレクトロニクス株式会社 マルチプロセッサ
KR102135131B1 (ko) * 2017-03-29 2020-07-17 (주)스마트시스텍 Fpga 프로그램 테스트를 위한 시험방법
CN108107352A (zh) * 2017-12-06 2018-06-01 中国电子产品可靠性与环境试验研究所 Fpga器件测试系统及方法
CN108804279A (zh) * 2018-03-30 2018-11-13 阿里巴巴集团控股有限公司 修改日志打印等级的方法及应用设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6823497B2 (en) * 1999-11-30 2004-11-23 Synplicity, Inc. Method and user interface for debugging an electronic system
US7062718B2 (en) * 2001-08-14 2006-06-13 National Instruments Corporation Configuration diagram which graphically displays program relationship
US6760898B1 (en) * 2002-02-22 2004-07-06 Xilinx, Inc. Method and system for inserting probe points in FPGA-based system-on-chip (SoC)
US7150002B1 (en) * 2002-03-29 2006-12-12 Cypress Semiconductor Corp. Graphical user interface with logic unifying functions

Also Published As

Publication number Publication date
US20050262396A1 (en) 2005-11-24

Similar Documents

Publication Publication Date Title
DE102005025744A1 (de) Verfahren und Vorrichtung zum automatisierten Testaufbau
DE69834892T2 (de) Eingebetteter Logikanalysator
DE10010043C2 (de) Halbleitervorrichtung-Simulationseinrichtung und zugehörige Halbleitertestprogramm-Debugging-Einrichtung
DE2914128C2 (de) Verfahren zur Fehlerortung in einer digitalen Schaltung und Prüfgerät zur Durchführung des Verfahrens
DE60128014T2 (de) Intelligenter Prüfadapter
DE2914106C2 (de) Prüfgerät zum Prüfen gedruckter Schaltungskarten
DE60100754T2 (de) System und verfahren zum testen von signalverbindungen unter verwendung einer eingebauten selbsttestfunktion
DE112020000469T5 (de) Automatisierte testeinrichtung, die ein auf-chip-system-teststeuergerät verwendet
DE19937232B4 (de) Entwicklungs- und Bewertungssystem für integrierte Halbleiterschaltungen
DE10392667T5 (de) Ereignisbasiertes IC-Testsystem
DE4434927C2 (de) Verfahren zum Testen einer Schaltungsplatine
DE19729180A1 (de) Verfahren und Vorrichtung zum Korrelieren von Logikanalysatorzustandserfassungsdaten mit zugeordneten Anwendungsdatenstrukturen
DE10056160A1 (de) Halbleiterprüfsystem
DE10120080B4 (de) Ereignisgestütztes Prüfsystem mit einer Einrichtung zur Erzeugung von Prüfabschluß-Mehrfachsignalen
US20070168749A1 (en) Method and system for tracing program execution in field programmable gate arrays
DE3702408C2 (de)
DE10234135B4 (de) Verfahren, System und Computerprogramm zum Steuern der Prüfung einer gedruckten Schaltungsplatine in Bezug auf Herstellungsdefekte
DE102007013580A1 (de) Grafische Präsentation von Halbleitertestergebnissen
DE10255113A1 (de) Systeme und Verfahren zum Erleichtern eines Testens von Anschlußflächentreibern integrierter Schaltungen
DE102021116906A1 (de) Test- und messsystem zur analyse von zu testenden vorrichtungen
DE10150056A1 (de) Externe Prüfhilfsvorrichtung zur Verwendung zum Testen einer Halbleitereinrichtung und Verfahren zum Testen einer Halbleitereinrichtung unter Verwendung der Vorrichtung
DE60110199T2 (de) Testzugriffs-portsteuerungsvorrichtung (tap) und verfahren zur beseitigung interner intermediärer abtastprüffehler
DE10150404A1 (de) Apparat und Verfahren zum Testen einer integrierten Halbleiterschaltung
DE102021122559A1 (de) Kennzeichnung von margen-testdaten und prädiktiv zu erwartende margen
DE60104015T2 (de) Entschlüsselungsverfahren zur datenabbildung in speicherschaltungen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8130 Withdrawal