-
Kurze Beschreibung
der Erfindung
-
Diese
Erfindung bezieht sich allgemein auf drahtlose Kommunikation. Insbesondere
bezieht sich diese Erfindung auf ein drahtloses Kommunikationssystem,
das auf einem einzelnen Chip implementiert ist, der einen wieder
programmierbaren Tester, einen Debugger und eine Busüberwachungseinrichtung umfasst.
-
Hintergrund
der Erfindung
-
Ein
wesentliches Hindernis beim Implementieren eines drahtlosen Kommunikationssystems
auf einem einzelnen Chip ist das Problem des Testens und Fehlerbeseitigens
eines solchen eingebetteten Systems. Das Testen eines Systemchips
stellt die Integrität
des Herstellungsprozesses sicher durch Identifizieren von Herstellungsfehlern
durch die Verwendung von gut definierten Vektorsätzen, die nach der Herstellung
an den Chip angelegt werden. Diese Vektoren können unter Verwendung mehrerer
Techniken definiert werden, wie z. B. ATPG (automatische Testmustererzeugung),
eingebettete Logik-BIST (BIST = Built-in-Self-Test = eingebaute
Selbstprüfung)
oder eingebettete RAM-BIST. Der ausgewählte Techniktyp gibt die Verwendung
einer spezifischen Hardwarestruktur vor, um die Testfunktion zu
implementieren.
-
Die
Fehlerbeseitigung eingebetteter Software in eingebetteten Prozessoren
erfordert zusätzliche Hardwareressourcen,
um Einzelzyklusausführungs-, Befehlseinfügungs- und
Unterbrechungspunkttechniken zu ermöglichen. Hardwareressourcen,
die erforderlich sind, um diese Funktionen zu unterstützen, sind
typischerweise ausschließlich
diesen Funktionen zugeordnet.
-
Eine
weitere Funktion, die für
heutige eingebettete drahtlose Systeme erforderlich ist, ist die
Fähigkeit,
den Verkehr zu überwachen,
der auf einem eingebetteten gemeinschaftlich verwendeten Systembus
auftritt. Heutzutage ist die Funktion normalerweise implementiert
mit zweckgebundenen Hardwarestrukturen, die nach spezifischen Bustransaktionstypen „schnüffeln" und dieselben aufzeichnen. Diese
Information kann dann exportiert werden und verwendet werden, um
die Busbandbreitenanforderungen des Systems abzustimmen.
-
Somit
erfordern aktuelle Techniken zum Testen, Fehlerbeseitigen und Überwachen
eines eingebetteten Prozessors zweckgebundene Hardware und sind
in der Fähigkeit
begrenzt. Folglich wäre
es äußerst wünschenswert,
eine Technik zum Testen, Fehlerbeseitigen und Busüberwachen
eines drahtlosen Kommunikationssystemchips zu schaffen.
-
Das
U.S.-Patent Nr. 5,878,051 offenbart eine Anordnung von Logikvorrichtungen,
die durch einen Daten- und Adressbus, der von außerhalb der Anordnung nicht
zugreifbar ist, miteinander kommunizieren. Die Anordnung umfasst
ein feldprogrammierbares Gatterarray, das programmiert ist, um während dem
normalen Betrieb der Anordnung eine bestimmte Funktion durchzuführen. Das
feldprogrammierbare Gatterarray wird während einem Testbetriebsmodus in
eine Eingebaute-Selbstprüfung- (BIST-)
Vorrichtung rekonfiguriert, die in der Lage ist, die verschiedenen
Logikvorrichtungen zu testen. Die bestimmte Funktion während dem
normalen Betrieb der Anordnung ist eine Übersetzungsoperation zwischen
unterschiedlichen Codes auf dem Kommunikationsbus und einem anderen
Bus. Als eine alternative Konfiguration kann ein Tor des feldprogrammierbaren
Gatterarrays Testdaten über
einen Bus empfangen, anstatt die Testdaten über einen JTAG-Bus zu empfangen.
-
Daher
ist es die Aufgabe der vorliegenden Erfindung, eine rekonfigurierbare
Steuerung und ein Verfahren zum Betreiben der rekonfigurierbaren Steuerung
mit verbesserten Charakteristika zu schaffen.
-
Diese
Aufgabe wird durch die rekonfigurierbare Steuerung gemäß Anspruch
1 oder ein Verfahren zum Betreiben einer rekonfigurierbaren Steuerung
gemäß Anspruch
16 gelöst.
-
Ein
drahtloser Kommunikationssystemchip umfasst einen Systembus, einen
Satz von Prozessoren mit fester Funktion, die mit dem Systembus
verbunden sind, einen eingebetteten Prozessor, der mit dem Systembus
verbunden ist und rekonfigurierbare Logik, die mit dem Systembus
verbunden ist. Die rekonfigurierbare Logik unterstützt einen
Betriebsmodus und einen Diagnosemodus. In dem Betriebsmodus arbeitet
das System, um unterschiedliche Luftschnittstellenprotokolle und
Datenraten zu unterstützen.
In dem Diagnosemodus testet das System abwechselnd das System, beseitigt
die Fehler des Systems und überwacht
die Busaktivität
innerhalb des Systems.
-
Die
Erfindung umfasst eine rekonfigurierbare Steuerung mit einer Konfigurations-
und Teststeuerung und eine rekonfigurierbare Logik. Die rekonfigurierbare
Logik unterstützt
Testoperationen in einem ersten Modus, Fehlerbeseitigungsoperationen
in einem zweiten Modus und Busüberwachungsoperationen
in einem dritten Modus.
-
Die
Erfindung verwendet eine wieder programmierbare Struktur für eine Vielzahl
von temporären
Funktionen, die zu unterschiedlichen Zeiten in dem Produktlebenszyklus
auftreten. Das Testen tritt zur Zeit der Herstellung auf, die Fehlerbeseitigung während dem
Einsatz, und die Busüberwachung kann
auftreten, um die Systemleistungsfähigkeit über die Lebensdauer des Produkts
abzustimmen. Durch Beeinflussen der gleichen rekonfigurierbaren
Logik auf dem Chip sind alle diese Funktionen in der gleichen Logik
implementiert, wobei angenommen wird, dass die ordnungsgemäßen Signalschnittstellen
vor der Herstellung definiert sind.
-
Kurze Beschreibung
der Zeichnungen
-
Für ein besseres
Verständnis
der Erfindung sollte Bezug genommen werden auf die folgende detaillierte
Beschreibung in Verbindung mit den beiliegenden Zeichnungen.
-
1 stellt
eine eingebettete wieder programmierbare Logiksystemarchitektur
gemäß einem Ausführungsbeispiel
der Erfindung dar.
-
2 stellt
eine wieder programmierbare Teststeuerung gemäß einem Ausführungsbeispiel der
Erfindung dar.
-
3 stellt
eine Fehlerbeseitigungssteuerarchitektur gemäß einem Ausführungsbeispiel
der Erfindung dar.
-
4 stellt
einen eingebetteten Prozessorkern und eine wieder programmierbare
Logiksystemarchitektur gemäß einem
weiteren Ausführungsbeispiel
der Erfindung dar.
-
5 stellt
einen wieder programmierbaren eingebetteten Prozessor-Debugger gemäß einem Ausführungsbeispiel
der Erfindung dar.
-
6 stellt
eine Eingebetteter-Systembus- und Wiederprogrammierbare-Logik-Systemarchitektur
gemäß einem
Ausführungsbeispiel
der Erfindung dar.
-
7 stellt
eine wieder programmierbare Systembusüberwachungsarchitektur gemäß einem Ausführungsbeispiel
der Erfindung dar.
-
Gleiche
Bezugszeichen beziehen sich auf entsprechende Teile in den Zeichnungen.
-
Detaillierte
Beschreibung der Erfindung
-
1 stellt
eine eingebettete wieder programmierbare Logiksystemarchitektur 20 gemäß einem
Ausführungsbeispiel
der Erfindung dar. Das System 20 umfasst eine programmierbare
Steuerung 22, die an einem Systembus 24 befestigt
ist. Außerdem
sind an dem Systembus 24 ein gemeinschaftlich verwendeter
Speicher 26, ein DSP 28, eine wieder programmierbare
Struktur 30 und eine feste ASIC-Logik 32 befestigt.
Wie es nachfolgend gezeigt ist, können die programmierbare Steuerung 22 und der
DSP 28 kombiniert werden, um einen einzigen eingebetteten
Prozessor zu bilden. Die feste ASIC-Logik kann selbst durch einen
Satz von Konfigurationsregistern parametrierbar sein. Diese Konfigurationsregister
können
nach der Rücksetzung
unter Verwendung der bestehenden Abtastkettenlogik mit minimalem
Mehraufwand programmiert werden.
-
2 stellt
die Architektur 23 einzelner Komponenten von 1 dar.
Insbesondere stellt 2 eine Konfigurations- und Teststeuerung 40 dar,
die der programmierbaren Steuerung 22 entspricht. Die wieder
programmierbare Logik 42 entspricht der wieder programmierbaren
Struktur 30 und die Feste-Funktions-Logikblöcke 46 entsprechen
der festen ASIC-Logik 32.
-
Die
wieder programmierbare Logik (RL) 42 enthält den notwendigen
Programmierspeicher, der für
die Konfiguration einzelner Teststeuerungen verwendet wird, von
denen jeder durch die CTC 40 gesteuert wird. Das System 23 umfasst
auch eine Grenzabtastkette (BSC; BSC = boundary scan chain) 44 zum
Testen der wieder programmierbaren Logik und mehrere externe Feste-Logik-Blöcke (FLBs) 46 mit
Serienabtastket tenzugriff von der wieder programmierbaren Logik 42.
Zugriff zu peripheren Takten ist durch eine globale Taktsteuerung
(GCC) 48. Externer Zugriff zu der CTC 40 ist durch
eine gut definierte serielle/parallele Schnittstelle 50,
wie z. B. den JTAG-Standard (JTAG = Joint Test Access Group).
-
Die
CTC 40 liefert die Funktionalität, um die wieder programmierbare
Strukturhardware zum Herstellen von Fehlern durch die Verwendung
der Grenzabtast- und Konfigurationslogik der Struktur zu testen.
Außerdem
wird die CTC 40 verwendet, um die wieder programmierbare
Struktur auf eine gut definierte Funktion zu konfigurieren, durch
das Anlegen von Konfigurationsbits, die durch die externe Schnittstelle 50 geliefert
werden.
-
Die
wieder programmierbare Struktur oder RL 42 in 2 ist
eine Hardwarestruktur und ein zugeordneter Konfigurationsspeicher,
der variierende Funktionalität
liefert, abhängig
von dem Zustand des Konfigurationsspeichers. Bei einem Ausführungsbeispiel
besteht die Hardwarestruktur aus programmierbaren funktionalen Einheiten,
die über
rekonfigurierbare Verbindungsmodule verbunden sind.
-
Die
Feste-Logik-Blöcke 46 sind
zweckgebundene Hardware-Ressourcen,
um Basisbandverarbeitungsfunktionen zu unterstützen, wie z. B. Entzerrung,
Entstreuung/Demodulation, Kombinieren oder Kanaldecodieren. Die
Feste-Logik-Blöcke 46 sind
zweckgebundene parametrierte Verarbeitungsbetriebskerne, die konfiguriert
werden können,
um Mehrfach-Algorithmikrealisierung
von Basisbandverarbeitungsfunktionen unterzubringen. Die GCC 48 liefert
die notwendige Steuerung über
die Taktstrukturen zu den Feste-Logik-Blöcken,
um den Abtastkettenzugriff zu diesen Blöcken zu ermöglichen.
-
Einzelne
Teststeuerungen 52 für
unabhängige
Feste-Logik-Blöcke können auf
der Basis der Anforderungen des zugeord neten Feste-Logik-Blocks gewählt werden.
Die Wiederprogrammierbarkeit liefert Unterstützung für die meisten Standardteststrategien.
Beispielsweise sind einzelne Teststeuerungen 52A–52C vorgesehen,
um die folgenden Strategien zu unterstützen. Zunächst wird eine RAM-BIST- (RSC#1
(RSC Nr. 1), RSC#4 (RSC NR. 4)) Strategie unterstützt. Diese
Strategie basiert auf linearen Rückkopplungsschieberegistern
(LFSRs), wandernden Einsen oder alternativen Algorithmen. RAM-BIST
wird vorzugsweise verwendet, um eine Funktionalität auf Nur-Schicht-RAM-Implementierungen
zu verifizieren. Die RAM-BIST-Steuerung führt für jedes Wort des RAM, der zu
testen ist, Adresserzeugung, Datenerzeugung und Datenvergleich durch.
Die Steuerung verläuft
erst durch die RAM-Adressen und schreibt spezifische Daten in jede
Wortposition. Der zweite Durchlauf durch den RAM wird verwendet,
um die vorher geschriebenen Inhalte auszulesen und mit dem erwarteten
Wert zu vergleichen. Viele unterschiedliche Muster können verwendet
werden, um die Abdeckung aller Typen von wahrscheinlichen Herstellungsfehlern
zu verbessern, die in dem RAM auftreten können.
-
Zweitens
wird eine LOGIK-BIST- (RSC#2) Strategie unterstützt. LOGIC-BIST ist eine ähnliche Technik
wie RAM-BIST, die LFSRs in Verbindung mit Signaturanalyse verwendet,
um die ordnungsgemäße Funktion
isolierter Logikblöcke
zu verifizieren. Die Logik-BIST-Steuerung wird verwendet, um eine
spezifische Pseudozufallssequenz zu erzeugen, die an die Eingänge eines
gegebenen Funktionsblocks angelegt wird. Die Ausgangssignale von
dem Funktionsblock werden dann mit einer bekannten „Signatur" der Funktion verglichen,
die an den Ausgängen erwartet
wird. Jede Fehlanpassung relativ zu der erwarteten Signatur ist
höchstwahrscheinlich
das Ergebnis eines Herstellungsdefekts.
-
Drittens
werden auch Testvektoren unterstützt.
VECTORS (RSC#3) liefern eine volle oder teilweise Automatiktestmustererzeugungs-
(ATPG-) Fähigkeit,
die über
mehrere Abtastketten in der wieder programmierbaren Logik paralle lisiert
werden kann. Die ATPG-Vektorsteuerung ist eine lokale Abtastkettensteuerung,
die einen Mechanismus zum seriellen Abtasten in einen Feste-Logik-Block,
zum Ausgeben eines einzigen Taktzyklus (in Verbindung mit dem GCC-48-Block) und zum Abrufen
der tatsächlichen Ergebnisse
für einen
externen Vergleich liefert. Falls die Eingänge des Blocks durch diese
Steuerung steuerbar sind und die Ausgänge beobachtbar sind, dann
können
Voll- oder Teil-Abtasttechniken
getrennt verwendet werden, um die Abdeckung beim Finden von Herstellungsfehlern
in dem Silizium zu erhöhen.
-
Auf
den Abschluss des Herstellungstests hin können die einzelnen Teststeuerungen 52 entfernt werden
und mit einer Debug-Steuerungs- (DC-) Schaltung 60 ersetzt
werden, wie es in 3 gezeigt ist. Dies wird erreicht,
indem nicht nur die Testschnittstellensignale in das wieder programmierbare
Zwischenverbindungsnetz 42 geliefert werden, sondern indem
auch jegliche notwendige Debug-Schnittstellensignale in das gleiche
Netz geliefert werden. Somit kann abhängig von der aktuellen Konfiguration
auf jeden Satz von Steuersignalen zu einem bestimmten Zeitpunkt
zugegriffen werden.
-
Die
Fehlerbeseitigungssteuerschaltung 60 und zugeordnete Unterstützungssoftware
liefert Sichtbarkeit in den internen Zustand der Feste-Logik-Blöcke 46 von
statischen Vorrichtungen (Takte können deaktiviert und Zustände beibehalten
werden). Die Fehlerbeseitigungssteuerschaltung ist eine Vorrichtung
zum Überwachen
und Berichten spezifizierter Ereignisse in einem gut definierten
Logikblock. Vor der Schaltungsherstellung müssen bestimmte Sondenpunkte
eingerichtet werden und die Datenauswahl geliefert werden, um die
Fehlerbeseitigungssteuerfunktion zu aktivieren. Die Steuerung ist
verantwortlich für
das Auswählen
des richtigen Ereignisses, das in einem bestimmten Zeitpunkt zu überwachen
ist, und das Berichten spezifischer Informationen (wie z. B. die
Gesamtzeit des Ereignisses, wie es durch einen Zählermechanismus angezeigt ist).
Die rekonfigurier bare Struktur ist flexibel genug, um es der Fehlerbeseitigungssteuerung
zu ermöglichen,
sich im Lauf der Zeit zu entwickeln. Die Zugriffssondenpunkte müssen jedoch
a priori definiert werden und zu der rekonfigurierbaren Zwischenverbindungsnetzschnittstelle
ausgebreitet werden.
-
Die
Steuerung 22 liefert zumindest drei wichtige Vorteile für Systementwickler.
Zuerst minimiert die Steuerung 22 die Menge an festen Logikressourcen,
die zum Testen komplexer Systemchipanwendungen notwendig sind (typischerweise
dargestellt durch einen etwa 5%-Mehraufwand bei Steuerlogikressourcen/Chipbereich).
Zweitens liefert das System 22 Flexibilität bei der
Testprogrammerzeugung durch Unterstützen mehrerer Testtechniken.
Drittens ermöglicht
das System 22 verbesserte Fehlerbeseitigungs- und Felddiagnosefähigkeiten.
-
4 stellt
eine Eingebetteter-Prozessorkern- und Wiederprogrammierbare-Logik-Systemarchitektur 100 gemäß einem
weiteren Ausführungsbeispiel
der Erfindung dar. Das System 100 umfasst einen eingebetteten
Prozessor 102, der mit einem Systembus 104 verbunden
ist. Eine wieder programmierbare Struktur 106 und ein gemeinschaftlich verwendeter
Speicher 108 sind ebenfalls mit dem Systembus 104 verbunden.
-
4 stellt
ein Teilsatzsystem (ohne einen DSP) für die Darstellung einer weiteren
Zeitfunktion dar, die in Verbindung mit eingebetteten Prozessoren oder
DSPs verwendet werden kann. Die Funktion ist abhängig davon, dass sie notwendige
Steuerungen und Beobachtungen in dem eingebetteten Prozessor aufweist,
um Funktionen zu ermöglichen,
wie z. B. Betreiben des Prozessors in einem Unterbrechungspunkt-
oder Ein-Schritt-Betrieb. Erneut müssen die notwendigen Signale
zu dem Prozessor (oder DSP) a priori bekannt sein und zu dem programmierbaren Verbindungsnetz
ausgebreitet werden, für
die Verwendung durch die rekonfigurierbare Logik beim Implementieren
der Prozessorfehlerbeseitigungsfunktionen.
-
5 stellt
eine allgemeine Architektur für einen
wieder programmierbaren eingebetteten Prozessor-Debugger 102 dar.
Das System 102 besteht aus einer Konfigurations- und Teststeuerung
(CTC) 110, die eine serielle JTAG-Schnittstelle 112 für externe
Steuerung, die eingebettete wieder programmierbare Zielanwendungslogik
(RL) 114, die notwendigen Programmierspeicher enthält (der
für die
Konfiguration der tatsächlichen
Debugger-Logik verwendet wird), eine Grenzabtastkette (BSC) 116 zum
Testen der wieder programmierbaren Logik 114 und eine fest-verdrahtete
Schnittstelle zu notwendigen Bus/Prozessor-Kernsignalen umfasst.
Die einzelnen eingebettete Kern- und Busarchitekturen geben die endgültigen Festverdrahtungsschnittstellenanforderungen
vor.
-
Diese
Architektur liefert Unterstützung
für eine
Standardfehlerbeseitigungsfunktionalität und ist nur durch die Eingabe/Ausgabe-Anforderungen
der wieder programmierbaren Logik für die endgültige (residente) Anwendung
und den Zugriff zu notwendigen Kernschnittstellensteuersignalen,
um die Fehlerbeseitigungsfähigkeiten
zu aktivieren, begrenzt. Beispielsweise erfordert die Einzelschrittausführung einen
statischen Kern (derselbe ändert
den Zustand nicht, wenn ein globales Deaktivierungssignal von dem
Debugger aktiviert wird, d. h. ein Taktfreigabesignal), während eine
Befehlseinfügung
eine Schnittstelle erfordert, die es ermöglicht, dass volle Befehle für eine weitere
Ausführung
in die Befehlsabruflogik des Kerns multiplext werden. Schließlich können Unterbrechungspunktfähigkeiten
eine zusätzliche
Logik in dem Kern erfordern, um unterbrochene Befehls- oder Datenabrufe
zu erfassen. Diese Funktionen sind allgemein mit den folgenden Logikblöcken dargestellt.
-
Zunächst gibt
es einen DGB_IF-Block 118, der in einem Kern 120 eingebettet
ist. Der DGB_IF-Block 118 richtet eine Schnittstellenlogik ein,
die dem eingebetteten Prozessorkern zugeordnet ist, um die Fehlerbeseitigungsfunktionen
für den Kern
zu unterstützen.
Zweitens gibt es einen DBG_CNTL-Block 122 in der wieder
programmierbaren Logik 114. Der DBG_CNTL-Block 122 ist
eine Steuerung, die es der externen JTAG-Schnittstelle ermöglicht,
die Register, die in der RL-Debugger-Logik enthalten sind, zu steuern
und zu beobachten. Dies ermöglicht
es, dass die Unterbrechungspunktregister eingerichtet werden, Bus-
oder Steuersignale überwacht
werden und seriell ausgelesen werden, und dass neue Befehle eingelesen
werden. Drittens gibt es Blöcke
BLO 124 und BLI 126 in der wieder programmierbaren
Logik 114. Diese Blöcke
arbeiten als Unterbrechungspunkteinheiten, die Daten/Adress/Steuerwerte
von dem Bus und Kern vergleichen, um zu bestimmen, wann ein Unterbrechungspunkt
aufgetreten ist. Auf den Abschluss jeglicher zeitlicher Debuggingfunktionen
wird die wieder programmierbare Logik 114 dann für ihre endgültige residente
Anwendung konfiguriert.
-
Fachleute
auf diesem Gebiet werden erkennen, dass dieses Ausführungsbeispiel
der Erfindung einen Debugger mit wesentlicher Laufzeitsichtbarkeit und
Fehlerbeseitigungsfähigkeit
liefert. Die Architektur minimiert zweckgebundene Hardware für Laufzeitfehlerbeseitigungs-Unterstützung bei
eingebetteten Prozessoren. Außerdem
liefert die Architektur Nachherstellungskonfigurierbarkeit von Fehlerbeseitigungsressourcen.
-
6 stellt
eine Eingebetteter-Systembus- und Wiederprogrammierbare-Logik-Systemarchitektur 150 gemäß einem
weiteren Ausführungsbeispiel der
Erfindung dar. Das System 150 umfasst eine wieder programmierbare
Vorrichtung 152, die mit einem Systembus 154 verbunden
ist. Ein Satz von Vorrichtungen 156A–156N ist ebenfalls
an dem Systembus 154 befestigt. Eine Busbrücke 158 ist
ebenfalls an dem Systembus 154 befestigt.
-
7 stellt
eine allgemeine Architektur für eine
wieder programmierbare Bus-Überwachungsfunktion
gemäß dem System
von 6 dar. Das System 152 umfasst eine Konfigurations- und Teststeuerung
(CTC) 160, die eine serielle JTAG-Schnittstelle 162 umfasst.
Das System von 7 umfasst auch eine eingebettete
wieder programmierbare Zielanwendungslogik 164, die notwendigen
Programmierungsspeicher (der für
die Konfiguration der tatsächlichen
Bus-Überwachungsfunktion
verwendet wird), eine Grenzabtastkette (BSC) 166 zum Testen
der wieder programmierbaren Logik, und eine fest-verdrahtete Schnittstelle
zu notwendigen Systembussignalen umfasst. Wie bei vorhergehenden
Ausführungsbeispielen
geben einzelne Busarchitekturen die endgültigen Festverdrahtungsschnittstellenanforderungen
vor.
-
Diese
Architektur liefert Unterstützung
für Standardbus-Überwachungs-/Steuerfunktionalität und ist
nur durch die Eingabe-/Ausgabe-Anforderungen der wieder programmierbaren
Logik 146 für
die endgültige
(residente) Anwendung, die Menge der wieder programmierbaren Logik 164,
die für
die Verwendung beim Überwachen/Steuern
von Logik verfügbar
ist, und den Zugriff zu notwendigen Systembusschnittstellensignalen
begrenzt. Fehlereinfügung kann
beispielsweise erreicht werden durch Konfigurieren der wieder programmierbaren
Logik 164, um das Verhalten einer kompatiblen Busschnittstellensteuerung
nachzuahmen. Der Fehler kann dann erzeugt werden durch Programmieren
einer temporären
Treiberanwendung, um den Fehler auf der Busschnittstelle zu erzeugen.
Reine Überwachungsfunktionen
können
in die wieder programmierbare Logik 164 programmiert werden
und dann durch die JTAG-Schnittstelle 162 ausgelesen werden.
Diese Funktionen sind allgemein mit den folgenden Logikblöcken dargestellt.
-
Zunächst ist
der BMF-Block 170 die programmierbare Bus-Überwachungsfunktion, die aktive/Leerlauf-Zyklen
zählt,
Ziele/Initiatoren von Transaktionen bestimmt und es ermöglicht,
dass die erfassten Daten zu der JTAG-Schnittstelle ausgelesen werden.
Zweitens ist der BIF-Block 172 eine wieder programmierbare
Implementierung der Busschnittstelle, die es ermöglicht, dass die wieder programmierbare
Logik entweder als ein Master oder ein Slave auf dem Systembus erscheint.
Der TIRL-Block 174 ist die Transaktionseinleitungs-/Antwortlogik,
die es ermöglicht,
dass die wieder programmierbare Logik 164 als temporäre Anwendung
auf dem Bus erscheint. Somit kann der Block Transaktionen einleiten
oder auf dieselben antworten und Busfehler auf dem eingebetteten
Systembus bestätigen
oder überwachen.
-
Auf
den Abschluss jeglicher zeitlicher Busüberwachungs-/Steuerfunktionen hin wird die wieder programmierbare
Logik 164 dann für
ihre endgültige residente
Anwendung konfiguriert. Dieses Ausführungsbeispiel der Erfindung
liefert Busüberwachungs-
und Steuerfunktionen für
Laufzeitüberwachung-
und Systemfehlerbeseitigungsoperationen. Die Erfindung weist eine
konfigurierbare Architektur auf, die unabhängige Busschnittstellenstandards
unterstützt.
Ferner liefert die Erfindung flexible Steuerfunktionen und benutzerdefinierte Überwachungs- und
Steuerfähigkeit.
Die Erfindung minimiert zweckgebundene Hardware, die notwendig ist,
um Laufzeitbus-Überwachung
und -Steuerung in eingebetteten Bussystemen zu liefern. Schließlich liefert
die Erfindung Nachherstellungskonfigurierbarkeit von Busüberwachungs-
und Steuerressourcen.
-
Es
ist anzumerken, dass die Erfindung serielle Abtastketten verwendet,
um Laufzeitkonfiguration- und Laufzeitfehlerbeseitigung-Beobachtbarkeit und
-Steuerbarkeit der konfigurierbaren ASIC-Logikblöcke zu liefern. Serielle Abtastketten
wurden herkömmlicherweise
auf den Kontext von Herstellungstests begrenzt. Die Erfindung verwendet
serielle Abtastketten, um den Zustand der ASIC (einschließlich Tabellen,
Multiplexersteuerungen, Zustandsmaschinen, rekonfigurierbare Datenwege,
Speicher, sequenzielle Zustandselemente und jede andere flüchtige Speicherung)
zu lesen, modifizieren und zu schreiben, als ein Verfahren zum Durch führen von Laufzeitkonfiguration,
alternativer Algorithmusauswahl und Laufzeitfehlerbeseitigung.
-
Die
vorhergehende Beschreibung verwendete zu Erklärungszwecken spezifische Nomenklatur, um
ein gründliches
Verständnis
der Erfindung zu schaffen. Es ist jedoch für einen Fachmann auf diesem
Gebiet klar, dass die spezifischen Einzelheiten nicht erforderlich
sind, um die Erfindung zu praktizieren. In anderen Fällen sind
gut bekannte Schaltungen und Vorrichtungen in Blockdiagrammform
gezeigt, um unnötige
Ablenkung von der darunter liegenden Erfindung zu vermeiden. Somit
sind die vorhergehenden Beschreibungen spezifischer Ausführungsbeispiele
der vorliegenden Erfindung zu Darstellungs- und Beschreibungszwecken
präsentiert. Dieselben
sollen nicht ausschließend
sein oder die Erfindung auf die genau offenbarte Form beschränken. Selbstverständlich sind
in Hinblick der obigen Lehren viele Modifikationen und Variationen
möglich. Die
Ausführungsbeispiele
wurden gewählt
und beschrieben, um die Prinzipien der Erfindung und ihre praktischen
Anwendungen am besten zu erklären, um
es dadurch anderen Fachleuten auf diesem Gebiet zu ermöglichen,
die Erfindung und verschiedene Ausführungsbeispiele mit verschiedenen
Modifikationen am besten zu nutzen, wie sie für die bestimmte in Erwägung gezogene
Verwendung geeignet sind. Der Schutzbereich der Erfindung ist durch
die folgenden Ansprüche
definiert.