-
Die
vorliegende Erfindung betrifft eine Prüfschaltung zur Prüfung
einer korrekten Durchführung eines Handshake-Protokolls.
Weiterhin betrifft die Erfindung ein Verfahren zur Prüfung
einer korrekten Durchführung eines Handshake-Protokolls.
-
Handshake-Protokolle
werden bei asynchronen Schaltungen verwendet, um einen Datentransfer
zwischen zwei asynchron kommunizierenden Kommunikationseinheiten,
nachfolgend auch mit KE abgekürzt, zu organisieren. Eine
Gruppe von Handshake-Protokollen (sogenannte „single-rail” oder „bundled-data” Protokolle)
basiert auf „Request”, nachfolgend mit REQ abgekürzt,
und ”Acknowledge”, nachfolgend
mit ACK abgekürzt, Signalen. Bei dieser Protokollgruppe
ist für den eigentlichen Datentransfer zwischen den Kommunikationseinheiten
ein Kommunikationskanal vorgesehen. Zusätzlich sind die
Kommunikationseinheiten über zwei Signalleitungen miteinander
verbunden, wobei zur Steuerung des Datentransfers auf einer Signalleitung
das REQ-Signal und auf der anderen das ACK-Signal gesetzt bzw. gelesen
wird. Ein jeweiliges Protokollsignal (REQ oder ACK) hat die Bedeutung
eines sogenannten „Flags”, also einer Art boolescher
Variable, die entweder LOW (logisch Null) oder HIGH (logisch Eins)
sein kann. Bei spielsweise werden das REQ-Signal von einer Daten
sendenden ersten Kommunikationseinheit und das ACK-Signal von einer
Daten empfangenden zweiten Kommunikationseinheit gesetzt. Auch der
umgekehrte Fall ist möglich. Über diese Protokollsignale
kann somit der Status eines Datentransfers von einer Kommunikationseinheit
definiert bzw. abgefragt werden.
-
Bei
einem Datentransfer gemäß einem Handshake-Protokoll
dieser Gruppe, einem sogenannten „push-protocol”,
setzt die erste Kommunikationseinheit das REQ-Signal auf HIGH, sobald
sich zu übertragende Daten der ersten Kommunikationseinheit
im Kommunikationskanal befinden, und zeigt der zweiten Kommunikationseinheit
damit an, dass Daten zum Empfang bereitstehen. Nach erfolgreichem
Empfang der Daten setzt die zweite Kommunikationseinheit das ACK-Signal
auf HIGH. Die erste Kommunikationseinheit wiederum quittiert den
Empfang des ACK-Signals durch Deaktivierung des REQ-Signals.
-
Die
Durchführung eines Handshake-Protokolls, im Folgenden auch
schlicht als Kommunikation bezeichnet, kann fehlerbehaftet sein.
Beispielsweise sind folgende Fehler bekannt:
– „Stuck-at-Fehler”: | Ein
Protokollsignal einer Kommunikationseinheit ist permanent LOW oder
HIGH. |
– „Premature-Transition-Fehler”: | Zwei
aufeinanderfolgende Signaländerungen (von LOW auf HIGH
bzw. von HIGH auf LOW) liegen zeitlich zu dicht beieinander, d.
h., dass die Zeit zwischen den zwei aufeinanderfolgenden Signaländerungen
ein festgelegtes Minimum δmin unterschreitet. |
– „Order-Violation-Fehler”: | Die
Reihenfolge der Signaländerungen stimmt nicht mit der durch
das Protokollvorgegebenen Reihenfolge überein. |
-
Fehler
der oben genannten Art beeinträchtigen selbstredend den
Datentransfer zwischen den Kommunikationseinheiten. Deshalb ist
es zweckmäßig, die korrekte Durchführung
eines Handshake-Protokolls zu prüfen, so dass etwaige Fehler
detektiert werden können und entsprechend dem Fehlertyp
reagiert werden kann.
-
Eine
Schaltung zur Prüfung einer korrekten Durchführung
eines Handshake-Protokolls wurde im Jahr 2005 erstmals in
D.
Shang et. al., "On-line testing of globally asynchronous
circuits", Proceedings of the 11th IEEE International On-Line
Testing Symposium (IOLTS’05), pp. 135–140, School
of EECE, University of Newcastle upon Tyne, UK, July 2005 vorgestellt.
Eine Weiterentwicklung dieser Schaltung wurde in
D. Shang
et. al., "Low-cost online testing of asynchronous handshakes",
in Proceedings of the Eleventh IEEE European Test Symposium (ETS’06),
pp. 225–232, School of EECE, University of Newcastle upon
Tyne, UK, May 2006 publiziert.
-
Bei
der in den beiden genannten Literaturstellen vorgestellten und in 1 schematisch
dargestellten Prüfschaltung überwacht für
zwei Protokollsignale (ACK und REQ) mit jeweils zwei möglichen
Signaländerungen (von LOW auf HIGH bzw. von HIGH auf LOW)
pro Signaländerung (pro „Phase”) jeweils
eine Prüfkomponente 11, 12, 13 und 14 die
Durchführung des Handshake-Protokolls. Die Prüfkomponenten
sind dabei über Kontrollschaltungen 15, 16, 17 und 18 miteinander
verbunden. Die gesamte Prüfschaltung umfasst daher vier Prüfkomponenten
und vier Kontrollschaltungen. Die Kontrollschaltungen dienen der
Ablaufsteuerung und bestimmen abhängig vom Zustand der
Durchführung des Handshake-Protokolls, welche Prüfkomponente
aktiv ist.
-
Die
Prüfkomponenten der bekannten Schaltung umfassen jeweils
ein Verzögerungselement, ein D-Flipflop und einen kleinen
Anteil kombinatorischer Logik. Das Verzögerungselement
dient der zeitlichen Verzögerung eines zu prüfenden
Protokollsignals, dessen Wert durch eine Signaländerung
des jeweils anderen Protokollsignals in das D-Flipflop geschrieben
wird. Im fehlerfreien Ablauf des Protokolls wird im D-Flipflop immer
eine logische Eins gespeichert, welche zur nächsten Kontrollschaltung
propagiert und die nächste Prüfkomponente aktiviert.
Entspricht das geprüfte Signal nicht dem durch das Protokoll
vorgeschriebenen Wert, wird in das D-Flipflop eine logische Null
geschrieben, welche die Aktivierung der nächsten Prüfkomponente verhindert.
-
Der
Aufbau einer jeweiligen Prüfkomponente bzw. Kontrollschaltung
ist bis auf eine Eingangsbeschaltung weitestgehend gleich. Insbesondere
das in einer jeweiligen Prüfkomponente integrierte Verzögerungselement,
welches beispielsweise aus langen Inverterketten gebildet sein kann,
ist sehr flächenaufwändig. Somit ist die mehrfache
Verwendung von Prüfkomponenten und Kontrollschaltungen
in einer Prüfschaltung mit einem großen Flächenbedarf
der Prüfschaltung verbunden. Es ist zudem allgemein bekannt,
dass die Verwendung vieler identischer Komponenten die Fehleranfälligkeit
sowie die zum Betrieb erforderliche Leistungsaufnahme der Schaltung
erhöht, was grundsätzlich nachteilig ist. Ein
weiterer Nachteil der bekannten Prüfschaltungen ist, dass
sie einen „Order-Violation-Fehler” 20,
der sich durch einen in 2 dargestellten Verlauf der Protokollsignale
ergibt, nicht detektieren können.
-
Deshalb
ist es ein der Erfindung zugrunde liegendes technisches Problem,
eine Prüfschaltung zur Prüfung einer Durchführung
eines Handshake-Protokolls vorzulegen, welche als integrierte Schaltung
mit besonders geringem Flächenbedarf realisiert werden
kann. Weiterhin ist es ein der Erfindung zugrunde liegendes technisches
Problem, ein vereinfachtes Verfahren zur Prüfung einer
Durchführung eines Handshake-Protokolls vorzustellen.
-
Gemäß eines
ersten Aspektes der Erfindung wird das technische Problem dadurch
gelöst, dass eine Prüfschaltung zur Prüfung
einer korrekten Durchführung eines Handshake-Protokolls
ausgebildet ist, ein digitales erstes Eingangswort zu empfangen,
wobei eine jeweilige Bitstelle des Eingangswortes durch eine aktuelle
logische Belegung eines jeweiligen Protokollsignals gebildet ist
und einen durch eine Änderung einer logischen Belegung
eines der Protokollsignale erzeugten Übergangs des ersten
Eingangswortes in ein zweites Eingangswort zu detektieren.
-
Weiter
ist die Prüfschaltung des ersten Aspektes der Erfindung
dazu ausgebildet, auf den Übergang des ersten Eingangswortes
in das zweite Eingangswort hin das zweite Eingangswort mit einem
digitalen Vergleichswort zu vergleichen und einen Indikator für
das Vorhandensein eines Protokollfehlers nach extern auszugeben,
wobei eine jeweilige Bitstelle des Vergleichswortes eine nach dem
Handshake-Protokoll zu erwartende logische Belegung des jeweiligen
Protokollsignals nach dem Übergang darstellt.
-
Schließlich
ist die Prüfschaltung des ersten Aspektes der Erfindung
dazu ausgebildet, nach Verstreichen einer festgelegten Verzögerungszeit
nach dem Übergang des ersten Eingangswortes in das zweite
Eingangswort das Vergleichswort zu ändern, wobei eine jeweilige
Bitstelle des geänderten Vergleichswortes eine nach dem
Handshake-Protokoll zu erwartende nächste logische Belegung
des jeweiligen Protokollsignals nach einem erneuten, noch nicht
eingetretenen Übergang des zweiten Eingangswortes in ein
drittes Eingangswort darstellt und wobei die festgelegte Verzögerungszeit
mit einer Zeitspanne übereinstimmt, deren Dauer dem Handshake-Protokoll
gemäß zwischen zwei Signaländerungen
der Protokollsignale liegen muss.
-
Die
erfindungsgemäße Prüfschaltung erlaubt
eine Prüfung der korrekten Durchführung des Handshake-Protokolls
mit nur sehr geringem schaltungstechnischem Aufwand. Im Gegensatz
zu den bekannten Schaltungen sieht diese Prüfschaltung
keine Vielzahl identischer Prüfkomponenten zur Überprüfung
jeweils eines einzigen Signals vor, sondern kann eine Vielzahl in
einem Eingangswort gebündelter Protokollsignale, die von zwei
Kommunikationseinheiten zwecks Organisation eines asynchronen Datentransfers
gesetzt werden, empfangen und das Eingangswort mit dem vom Handshake-Protokoll
vorgegebenen Vergleichswort vergleichen. Insbesondere verzichtet
die Prüfschaltung auf den Einsatz einer Vielzahl Verzögerungselemente,
womit sie in ihrer Gesamtheit lediglich einen sehr geringen Flächenbedarf
und eine geringe Leistungsaufnahme erfordert. Der kompakte Aufbau
der erfindungsgemäßen Prüfschaltung hat
weiter zum Vorteil, dass ihre Anfälligkeit für schaltungstechnische
Fehler sehr gering ist. Außerdem ist die erfindungsgemäße
Prüfschaltung ausgebildet, alle „Order-Violation-Fehler” zu
detektieren; insgesamt ist also die Prüfbarkeit der Durchführung
eines Handshake-Protokolls verbessert.
-
Nachfolgend
werden Ausführungsbeispiele des ersten Aspekts der Erfindung
beschrieben. Die zusätzlichen Merkmale der Ausführungsbeispiele
können zur Bildung neuer Ausführungsformen der
Erfindung miteinander kombiniert werden, sofern nicht Gegenteiliges
beschrieben ist.
-
Durch
den auf den ersten Übergang hin stattfindenden Vergleich
des zweiten Eingangswortes mit dem Vergleichswort ist die Prüfschaltung
in einem Ausführungsbeispiel in der Lage, „Order-Violation-Fehler” und „Stuck-at-Fehler” zu
detektieren. Vorzugsweise in Kombination mit dieser Funktionalität
ist die Prüfschaltung in einem Ausführungsbeispiel
ausgebildet, einen Vergleich des dritten Eingangswortes mit dem
ungeänderten Vergleichswort durchzuführen, der
zwangsläufig negativ ausfallen muss, wenn der erneute Übergang
des zweiten Eingangswortes in das dritte Eingangswort vor Ablauf
der festgelegten Verzögerungszeit eintritt. Auf diese Weise
kann auch der „Premature-Transition-Fehler” detektiert
werden.
-
In
einer Ausführungsform umfasst die Prüfschaltung
eine Triggereinheit, eine Verzögerungseinheit, einen Speicher,
und eine Vergleichseinheit, bei der die Triggereinheit ausgebildet
ist, den Übergang des ersten Eingangswortes in das zweite
Eingangswort zu detektieren und auf den Übergang hin ein
Triggersignal zu erzeugen und der Verzögerungseinheit und
der Vergleichseinheit zuzuführen.
-
Dabei
ist die Verzögerungseinheit ausgebildet ist, das Triggersignal
um die festgelegte Verzögerungszeit zu verzögern
und das verzögerte Signal dem Speicher zuzuführen.
Der Speicher ist ausgebildet, das Vergleichswort zu speichern und
auf den Empfang des verzögerten Signals hin das Vergleichswort
mit dem geänderten Vergleichswort zu überschreiben.
-
Schließlich
ist die Vergleichseinheit ausgebildet, eines der Eingangswörter
mit dem Vergleichswort zu vergleichen und auf den Empfang des Triggersignals
hin ein Vergleichsergebnis als Indikatorsignal nach extern auszugeben.
-
Die
Verzögerungseinheit kann beispielsweise eine Vielzahl in
Serie geschalteter Inverter umfassen. Die Anzahl der Inverter bestimmt
dann die festgelegte Verzögerungszeit, um die die Verzögerungseinheit
ein Triggersignal verzögert. Der durch den einmaligen Einsatz
der Verzögerungseinheit reduzierte Schaltungsaufwand der
erfindungsgemäßen Prüfschaltung hat gegenüber
bekannten Schaltungen einen wesentlich geringeren Flächenbedarf
der Schaltung zur Folge. Beispielsweise beansprucht die erfindungsgemäße
Prüfschaltung dieser Ausführungsform bei einer
Verzögerungseinheit umfassend etwa 50 Inverter lediglich
ein Drittel der Fläche, die bekannte Schaltungen benötigen
würden. Die reduzierte Anzahl der Bauelemente hat zudem
eine niedrigere Verlustleistung und eine reduzierte Anfälligkeit
für Fehler der Schaltung zur Auswirkung.
-
In
einer alternativen Ausführungsform umfasst die Prüfschaltung
eine Triggereinheit, eine Verzögerungseinheit, einen Speicher
und eine Vergleichseinheit. Dabei ist die Triggereinheit ausgebildet,
den Übergang des ersten Eingangswortes in das zweite Eingangswort
zu detektieren und auf den Übergang hin ein Triggersignal
zu erzeugen und der Verzögerungseinheit und der Vergleichseinheit
zuzuführen.
-
Weiter
ist die Verzögerungseinheit ausgebildet ist, das Triggersignal
um die Hälfte der festgelegten Verzögerungszeit
zu verzögern und zu modifizieren sowie das modifizierte
Verzögerungssignal dem Speicher und der Vergleichseinheit
zuzuführen, wobei das modifizierte Verzögerungssignal
eine Signalbreite aufweist, deren Dauer mit der Hälfte
der festgelegten Verzögerungszeit übereinstimmt.
-
Der
Speicher ist ausgebildet, das Vergleichswort zu speichern und auf
den Empfang des modifizierten Verzögerungssignals hin das
Vergleichswort mit dem geänderten Vergleichswort zu überschreiben.
-
Schließlich
ist die Vergleichseinheit ausgebildet, eines der Eingangswörter
mit dem Vergleichswort zu vergleichen und auf den Empfang des Triggersignals
hin wahlweise ein Vergleichsergebnis oder das modifizierte Verzögerungssignal
als Indikatorsignal nach extern auszugeben.
-
Diese
Ausführungsform ist insbesondere dann sehr vorteilhaft,
wenn die festgelegte Verzögerungszeit, die gemäß dem
Handshake-Protokoll zwischen zwei Signaländerungen der
Protokollsignale liegen muss, vergleichsweise lang ist. Diese Ausführungsform
ist so konzipiert, dass das Triggersignal lediglich um die Hälfte
der festgelegten Verzögerungszeit verzögert werden
muss, was den Aufwand des Verzögerungseinheit abhängig
von der Verzögerungszeit quasi ebenfalls potentiell bis
um den Faktor zwei verringert. Ein „Premature-Transition-Fehler” kann
in dieser Ausführungsform auf zweierlei Weise erkannt werden:
- 1) Tritt ein erneuter Übergang vor
Ablauf der halben festgelegten Verzögerungszeit ein, so
findet ein Vergleich zwischen einem „alten” Vergleichswort
und einem „neuen” Eingangswort statt, der folglich
negativ ausfällt und somit die Vergleichseinheit auf den
Empfang des von der Triggereinheit generierten Triggersignals hin
das negative Vergleichsergebnis (logisch eins) als Indikatorsignal
zur Anzeige eines Protokollfehlers nach extern ausgibt.
- 2) Tritt ein erneuter Übergang nach Ablauf der halben
und vor Ablauf der gesamten festgelegten Verzögerungszeit
ein, so gibt die Vergleichseinheit auf den Empfang des von der Triggereinheit
generierten Triggersignals hin das modifizierte Verzögerungssignal
als Indikatorsignal zur Anzeige eines Protokollfehlers nach extern
aus. Das Vergleichsergebnis würde in diesem Falle positiv
ausfallen, da der Speicher das „alte” Vergleichswort
bereits nach Verstreichen der halben festgelegten Verzögerungszeit
in ein „neues” ändert.
-
Die
Abbildung des Triggersignals auf ein um die Hälfte der
Verzögerungszeit verzögertes Signal mit einer
Signalbreite, deren Dauer gerade mit der Hälfte der Verzögerungszeit übereinstimmt,
leistet beispielsweise eine Verzögerungseinheit, die ein
logisches ODER-Gatter, ein logisches UND-Gatter und ein Verzögerungsglied
umfasst.
-
Dabei
ist das Triggersignal einem ersten Eingang des ODER-Gatters zugeführt
sowie ein erstes Ausgangssignal des ODER-Gatters einem ersten Eingang
des UND-Gatters und dem Verzögerungsglied. Weiter ist das
Verzögerungsglied ausgebildet, das erste Ausgangssignal
um die Hälfte der festgelegten Verzögerungszeit
zu verzögern und als das modifizierte Verzögerungssignal
sowohl dem Speicher und der Vergleichseinheit als auch invertiert
einem zweiten Eingang des UND-Gatters zuzuführen. Schließlich
ist ein zweites Ausgangssignal des UND-Gatters einem zweiten Eingang
des ODER-Gatters zugeführt ist.
-
Zweckmäßigerweise
ist die erfindungsgemäße Prüfschaltung
ausgebildet, auf eine Detektion eines Protokollfehlers hin in einen
inaktiven Zustand überzugehen, wobei die Prüfschaltung
im inaktiven Zustand fortwährend das Vorhandensein des
Protokollfehlers anzeigt.
-
Dies
kann beispielsweise dadurch erreicht werden, dass die Vergleichseinheit
ausgebildet ist, der Triggereinheit auf den Empfang des Triggersignals
hin ein aus dem Indikatorsignal abgeleitetes Signal zuzuführen, wobei
die Triggereinheit ausgebildet ist, auf den Empfang des abgeleiteten
Signals hin keine Triggersignale zu erzeugen.
-
Durch
die Rückkopplung des aus dem Indikatorsignal abgeleiteten
Signals reagiert die erfindungsgemäße Prüfschaltung
im Falle eines detektierten Protokollfehlers nicht mehr auf Signaländerungen,
ist also inaktiv. Folglich verbleibt die Prüfschaltung
in dem zum Zeitpunkt des detektierten Protokollfehlers befindlichen Zustand.
Somit lässt sich der Zustand der Schaltung leicht mit einer
synchronen arbeitenden Testausrüstung überprüfen.
-
Zweckmäßig
ist die Prüfschaltung in einer Ausführungsform
ausgebildet, ein Rückstellsignal von extern her zu empfangen,
auf den Empfang des Rückstellsignals hin von einem inaktiven
Zustand in einen Initialzustand überzugehen und im Initialzustand
auf eine Änderung der logischen Belegung eines der Protokollsignale
hin ein Indikatorsignal auszugeben.
-
Durch
das Rückstellsignal kann die erfindungsgemäße
Prüfschaltung durch Fremdzugriff von extern her in einen
Initialzustand überführt werden, beispielsweise
vor der Inbetriebnahme der Prüfschaltung oder nach einem
detektierten Protokollfehler. Somit lässt sich der Zustand
der Schaltung leicht mit einer synchronen Testausrüstung überprüfen.
-
Bevorzugt
ist die Triggereinheit in einer weiteren Ausführungsform
der erfindungsgemäßen Prüfschaltung zusätzlich
ausgebildet, ein erstes Taktsignal von extern her zu empfangen und
bei jeder positiven und/oder negativen Taktflanke des ersten Taktsignals
ein Triggersignal zu erzeugen und der Verzögerungseinheit
und der Vergleichseinheit zuzuführen.
-
In
einer Ausführungsform ist die Prüfschaltung vorteilhafterweise
weiter dazu ausgebildet, das Vergleichswort nach extern auszugeben.
Somit kann jederzeit der Zustand des Speichers gelesen werden.
-
Durch
Zuführung des externen ersten Taktsignals und Ablesung
des nach extern ausgegebenen Vergleichswortes ist es möglich,
die korrekte Funktionsweise der Prüfschaltung und die korrekte
Belegung des Speichers sowohl vor als auch während ihres
Betriebes zu verifizieren.
-
In
einer anderen Ausführungsform ist die Triggereinheit zusätzlich
ausgebildet, bei einer Änderung einer logischen Belegung
eines bestimmten der Protokollsignale ein Zählsignal zu
erzeugen und nach extern auszugeben.
-
Das
nach extern ausgegebene Zählsignal kann von einer weiteren
digitalen Schaltung erfasst werden, um beispielsweise die Anzahl
der Signaländerungen des bestimmten Protokollsignals zu
zählen. Auf diese Weise kann auch von der weiteren digitalen
Verarbeitungseinheit ein „Stuck-at-Fehler” erkannt
werden. Dadurch ist die Sicherheit der Prüfung der Durchführung
des Handshake Protokolls erhöht.
-
Die
erfindungsgemäße Prüfschaltung eignet
sich insbesondere zur Prüfung der Durchführung
eines auf „Request” und „Acknowledge” basierenden
Handshake-Protokolls. In diesem Fall weist ein jeweiliges Eingangswort
zwei Bitstellen auf.
-
Gemäß einem
zweiten Aspekt der Erfindung wird das technische Problem dadurch
gelöst, dass eine integrierte Schaltung eine Vielzahl Prüfschaltungen
gemäß dem ersten Aspekt der Erfindung oder einer
hierin genannten Ausführungsform umfasst.
-
Zur
einfachen Überprüfung der Status der Vielzahl
Prüfschaltungen der integrieren Schaltung des zweiten Aspektes
der Erfindung ist es sehr vorteilhaft, dass die integrierte Schaltung
eine Ausleseleitung umfasst, die die Speicher der Vielzahl Prüfschaltungen seriell
miteinander verbindet und an einem Ausleseausgang der integrierten
Schaltung mündet.
-
Dabei
ist eine jeweilige Prüfschaltung der integrierten Schaltung
ausgebildet, ein Auslesesignal von extern her zu empfangen und auf
den Empfang des Auslesesignals hin die Überprüfung
der Durchführung des Handshake-Protokolls zu unterbrechen.
Weiter ist sie ausgebildet ein zweites Taktsignal zu empfangen und bei
Anliegen des Auslesesignals jeweils auf eine positive und/oder negative
Taktflanke des zweiten Taktsignals hin eine Ausgabe jeweils einer
letzten Bitstelle eines im Speicher der jeweiligen Prüfschaltung
vorhandenen Wortes über die Ausleseleitung zu veranlassen,
so dass durch gleichzeitige Erfassung des zweiten Taktsignals und
eines Signals am Ausleseausgang der integrierten Schaltung die logischen
Zustände der Speicher der Vielzahl Prüfschaltungen
sequentiell ermittelt werden können.
-
Dies
hat den Vorteil, dass für eine Statusüberprüfung
einer jeweiligen Prüfschaltung die jeweilige Prüfschaltung
nicht zwangsläufig ausgebildet sein muss, das Vergleichswort
nach extern auszugeben. Die Speicher der Vielzahl Prüfschaltungen
sind seriell miteinander verbunden, so dass sie einen „Verbundspeicher” bilden.
Mit jedem Takt des zweiten Taktsignals gibt jeweils ein Speicher
ein Bit über die Ausleseleitung aus. Dabei nimmt ein Speicher
des Verbundspeichers ein Bit des vorhergehenden Nachbarspeichers
auf und übergibt ein eigenes Bit an den nachfolgenden Speicher.
Der letzte Speicher des Verbundspeichers gibt folglich die Bits
am Ausleseausgang aus. Da sowohl das zweite Taktsignal als auch
die Signale am Ausleseausgang erfasst werden können, kann
der Signalstrom am Ausleseausgang logischen Zuständen der
Speicher der Vielzahl Prüfschaltungen zugeordnet werden.
-
Hinsichtlich
ihres Verfahrensaspektes bildet die Erfindung ein Verfahren zur
Prüfung einer korrekten Durchführung eines Handshake-Protokolls,
umfassend die Schritte Empfangen eines digitalen ersten Eingangswortes,
wobei eine jeweilige Bitstelle des Eingangswortes durch eine aktuelle
logische Belegung eines jeweiligen Protokollsignals gebildet ist;
Detektieren eines durch eine Änderung einer logischen Belegung
eines der Protokollsignale erzeugten Übergangs des ersten
Eingangswortes in ein zweites Eingangswort; auf den Übergang
hin: Vergleichen des zweiten Eingangswortes mit einem digitalen
Vergleichswort, wobei eine jeweilige Bitstelle des Vergleichswortes
eine nach dem Handshake-Protokoll zu erwartende logische Belegung
des jeweiligen Protokollsignals nach dem Übergang darstellt;
und nach Verstreichen einer festgelegten Verzöge rungszeit
nach dem Übergang: Ändern des Vergleichswortes,
wobei die jeweiligen Bitstellen des geänderten Vergleichswortes
eine nach dem Handshake-Protokoll zu erwartende nächste
logische Belegung des jeweiligen Protokollsignals nach einem erneuten,
noch nicht eingetretenen Übergang des zweiten Eingangswortes in
ein drittes Eingangswort darstellt und wobei die Verzögerungszeit
mit einer vorgegebenen Zeitspanne übereinstimmt, deren
Dauer zwischen zwei Signaländerungen der Protokollsignale
liegen muss.
-
Das
erfindungsgemäße Verfahren erlaubt eine einfache
und effiziente Prüfung der Durchführung des Handshake-Protokolls.
Es teilt somit im Wesentlichen die Vorteile der Prüfschaltung
des ersten Aspektes der Erfindung.
-
Weitere
Vorteile der Erfindung werden bei der folgenden Beschreibung einiger
Ausführungsbeispiele anhand der Figuren erläutert.
Darin zeigen in schematischer Darstellung
-
1 einen
Schaltungsaufbau einer Prüfschaltung gemäß dem
Stand der Technik,
-
2 einen
fehlerhaften Verlauf der Protokollsignale, den eine Schaltung nach 1 nicht
als fehlerhaft detektieren kann,
-
3 einen
Schaltungsaufbau einer Ausführungsform der erfindungsgemäßen
Prüfschaltung,
-
4 einen
Schaltungsaufbau einer alternativen Ausführungsform der
erfindungsgemäßen Prüfschaltung mit modifizierter
Verzögerungseinheit,
-
5 eine
Schaltung einer modifizierten Verzögerungseinheit,
-
6 einen
Signalverlauf zur Verdeutlichung der Funktion der Verzögerungseinheit
nach 5,
-
7 eine
Prinzipverschaltung eines Speichers und einer Abtasteinheit zur
sequentiellen Statusüberprüfung einer Vielzahl
Prüfschaltungen,
-
8 den
Schaltungsaufbau eines Speicherelementes zur sequentiellen Statusüberprüfung
einer Vielzahl Prüfschaltungen,
-
9 eine
Verschaltung zweier Speicherelemente zur sequentiellen Statusüberprüfung
einer Vielzahl Prüfschaltungen,
-
10 eine
Verschaltung eines Speichers und einer Abtasteinheit zur sequentiellen
Statusüberprüfung einer Vielzahl Prüfschaltungen,
-
11 eine
Anordnung einer Vielzahl Prüfschaltungen zur sequentiellen
Statusüberprüfung,
-
12 eine
Schaltungsanordnung zur Prüfung einer Durchführung
eines Handshake-Protokolls mit einer erfindungsgemäßen
Prüfschaltung, und
-
13 eine
Schaltungsanordnung zur Prüfung von zwei Durchführungen
eines Handshake-Protokolls mit einer erfindungsgemäßen
Prüfschaltung.
-
3 zeigt
eine Ausführungsform der erfindungsgemäßen
Prüfschaltung. Ein jeweiliges zu überprüfendes
Protokollsignal 103, 105 von zwei (in 3 nicht
gezeigten) Kommunikationseinheiten ist der Prüfschaltung über
einen jeweiligen Signaleingang 102, 104 zugeführt.
Die Protokollsignale können beispielsweise das REQ-Signal
und das ACK-Signal eines Handshake-Protokolls sein. Grundsätzlich
kann sowohl die sendende Kommunikationseinheit als auch die empfangende
Kommunikationseinheit Initiator eines asynchronen Datentransfers
sein. Das bedeutet, dass entweder die sendende Kommunikationseinheit
(sogenanntes „push-protocol”) oder die empfangende
Kommunikationseinheit (sogenanntes „pull-protocol”)
das REQ-Signal setzt und sodann die empfangende bzw. die sendende
Kommunikationseinheit durch Änderung des ACK-Signals reagiert.
Für die erfindungsgemäße Prüfschaltung
ist es gleichgültig, welche der Protokollversionen („push” oder „pull”)
die Kommunikationseinheiten durchführen. Die beiden Protokollsignale 103 und 105 bilden ein
digitales 2-bit breites Eingangswort. Weiter umfasst die Prüfschaltung
eingangsseitig einen Takteingang 106 für ein externes
erstes Taktsignal 107 und einen Rückstelleingang 108 für
ein Rückstellsignal 109.
-
Die
Prüfschaltung weist die Triggereinheit 110, die
Verzögerungseinheit 120, die ein Triggersignal 115 der
Triggereinheit 110 um eine Verzögerungszeit δmin verzögert, ein 2-Bit-Schieberegister 130,
das das Vergleichswort speichert, einen Komparator 150 und
eine als D-Flipflop realisierte Abtasteinheit 140 auf.
Der Komparator 150 und die Abtasteinheit 140 bilden
zusammen die Vergleichseinheit. Eine jeweilige Bitstelle des Ver gleichswortes
stellt eine nach dem Handshake-Protokoll zu erwartende logische
Belegung des jeweiligen Protokollsignals dar. Die Triggereinheit 110 umfasst
eine Übergangsdetektionsvorrichtung 112, ein UND-Gatter 114 und
ein ODER-Gatter 116.
-
Ausgangsseitig
kann der Zustand des Schieberegisters, also ein 2-bit breites Vergleichswort,
an den Ausgängen 190 und 192 abgelesen
werden. An einem Indikatorausgang 194 gibt die Prüfschaltung
ein Vergleichsergebnis 151 des Komparators 150 als
Indikatorsignal 152 aus. Außerdem weist die Prüfschaltung
einen Zählausgang 196 auf.
-
Das
Eingangswort 103, 105 ist sowohl dem Komparator 150 als
auch der Triggereinheit 110 direkt zugeführt.
Geht das Eingangswort durch die Änderung einer logischen
Belegung eines Protokollsignals in ein neues Eingangswort über,
so erzeugt die Übergangsdetektionsvorrichtung 112 ein Übergangssignal 112.1,
das über die Logik-Gatter 114 und 116 der
Verzögerungseinheit 120 und einem zweiten Eingang 140.2 des
Flipflops 140 als Triggersignal 115 zugeführt
ist. Der Komparator vergleicht das neue Eingangswort mit dem Vergleichswort 130.1, 130.2.
Das Vergleichsergebnis 151 des Komparators 150 ist
einem ersten Eingang 140.1 des Flipflops 140 zugeführt.
Das Flipflop 140 gibt das Vergleichsergebnis 151 auf
den Empfang des Triggersignals 115 an seinem zweiten Eingang 140.2 hin über
seinen zweiten Ausgang 140.3 am Indikatorausgang 194 als
Indikatorsignal 152 aus. Sind in einem Chip eine Vielzahl
erfindungsgemäßer Prüfschaltungen integriert, kann
eine übergeordnete Kontrolleinheit den Status einer jeweiligen
Prüfschaltung durch Erfassen des jeweiligen Indikatorsignals
abfragen.
-
Ist
das Vergleichswort 130.1, 130.2 mit dem neuen
Eingangswort identisch, so entspricht das Vergleichsergebnis 151 des
Komparators 150 einer logischen Null und im gegenteiligen
Fall einer logischen Eins. Auf diese Weise detektiert die Prüfschaltung 100 „Stuck-at-Fehler” und „Order-Violation-Fehler”.
-
Das
Schieberegister 130 wechselt bei Empfang des verzögerten
Triggersignals 117 konsekutiv seinen Zustand. Der neue
Zustand des Schieberegisters entspricht einer nach dem Handshake-Protokoll
zu erwartenden logischen Belegung des Eingangswortes nach einem
erneuten Übergang.
-
Erfolgt
der erneute Übergang des Eingangswortes bereits innerhalb
der festgelegten Verzögerungszeit δmin auf
den ersten Übergang, so findet aufgrund der Verzögerung
des Triggersignals 115 durch die Verzögerungseinheit 120 ein
Vergleich des neuen Ein gangswortes mit dem „alten” Vergleichswort
statt, so dass der Vergleich negativ ausfällt. Der Komparator 150 gibt
folglich als Vergleichsergebnis eine logische Eins aus, die das
Flipflop 140 weiter als Indikator 152 am Indikatorausgang 194 ausgibt.
Auf diese Weise wird ein „Premature-Transition-Fehler” erkannt.
-
Liegt
einer der oben genannten Protokollfehler vor, so gibt das Flipflop 140 an
seinem zweiten Ausgang 140.4 eine logische Null aus, mit
der das UND-Gatter 114 der Triggereinheit 110 beaufschlagt
wird. Das hat zur Folge, dass die Prüfschaltung 100 solange
inaktiv bleibt, bis sie durch Fremdzugriff über den Rückstelleingang 108 zurückgesetzt
wird, da die Triggereinheit durch die Rückkopplung des
Vergleichsergebnis im Falle eines Protokollfehlers keine Triggersignale
mehr ausgibt.
-
Der
Takteingang 106 für ein externes erstes Taktsignal 107 ist
mit dem ODER-Gatter 116 der Triggereinheit 110 verbunden,
so dass ein Triggersignal auch dann ausgegeben wird, wenn das erste
Taktsignal einen HIGH-Pegel aufweist. Durch Ablesen des Schieberegisterzustandes
an den Ausgängen 190, 192 und durch Zuführung
des ersten Taktsignals 107 kann die korrekte Funktion der
Prüfschaltung 100 verifiziert werden.
-
Die Übergangsdetektionsvorrichtung 112 ist
ebenfalls ausgebildet, bei einer Änderung einer festgelegten
Bitstelle des Eingangswortes, also bei der Änderung einer
logischen Belegung eines bestimmten Protokollsignals, ein Zählsignal 195 zu
erzeugen und dieses am Zählausgang 196 auszugeben.
Diese Zählsignale können von einer weiteren, in 3 nicht
gezeigten, Verarbeitungseinheit erfasst werden, so dass auch diese
Verarbeitungseinheit einen „Stuck-at-Fehler” erkennen
kann.
-
4 zeigt
einen Schaltungsaufbau einer alternativen Ausführungsform
der erfindungsgemäßen Prüfschaltung mit
modifizierter Verzögerungseinheit. Ein jeweiliges zu überprüfendes
Protokollsignal 203, 205 von zwei (in 4 nicht
gezeigten) Kommunikationseinheiten ist der Prüfschaltung über
einen jeweiligen Signaleingang 202, 204 zugeführt.
Die Protokollsignale können auch hier beispielsweise das
REQ-Signal und das ACK-Signal eines Handshake-Protokolls sein. Grundsätzlich
kann sowohl die sendende Kommunikationseinheit als auch die empfangende
Kommunikationseinheit Initiator eines asynchronen Datentransfers
sein. Das bedeutet, dass entweder die sendende Kommunikationseinheit
(sogenanntes „push-protocol”) oder die empfangende
Kommunikationseinheit (sogenanntes „pull-protocol”)
das REQ-Signal setzt und dann die empfangende bzw. die sendende
Kommunikationseinheit durch Änderung des ACK-Signals reagiert.
Für die erfindungsgemäße Prüfschaltung
ist es gleichgültig, welche der Protokollversionen („push” oder „pull”)
die Kommunikationseinheiten durchführen. Die beiden Protokollsignale 203 und 205 bilden
ein digitales 2-bit breites Eingangswort. Weiter umfasst die Prüfschaltung
eingangsseitig einen Rückstelleingang 208 für
ein Rückstellsignal 209.
-
Die
Prüfschaltung weist die Triggereinheit 210 und
die Verzögerungseinheit 220 auf. Die Verzögerungseinheit 220 verzögert
ein Triggersignal 215 der Triggereinheit 210 um
die Hälfte der Verzögerungszeit δmin und gibt dieses als modifiziertes Verzögerungssignal 217 mit
einer Signalbreite aus, deren Dauer gerade mit der Hälfte
der Verzögerungszeit δmin übereinstimmt.
-
Weiter
weist die Prüfschaltung 200 ein 2-bit-Schieberegister 230,
das das Vergleichswort speichert, einen Komparator 250 und
eine als D-Flipflop realisierte Abtasteinheit 240 auf.
Der Komparator 250 und die Abtasteinheit 240 bilden
zusammen die Vergleichseinheit 240, 250. Eine
jeweilige Bitstelle des Vergleichswortes stellt eine nach dem Handshake-Protokoll
zu erwartende logische Belegung des jeweiligen Protokollsignals dar.
Die Triggereinheit 210 umfasst eine Übergangsdetektionsvorrichtung 212 und
ein UND-Gatter 214.
-
An
einem Indikatorausgang 294 gibt die Prüfschaltung
wahlweise ein Vergleichsergebnis 251 des Komparators 250 oder
das modifizierte Verzögerungssignal 217 als Indikatorsignal 252 aus.
Außerdem weist die Prüfschaltung einen Zählausgang 296 auf.
-
Das
Eingangswort 203, 205 ist sowohl dem Komparator 250 als
auch der Triggereinheit 210 direkt zugeführt.
Geht das Eingangswort durch die Änderung einer logischen
Belegung eines Protokollsignals in ein neues Eingangswort über,
so erzeugt die Übergangsdetektionsvorrichtung 212 ein Übergangssignal 212.1, das über
das Logik-Gatter 214 der Verzögerungseinheit 220 und
einem zweiten Eingang des Flipflops 240 als Triggersignal 215 zugeführt
ist. Der Komparator vergleicht das neue Eingangswort 203, 205 mit
dem Vergleichswort des Speichers 230. Das Vergleichsergebnis 251 des
Komparators 250 ist zusammen mit modifizierten Verzögerungssignal 217 über
ein ODER-Gatter 260 einem ersten Eingang des Flipflops 240 zugeführt. Das
Flipflop 240 gibt also wahlweise das Vergleichsergebnis 251 oder
das modifizierte Verzögerungssignal 217 auf den
Empfang des Triggersignals 215 hin am Indikatorausgang 194 als
Indikatorsignal 152 aus. Sind in einem Chip eine Vielzahl
erfindungsgemäßer Prüfschaltungen integriert,
kann der Status einer jeweiligen Prüfschaltung durch Erfassen
des jeweiligen Indikatorsignals abfragt werden.
-
Ist
das Vergleichswort des Speichers 230 mit dem neuen Eingangswort
identisch, so entspricht das Vergleichsergebnis 251 des
Komparators 250 einer logischen Null und im gegenteiligen
Fall einer logischen Eins. Auf diese Weise detektiert die Prüfschaltung 200 „Stuck-at-Fehler” und „Order-Violation-Fehler”.
-
Das
Schieberegister 230 wechselt bei Empfang des modifizierten
Verzögerungssignals 217 konsekutiv seinen Zustand.
Der neue Zustand des Schieberegisters entspricht einer nach dem
Handshake-Protokoll zu erwartenden logischen Belegung des Eingangswortes
nach einem erneuten Übergang.
-
Erfolgt
der erneute Übergang des Eingangswortes bereits innerhalb
der festgelegten Verzögerungszeit 6, auf den ersten Übergang,
so erzeugt die Übergangsdetektionsvorrichtung erneut ein
Triggersignal 215. Da zum Zeitpunkt der erneuten Änderung
des modifizierte Verzögerungssignal 217 immer
noch einen HIGH-Pegel aufweist, gibt das Flipflop 240 auf
dem Empfang des neuen Triggersignals 217 eine logische
Eins am Indikatorausgang 294 aus und zeigt damit einen „Premature-Transition-Fehler” an.
-
Das
invertierte Indikatorsignal 242 ist dem UND-Gatter 214 zugeführt.
Das hat zur Folge, dass die Prüfschaltung 200 solange
inaktiv bleibt, bis sie durch Fremdzugriff über den Rückstelleingang 208 zurückgesetzt
wird, da die Triggereinheit durch die Rückkopplung des
Indikatorsignals im Falle eines Protokollfehlers keine Triggersignale
mehr ausgibt.
-
Die Übergangsdetektionsvorrichtung 212 ist
ebenfalls ausgebildet, bei einer Änderung einer festgelegten
Bitstelle des Eingangswortes, also bei der Änderung einer
logischen Belegung eines bestimmten Protokollsignals, ein Zählsignal 295 zu
erzeugen und dieses am Zählausgang 296 auszugeben.
Diese Zählsignale können von einer weiteren, in 4 nicht
gezeigten, Verarbeitungseinheit erfasst werden, so dass auch diese
Verarbeitungseinheit einen „Stuck-at-Fehler erkennen kann.
-
5 zeigt
eine Schaltung einer modifizierten Verzögerungseinheit 500.
Sie umfasst ein logisches ODER-Gatter 510, ein logisches
UND-Gatter 520 und ein Verzögerungsglied 530,
die zu einer Ringstruktur mit zwei Rückkopplungen zusammengeschaltet
sind.
-
Dazu
ist das Triggersignal 502 der (in 5) nicht
gezeigten Triggereinheit dem ersten Eingang des ODER-Gatters 510 zugeführt.
Das erste Ausgangssignal 504 des ODER-Gatters 510 ist
dem ersten Eingang des UND-Gatters 520 und dem Verzögerungsglied 530 zugeführt.
Das Verzögerungsglied 530 ist ausgebildet, das
erste Ausgangssignal 504 um die Hälfte der festgelegten
Verzögerungszeit zu verzögern und als das modifizierte
Verzögerungssignal 506 sowohl dem (in 5 nicht
gezeigten) Speicher und der (in 5 nicht
gezeigten) Vergleichseinheit als auch invertiert einem zweiten Eingang
des UND-Gatters 520 zuzuführen. Schließlich
ist ein zweites Ausgangssignal 508 des UND-Gatters 520 einem
zweiten Eingang des ODER-Gatters 510 zugeführt.
Außerdem kann der Verzögerungseinheit 500 über
das UND-Gatter 520 ein Reset-Signal 512 zugeführt
werden, dass bewirkt, dass das modifizierte Verzögerungssignal 506 einen
LOW-Pegel aufweist.
-
Zur
Verdeutlichung der Zusammenhänge zeigt 6 einen
beispielhaften Verlauf der Signale: Das Signal 602 stellt
ein Triggersignal dar, das die Triggereinheit auf die Detektion
eines Signalübergangs hin generiert und der Verzögerungseinheit 500 zuführt.
Das Signal 606 stellt das modifizierte Verzögerungssignal
der Verzögerungseinheit dar. Das Verzögerungsglied 530 verzögert
das Triggersignal 602 um die Hälfte der festgelegten
Verzögerungszeit δmin,
also um die Zeit d. Außerdem ist die Signalbreite des um
die Zeit d verzögerten Signals derart modifiziert, dass
deren Dauer wieder mit der Hälfte der festgelegten Verzögerungszeit δmin, also mit der Zeit d (δmin/2), übereinstimmt. Da dieses
modifizierte Verzögerungssignal der Abtasteinheit der Prüfschaltung
zugeführt ist, gibt letztere auf den Empfang eines Triggersignals
hin, welches aufgrund eines erneuten Übergangs des Eingangswortes
generiert worden ist, ein Indikatorsignal aus, wenn der erneute Übergang innerhalb
der Verzögerungszeit stattgefunden hat.
-
7 zeigt
eine Prinzipverschaltung eines Speichers 740 und einer
Abtasteinheit 750 zur sequentiellen Statusüberprüfung
einer (in 7 nicht gezeigten) Vielzahl
Prüfschaltungen. Die Ausleseleitung 760 verbindet
alle Speicher der Vielzahl Prüfschaltungen und mündet
an einem globalen Ausleseausgang. Die Vielzahl Speicher bilden quasi
einen Verbundspeicher. Ein Speicher kann beispielsweise ein Schieberegister
sein und somit selbst eine Vielzahl seriell miteinander verbundener
Flipflops umfassen. Wie zu 3 und 4 bereits
ausgeführt, umfasst eine Vergleichseinheit beispielsweise
eine als D-Flipflop realisierte Abtasteinheit 750 und einen
(in 7 nicht gezeigten) Komparator. Da eine solche
Abtasteinheit in informationstechnischer Hinsicht ebenfalls einen
Speicher darstellt, ist diese durch entsprechende Verlegung der
Ausleseleitung 760 in den Verbundspeicher integriert.
-
Mit
jedem Takt des zweiten Taktsignals 780 gibt jeweils ein
Speicher ein Bit über die Ausleseleitung 760 aus.
Dabei nimmt ein Speicher des Verbundspeichers ein Bit des vorhergehenden
Nachbarspeichers auf und übergibt ein eigenes Bit an den
nachfolgenden Speicher. Der letzte Speicher des Verbundspeichers
gibt folglich die Bits am Ausleseausgang aus. Da sowohl das zweite
Taktsignal als auch die Signale aus Ausleseausgang erfasst werden
können, kann der Signalstrom am Ausleseausgang logischen
Zuständen der Speicher der Vielzahl Prüfschaltungen
zugeordnet werden.
-
8 zeigt
den Schaltungsaufbau eines Speicherelementes 300 zur sequentiellen
Statusüberprüfung einer (in 8 nicht
gezeigten) Vielzahl Prüfschaltungen. Mit Hilfe solcher
Speicherelemente lassen sich die Speicherelemente der Vielzahl Prüfschaltungen
zu einem langen Verbundspeicher verbinden, der sequentiell ausgelesen
werden kann. Ein solches Speicherelement umfasst ein konventionelles
Flipflop 350 und einen Multiplexer 310. Der Multiplexer 310 schaltet
in Abhängigkeit des Auslesesignals 370 einen seiner
beiden Eingänge auf den Eingang 350.1 des Flipflops 350.
Einem ersten Eingang des Multiplexers 310 ist die Ausleseleitung 360 zugeführt. Über
diese Leitung 360 können dem Flipflop 350 Bits
eines vorhergehenden Speicherelementes zugeführt werden,
wenn das Auslesesignal einen High- bzw. Low-Pegel aufweist. Weist
das Auslesesignal den anderen Pegel auf, also High bzw. Low, so
wird dem Flipflop 350 ein Vergleichsergebnis eines (in 8 nicht
gezeigten) Komparators der Prüfschaltung zugeführt.
Im ersten Fall befindet sich eine jeweilige Prüfschaltung
in einem „Auslesemodus”, im zweiten Fall in einem
Prüfmodus. Über die Leitung 380 kann
dem Flipflop 350 wahlweise ein Triggersignal oder das zweite
Taktsignal zugeführt werden. Im Auslesemodus wird dem Flipflop 350 über
die Leitung 380 das zweite Taktsignal zugeführt.
Mit jedem Takt übernimmt das Flipflop 350 dann
ein Bit eines vorhergehenden Flipflops und gibt ein eigenes Bit über
die Leitung 390 entweder am (in 8 nicht
gezeigten) Ausleseausgang aus oder an ein nachfolgendes Flipflop
weiter. Im Prüfmodus erfüllt das Speicherelement 300 die
bereits zu 3 und 4 beschriebene
Funktion.
-
9 zeigt
eine Verschaltung zweier Speicherelemente 410 und 420 zur
sequentiellen Statusüberprüfung einer (in 9 nicht
gezeigten) Vielzahl Prüfschaltungen. Bei der Verschaltung
ist es gleichgültig, ob die Speicherelemente 410 und 420 einer
einzigen Prüfschaltung angehören oder ob das Speicherelement 410 einer
ersten der Vielzahl Prüfschaltungen angehört und
das Speicherelement 420 einer zweiten Prüfschaltung.
-
Der
Aufbau eines jeweiligen Speicherelements 410/420 entspricht
dem aus 8. Beide Speicherelemente können
durch ein einem jeweiligen Multiplexer 412/422 zugeführtes
Auslesesignal 470 wahlweise in den Prüfmodus oder
in den Auslesemodus versetzt werden. Im Auslesemodus wird dem Flipflop 450 über
die Leitung 480 das zweite Taktsignal zugeführt.
Mit jedem Takt übernimmt das Flipflop 460 dann
ein Bit eines vorhergehenden Flipflops 450 und gibt ein
eigenes Bit über die Leitung 490 entweder am (in 9 nicht
gezeigten) Ausleseausgang aus oder an ein nachfolgendes Flipflop
weiter. Auf diese Weise lässt sich der Inhalt aller Speicherelemente
aus allen Prüfschaltungen auslesen.
-
10 zeigt
einen Ausschnitt aus dem Schaltungsaufbau einer Prüfschaltung,
die sich zur sequentiellen Statusüberprüfung eignet.
Der Ausschnitt umfasst den Komparator 1006, dem ein 2-bit
breites Eingangswort 1001/1003 sowie das Vergleichswort 1005/1007 des
Speichers 1010 zugeführt ist. Der Speicher umfasst ein
2-bit Schieberegister. Weiter zeigt der Ausschnitt ein UND-Gatter 1030,
dem das Triggersignal 1021 und das invertierte Indikatorsignal 1011 zugeführt
ist. Das Ausgangssignal des UND-Gatters 1030 ist der Verzögerungseinheit 1020 zugeführt.
Im Prüfmodus erfüllt die Schaltung die bereits
zu 3 und 4 erläuterte Funktion.
-
Zur Überführung
der Prüfschaltung in den Auslesemodus (Statusüberprüfung)
umfasst selbige eine Vielzahl Auswahlschaltungen 1082, 1084, 1086 und 1086,
denen jeweils das Auslesesignal 1080 zugeführt
ist. Weiter ist der Schaltung ein zweites Taktsignal 1100 zugeführt.
Für eine synchrone Schaltung kann ein internes Taktsignal
verwendet werden, um den Inhalt des Verbundspeichers Takt für
Takt um jeweils ein Bit durch den Verbundspeicher zu schieben. Für
eine wie hier dargestellte asynchrone Schaltung, welche in der Regel
kein globales Taktsignal besitzt, muss ein solches zweites Taktsignal
eigens für den Betrieb eines Verbundspeichers zugeführt
werden. Über die Leitung 1200 kann der Speicher 1010 Bits
der vorhergehenden Prüfschaltung übernehmen und
weiterreichen.
-
In
Abhängigkeit des Auslesesignals 1080 ist entweder
das verzögerte Triggersignal 1021 bzw. nicht verzögerte
Signal 1022 der Triggereinheit oder das zweite Taktsignal 1100 den
Speicherelementen mit Hilfe der Multiplexer 1084 und 1086 zugeführt.
Wenn die Bedingung erfüllt ist, dass im normalen Prüfmodus
das zweite Taktsignal 1100 LOW ist, und im Auslesemodus
die Triggereinheit keinen Impuls aussendet, können diese
beiden schaltungstechnisch aufwendigen und teuren Multiplexer durch
einfache ODER-Gatter ersetzt werden.
-
Während
der Überprüfung asynchroner Kanäle befinden
sich die Prüfschaltungen im Prüfmodus. Nach der Überprüfung
werden die Prüfschaltungen durch das Auslesesignal in den
Auslesemodus übergeführt und der Inhalt der Speicherelement
der Prüfschaltungen durch Zuführung des zweiten
Taktsignals über die Ausleseleitung 1200, 1009 sequentiell
ausgelesen.
-
11 zeigt
eine schematische Anordnung 1200 einer Vielzahl Prüfschaltungen
zur sequentiellen Statusüberprüfung. Alle Speicherelemente
der Prüfschaltungen 1220, 1230 und 1240,
also sowohl die Speicher 1222, 1232 und 1234 für
die Vergleichswörter als auch die als D-Flipflop realisierten
Abtasteinheiten 1224, 1234 und 1244 sind über
die Ausleseleitung 1255 zu einem Verbundspeicher zusammengeschaltet.
Im Auslesemodus wird mit jeder positiven und/oder negativen Flanke
des zweiten Taktsignals ein Bit durch die Speicherelemente gereicht.
Eine Kontrolleinheit 1210 erfasst das zweite Taktsignal
als auch das Signal am Ausleseausgang 1260. Diese Anordnung
ist gerade für viele Prüfschaltungen geeignet,
da sich der Status jeder Prüfschaltung sehr schnell bestimmen
lässt.
-
12 zeigt
eine Schaltungsanordnung 800 zur Prüfung einer
einzigen Durchführung eines Handshake-Protokolls durch
eine erfindungsgemäße Prüfschaltung.
Zwei Kommunikationseinheiten (KE) 802 und 804 (bzw. 804 und 806)
setzen und lesen auf zwei Signalleitungen 810 und 812 (bzw. 814 und 816)
Protokollsignale, beispielsweise das REQ-Signal und das ACK-Signal. Über
den Kommunikationskanal 811 (bzw. 813) tauschen
die Kommunikationseinheiten Daten aus. Die jeweiligen Protokollsignale
sind einer erfindungsgemäßen Prüfschaltung 820 (bzw. 830)
zur Überprüfung zugeführt. Diese Schaltungsanordnung
empfiehlt sich im Falle weit voneinander entfernter Kommunikationskanäle 811 und 813.
-
13 zeigt
eine Schaltungsanordnung 900 zur Prüfung von zwei
Durchführungen eines Handshake-Protokolls. Jeweils zwei
Kommunikationseinheiten (KE) 950 und 960 (bzw. 960 und 970)
setzen und lesen auf den Signalleitungen 952 und 962 (bzw. 964 und 972)
Protokollsignale, beispielsweise jeweils ein REQ-Signal und ein
ACK-Signal. Jeweils zwei der insgesamt vier Protokollsignale sind
einer Auswahlschaltungen 920 (bzw. 930) zuge führt.
In Abhängigkeit eines Steuersignals 942 einer
Steuereinheit 940 leitet eine jeweilige Auswahlschaltung
eines ihrer beiden Eingangssignale weiter, so dass der Prüfschaltung 910 ein
2-bit breites Eingangswort 980 zur Prüfung zugeführt
ist. Die sequentielle Überprüfung mehrerer Durchführungen
eines Handshake-Protokolls durch eine einzige Prüfschaltung
empfiehlt sich insbesondere dann, wenn sich die Kommunikationseinheiten 950, 960, 970 nicht
weit voneinander entfernt auf einem Chip befinden.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste
der vom Anmelder aufgeführten Dokumente wurde automatisiert
erzeugt und ist ausschließlich zur besseren Information
des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen
Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt
keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- - D. Shang et.
al., ”On-line testing of globally asynchronous circuits”,
Proceedings of the 11th IEEE International On-Line Testing Symposium
(IOLTS’05), pp. 135–140, School of EECE, University
of Newcastle upon Tyne, UK, July 2005 [0006]
- - D. Shang et. al., ”Low-cost online testing of asynchronous
handshakes”, in Proceedings of the Eleventh IEEE European
Test Symposium (ETS’06), pp. 225–232, School of
EECE, University of Newcastle upon Tyne, UK, May 2006 [0006]