-
Die Erfindung betrifft eine Vorrichtung zur Verifikation eines digitalen Signalverarbeitungssystems. Ferner betrifft die Erfindung ein Verfahren zur Verifikation eines digitalen Signalverarbeitungssystems.
-
Digitale Signalverarbeitungssysteme sind in vielen Bereichen der Technik weit verbreitet. Derartige Signalverarbeitungssysteme sind beispielsweise als programmierte Logikbausteine (FPGA-Field Programmable Gate Arrays) oder als anwendungsspezifische integrierte Schaltungen (ASIC-Application Specific Integrated Circuit) ausgebildet. Die von den digitalen Signalverarbeitungssystemen realisierte Funktionalität ist in der Regel sehr komplex, so dass derartige Signalverarbeitungssysteme vor ihrer bestimmungsgemäßen Verwendung verifiziert werden müssen, um eine korrekte Funktionsweise zu gewährleisten.
-
Bei bestimmten Anwendungen umfasst die Funktionalität von digitalen Signalverarbeitungssystemen die Erzeugung und Verarbeitung von Zufallszahlen. Die Verarbeitung von Zufallszahlen erschwert jedoch die Verifikation von digitalen Signalverarbeitungssystemen erheblich. Um die Ausgangsdatenworte eines zu verifizierenden digitalen Signalverarbeitungssystems bitweise mit Referenzausgangsdatenworten eines Referenzsystems vergleichen zu können, müssen die verarbeiteten Zufallszahlen über entsprechende Schnittstellen dem Referenzsystem übermittelt werden, was bei komplexen Signalverarbeitungssystemen häufig zu einer Überschreitung der zur Verfügung stehenden Übertragungskapazität führt.
-
WO 01/38 889 A1 offenbart einen Kompaktierer, der Testantworten in einer oder in mehren Scan-Ketten auswählt, um sie zu einer komprimierten Ausgabe zu kompaktieren, während eine oder mehrere weitere Testantworten maskiert werden. Ferner enthält der Kompaktierer eine Selektorschaltungsanordnung, die steuert, welche Scan-Ketten analysiert werden. Die Selektorschaltungsanordnung leitet gewünschte Testantworten von Scan-Ketten an einen Kompaktierer, während sie andere Testantworten maskiert.
-
DE 10 2004 018 028 A1 zeigt ein Verfahren zum Testen einer elektronischen Schaltung gemäß einer Spezifikation von vorgegebenen Wertebereichen für Signalparameter. Zunächst wird eine Referenzschaltung ausgewählt und identische Testsignale werden sowohl an eine Referenzschaltung als auch an eine zu testende Schaltung gleichzeitig übergeben. Abhängig von den angelegten Testsignalen wird jeweils ein Ausgangssignal durch die Referenzschaltung und die zu testende Schaltung ausgegeben. Das Ausgangssignal der Referenzschaltung wird mit dem Ausgangssignal der zu testenden Schaltung verglichen. Ein Fehlerdatum wird abhängig von dem Ergebnis des Vergleichens des Ausgangssignals der Referenzschaltung mit dem Ausgangssignal der zu testenden Schaltung generiert.
-
DE 101 32 159 B4 zeigt eine Testanordnung, bei der jede zu testende integrierte Schaltung eine Synchronisationsanschlußfläche aufweist, und die Synchronisationsanschlußfläche jeder zu testenden integrierten Schaltung bzw. jeder zu testenden integrierten. Jede zu testende integrierte Schaltung weist einen Anschluss zum Empfangen einer Versorgungsspannung, einen Anschluss GND und drei Anschlüsse auf, die während des Testmodus der integrierten Schaltungen die während des Testmodus erzeugten Testdaten ausgeben und gegebenenfalls Daten von dem externen Testaufbau empfangen.
-
Der Erfindung liegt daher die Aufgabe zugrunde, eine Vorrichtung und ein Verfahren zur Verifikation eines digitalen Signalverarbeitungssystems bereitzustellen, die eine einfache Verifikation von Zufallszahlen verarbeitenden digitalen Signalverarbeitungssystemen ermöglichen.
-
Diese Aufgabe wird durch eine Vorrichtung und ein Verfahren mit den Merkmalen der Ansprüche 1 und 8 gelöst. Erfindungsgemäß wurde erkannt, dass die von Zufallszahlengeneratoren erzeugten Folgen von Zufallszahlen im strengen Sinne nicht stochastisch sind, sondern periodische und somit deterministische Eigenschaften aufweisen. Durch das Initialisieren der Referenzzufallszahlengeneratoren mit einem jeweiligen Initialisierungsdatenwort können dementsprechend die erzeugten Folgen von Referenzzufallszahlen aller Referenzzufallszahlengeneratoren bestimmt werden. Die Initialisierungsdatenworte werden zu Beginn der Verifikation von dem digitalen Signalverarbeitungssystem bereitgestellt, wobei jedes Initialisierungsdatenwort den Anfangszustand eines Zufallszahlengenerators des digitalen Signalverarbeitungssystems beschreibt. Das Referenzsystem und das zu verifizierende digitale Signalverarbeitungssystem weisen somit zu Beginn der Verifikation einen identischen Anfangszustand auf, so dass die während der Verifikation erzeugten Referenzausgangsdatenworte mit den Ausgangsdatenworten des digitalen Signalverarbeitungssystems bitgenau vergleichbar sind. Dadurch, dass lediglich zu Beginn der Verifikation die Initialisierungsdatenworte übertragen werden müssen, können auch sehr komplex aufgebaute digitale Signalverarbeitungssysteme mit vielen Zufallszahlengeneratoren einfach und bitgenau verifiziert werden.
-
Ein Synchronisationsmittel nach Anspruch 1 stellt eine eindeutige Zuordnung der Referenzausgangsdatenworte und der Ausgangsdatenworte sicher.
-
Ein Referenzzufallszahlengenerator nach Anspruch 3 ist einfach aufgebaut.
-
Ein Initialisierungsmittel nach Anspruch 4 ermöglicht ein einfaches Initialisieren der Referenzzufallszahlengeneratoren.
-
Eine Verbindung der Multiplexer mit einer Initialisierungssteuerleitung ermöglicht nach dem Initialisieren ein einfaches Umschalten der Referenzzufallszahlengeneratoren auf das Erzeugen von Referenzzufallszahlen.
-
Eine Synchronisationsleitung nach Anspruch 6 ermöglicht ein einfaches Synchronisieren der Flip-Flops beim Erzeugen von Referenzzufallszahlen.
-
Ein ODER-Glied nach Anspruch 7 ermöglicht ein einfaches Synchronisieren der Flip-Flops beim Initialisieren und beim Erzeugen von Referenzzufallszahlen.
-
Die Vorteile des erfindungsgemäßen Verfahrens nach Anspruch 8 und 9 entsprechen den Vorteilen, die im Zusammenhang mit der erfindungsgemäßen Vorrichtung beschrieben wurden.
-
Zusätzliche Merkmale und Einzelheiten der Erfindung ergeben sich aus der Beschreibung eines Ausführungsbeispiels anhand der Zeichnung. Es zeigen:
-
1 eine schematische Darstellung einer Vorrichtung zur Verifikation eines digitalen Signalverarbeitungssystems, und
-
2 einen schematischen Aufbau eines Referenzzufallszahlengenerators eines Referenzsystems der Vorrichtung gemäß 1.
-
Eine Vorrichtung 1 zur Verifikation eines digitalen Signalverarbeitungssystems 2 umfasst eine Datenquelle 3, ein digitales Referenzsystems 4 und eine Vergleichseinheit 5.
-
Das zu verifizierende Signalverarbeitungssystem 2 ist beispielsweise als programmierte Logikschaltung (FPGA) oder als anwendungsspezifische integrierte Schaltung (ASIC) ausgebildet und umfasst mehrere Zufallszahlengeneratoren 6 zur Erzeugung von Zufallszahlen Z. Die Zufallszahlen Z dienen zur Realisierung einer gewünschten Funktionalität des Signalverarbeitungssystems 2. Das Signalverarbeitungssystem 2 umfasst ferner Berechnungsmittel 7, die zur Berechnung von Ausgangsdatenworten DA dienen, wobei die Berechnung der Ausgangsdatenworte DA in Abhängigkeit der Zufallszahlen Z erfolgt.
-
Die Datenquelle 3 dient zum Bereitstellen von digitalen Eingangsdatenworten DI. Zum Einlesen der Eingangsdatenworte DI in das Signalverarbeitungssystem 2 und das Referenzsystem 4 ist die Datenquelle 3 über eine erste Datenleitung 8 mit dem Signalverarbeitungssystem 2 und über eine zweite Datenleitung 9 mit dem Referenzsystem 4 verbunden. Die Datenleitungen 8, 9 können zumindest teilweise als Datenbus ausgebildet sein. Zur Synchronisation des Signalverarbeitungssystems 2 und des Referenzsystems 4 weist die Vorrichtung 1 Synchronisationsmittel 10 auf. Die Synchronisationsmittel 10 umfassen eine erste Synchronisationsleitung 11, die die Datenquelle 3 mit dem Signalverarbeitungssystem 2 verbindet, und eine zweite Synchronisationsleitung 12, die die Datenquelle 3 mit dem Referenzsystem 4 verbindet. Die Synchronisationsleitungen 11, 12 dienen zum Übertragen eines Eingangssteuersignals SI, das dem Signalverarbeitungssystem 2 und dem Referenzsystem 4 das Vorliegen eines gültigen Eingangsdatenwortes DI anzeigt.
-
Das Referenzsystem 4 dient zum Nachbilden einer zu verifizierenden Funktionalität des Signalverarbeitungssystems 2. Das Referenzsystem 4 umfasst eine der Anzahl der Zufallszahlengeneratoren 6 entsprechende Anzahl an Referenzzufallszahlengeneratoren 13. Die Referenzzufallszahlengeneratoren 13 dienen zur Erzeugung von Referenzzufallszahlen ZR. Weiterhin weist das Referenzsystem 4 zur Berechnung von Referenzausgangsdatenworten DR Referenzberechnungsmittel 14 auf, wobei die Berechnung der Referenzausgangsdatenworte DR in Abhängigkeit der Referenzzufallszahlen ZR erfolgt. Das Referenzsystem 4 weist ferner digitale Initialisierungsmittel 15 auf, die derart ausgebildet sind, dass die Referenzzufallszahlengeneratoren 13 mit Initialisierungsdatenworten M initialisierbar sind.
-
Die Vergleichseinheit 5 dient zum bitgenauen Vergleichen der berechneten Referenzausgangsdatenworte DR mit den berechneten Ausgangsdatenworten DA des Signalverarbeitungssystems 2. Zur Datenübertragung ist das Signalverarbeitungssystem 2 über eine dritte Datenleitung 16 und das Referenzsystem 4 über eine vierte Datenleitung 17 mit der Vergleichseinheit 5 verbunden. Die Datenleitungen 16, 17 können zumindest teilweise als Datenbus ausgebildet sein. Das Signalverarbeitungssystem 2 ist ferner über eine erste Ausgangssteuerleitung 18 mit der Vergleichseinheit 5 verbunden. In entsprechender Weise ist das Referenzsystem 4 über eine zweite Ausgangssteuerleitung 19 mit der Vergleichseinheit 5 verbunden. Die Ausgangssteuerleitungen 18, 19 dienen zur Übertragung von Ausgangssteuersignalen SA an die Vergleichseinheit 5, wobei die Ausgangssteuersignale SA der Vergleichseinheit 5 das Anliegen eines gültigen Ausgangsdatenwortes DA und das Anliegen eines gültigen Referenzausgangsdatenwortes DR anzeigen.
-
2 zeigt den Aufbau eines Referenzzufallszahlengenerators 13. Die weiteren Referenzzufallszahlengeneratoren 13 des Referenzsystems 4 sind entsprechend aufgebaut, so dass die nachfolgenden Ausführungen entsprechend gelten. Der Referenzzufallszahlengenerator 13 ist als rückgekoppeltes Schieberegister ausgebildet. Der Referenzzufallszahlengenerator 13 umfasst n in Reihe geschaltete Flip-Flops 20, die jeweils einen Eingang 21, einen Synchronisationseingang 22 und einen Ausgang 23 aufweisen. Die Initialisierungsmittel 15 dienen zum Initialisieren der Flip-Flops 20.
-
Die Initialisierungsmittel 15 umfassen mehrere Multiplexer 24, eine Initialisierungsleitung 25 und eine Initialisierungssteuerleitung 26. Die Multiplexer 24 weisen jeweils einen ersten Multiplexereingang 27, einen zweiten Multiplexereingang 28, einen Multiplexersteuereingang 29 und einen Multiplexeraungang 30 auf.
-
Jedem Flip-Flop 20 ist ein Multiplexer 24 vorgeordnet. Der Multiplexerausgang 30 jedes Multiplexers 24 ist mit dem Eingang 21 des zugehörigen Flip-Flops 20 verbunden. Die Initialisierungsleitung 25 ist mit den ersten Multiplexereingängen 27 aller Multiplexer 24 verbunden. Weiterhin ist die Initialisierungssteuerleitung 26 mit den Multiplexersteuereingängen 29 aller Multiplexer 24 verbunden. Die zweiten Multiplexereingänge 28 des zweiten bis n-ten Multiplexers 24 sind mit dem jeweiligen Ausgang 23 des vorgeordneten Flip-Flops 20 verbunden. Der zweite Multiplexereingang 28 des dem ersten Flip-Flop 20 zugeordneten Multiplexers 24 ist mit dem Ausgang eines XNOR-Gliedes 31 verbunden. Ein erster Eingang des XNOR-Gliedes 31 ist über eine erste Rückkopplungsleitung 32 mit dem Ausgang 23 des n-ten Flip-Flops 20 verbunden. Ein zweiter Eingang des XNOR-Glieds 31 ist über eine zweite Rückkopplungsleitung 33 mit dem Ausgang 23 des x-ten Flip-Flops 20 verbunden, wobei für x = 1, ..., n – 1 gilt. Die Initialisierungssteuerleitung 26 dient zur Übertragung eines Initialisierungssteuersignals MS, wobei das Initialisierungssteuersignal MS dem Referenzzufallszahlengenerator 13 anzeigt, dass ein gültiges Initialisierungsdatenwort M anliegt.
-
Die Synchronisationsmittel 10 umfassen ein ODER-Glied 34, dessen erster Eingang mit der zweiten Synchronisationsleitung 12 verbunden ist. Ein zweiter Eingang des ODER-Glieds 34 ist mit der Initialisierungssteuerleitung 26 verbunden. Von einem Ausgang des ODER-Glieds 34 ist die zweite Synchronisationsleitung 12 zu den Synchronisationseingängen 22 aller Flip-Flops 20 geführt. Die Synchronisationsmittel 10 dienen zum taktgenauen Synchronisieren der Flip-Flops 20, denen durch ein Synchronisationssignal S angezeigt wird, dass an den jeweiligen Eingängen 21 gültige Signale anliegen.
-
Die Initialisierungsleitung 25 und die Initialisierungssteuerleitung 26 sind mit dem Signalverarbeitungssystem 2 verbunden. Die Initialisierungsleitung 25 ist derart mit einem dem Referenzzufallszahlengenerator 13 entsprechenden Zufallszahlengenerator 6 verbunden, dass die Zustände aller den Flip-Flops 20 entsprechenden Flip-Flops des Zufallszahlengenerators 6 auslesbar sind.
-
Prinzipiell gibt es zu jedem Zufallszahlengenerator 6 einen entsprechenden Referenzzufallszahlengenerator 13, wobei deren Aufbau identisch ist. Zu jedem Referenzzufallszahlengenerator 13 gibt es eine Initialisierungsleitung 25 und eine Initialisierungssteuerleitung 26, wobei diese als Initialisierungsdatenbus ausgebildet sein können.
-
Nachfolgend ist die Funktionsweise der Vorrichtung 1 genauer beschrieben. Zu Beginn der Verifikation des Signalverarbeitungssystems 2 wird für jeden Zufallszahlengenerator 6 ein Initialisierungsdatenwort M gebildet. Jedes Initialisierungsdatenwort M wird aus den Zuständen der Flip-Flops der jeweiligen Zufallszahlengeneratoren 6 erstellt. Die Initialisierungsdatenworte M werden über zugehörige Initialisierungsleitungen 25 zu dem Referenzsystem 4 übertragen. Die zugehörigen Initialisierungssteuerleitungen 26 zeigen dabei an, dass gültige Initialisierungsdatenworte M vorliegen.
-
Nachfolgend wird das Initialisieren am Beispiel eines Referenzzufallszahlengenerators 13 genauer erläutert. Entsprechendes gilt für die weiteren Referenzzufallszahlengeneratoren 13. Beim Initialisieren liegt an dem ODER-Glied 34 das Initialisierungssteuersignal MS an, so dass an den Synchronisationseingängen 22 der Flip-Flops 20 ein Synchronisationssignal S anliegt. Das Initialisierungssteuersignal MS liegt ferner an den Multiplexersteuereingängen 29 der Multiplexer 24 an, so dass jeweils der erste Multiplexereingang 27 auf den zugehörigen Multiplexerausgang 30 durchgeschaltet ist. Die einzelnen Bits des Initialisierungsdatenwortes M liegen somit an den zugehörigen Eingängen 21 der Flip-Flops 20 an, so dass diese entsprechend den Zuständen der Flip-Flops des entsprechenden Zufallszahlengenerators 6 initialisiert werden. Nach erfolgter Initialisierung weisen der Zufallszahlengenerator 6 und der entsprechende Referenzzufallszahlengenerator 13 somit identische Anfangszustände auf. Nach dem Initialisieren verschwindet das Initialisierungssteuersignal MS, so dass jeweils der zweite Multiplexereingang 28 auf den zugehörigen zweite Multiplexereingang 28 auf den zugehörigen Multiplexerausgang 30 durchgeschaltet ist.
-
Die Datenquelle 3 erzeugt taktweise Eingangsdatenworte DI, die über die erste und zweite Datenleitung 8, 9 dem Signalverarbeitungssystem 2 und dem Referenzsystem 4 zugeführt werden. Bei jedem Einlesen eines Eingangsdatenwortes DI wird dem Signalverarbeitungssystem 2 und dem Referenzsystem 4 über ein zugehöriges Eingangssteuersignal SI angezeigt, dass ein gültiges Eingangsdatenwort DI anliegt. Das Eingangssteuersignal SI wird über die erste und zweite Synchronisationsleitung 11, 12 zu dem Signalverarbeitungssystem 2 und dem Referenzsystem 4 übertragen.
-
Das Signalverarbeitungssystem 2 berechnet mittels des Berechnungsmittels 7 zu jedem Eingangsdatenwort DI ein Ausgangsdatenwort DA, wobei die Berechnung des Ausgangsdatenwortes DA in Abhängigkeit des Eingangsdatenwortes DI und in den Zufallszahlengeneratoren 6 erzeugter Zufallszahlen Z erfolgt. Um das berechnete Ausgangsdatenwort DA zu verifizieren und somit die Funktionalität des Signalverarbeitungssystems 2 zu verifizieren, wird ein entsprechendes Referenzausgangsdatenwort DR des Referenzsystems 4 benötigt, wobei das Referenzsystem 4 die gewünschte Funktionalität des Signalverarbeitungssystems 2 korrekt nachbildet. Das Referenzsystem 4 kann als Software, als programmierte Logikschaltung oder als Hardware ausgebildet sein.
-
Zu jedem Eingangsdatenwort DI wird in dem Referenzsystem 4 somit ein Referenzdatenwort DR berechnet, wobei die Berechnung des Referenzdatenwortes DR in Abhängigkeit des Eingangsdatenwortes DI und der von den Referenzzufallszahlengeneratoren 13 erzeugten Referenzzufallszahlen ZR erfolgt. Dadurch, dass die Referenzzufallszahlengeneratoren 13 und die entsprechenden Zufallszahlengeneratoren 6 einen identischen Aufbau und identische Anfangszustände aufweisen, sind die Referenzzufallszahlen ZR identisch zu den Zufallszahlen Z.
-
Zur datensynchronen Berechnung der Referenzzufallszahlen ZR wird jedem Referenzzufallszahlengenerator 13 das Eingangssteuersignal SI übertragen. Das Eingangssteuersignal SI liegt an dem ODER-Glied 34 an, so dass ein Synchronisationssignal S an den Synchronisationseingängen 22 der Flip-Flops 20 jedes Referenzzufallszahlengenerators 13 anliegt. Das zweite bis n-te Flip-Flop 20 übernimmt taktweise den Zustand des vorgeordneten Flip-Flops 20, wobei das erste Flip-Flop 20 das Ausgangssignal des XNOR-Gliedes 31 übernimmt.
-
Die berechneten Referenzausgangsdatenworte DR werden mit den zugehörigen Ausgangsdatenworten DA bitweise in der Vergleichseinheit 5 verglichen. Dadurch, dass die Referenzzufallszahlen ZR identisch zu den Zufallszahlen Z sind, können Unterschiede zwischen den Referenzausgangsdatenworten DR und den zugehörigen Ausgangsdatenworten DA eindeutig auf eine fehlerhafte Funktionalität des Signalverarbeitungssystems 2 zurückgeführt werden.
-
Dadurch, dass lediglich die Initialisierungsdatenworte M zu Beginn der Verifikation übertragen werden müssen, ist die bitweise Verifikation trotz der Verarbeitung von Zufallszahlen Z eindeutig und in einfacher Weise möglich.