-
Die
Erfindung betrifft eine Schaltungsanordnung mit zumindest einer
programmierbaren Schaltungslogik, die eine Detektionseinrichtung
zum Erkennen eines Hardwarefehlers dieser Schaltungslogik aufweist.
-
In
vielen Anwendungen werden heutzutage aus Kostengründen für die Implementierung
von Algorithmen sogenannte anwendungsbezogene, integrierte Bausteine
(ASIC Application Specific Integrated Circuits) eingesetzt. Typische
Beispiele sind ASICs auf Chipkarten zur Speicherung von Daten oder zur
Implementierung von Algorithmen, beispielsweise zur Verschlüsselung.
Ein solcher Chip ist meist nach Vorgaben eines Kunden gefertigt,
wobei der Hersteller den integrierten Baustein gemäß der Wirkungsweise,
die der Chip später
haben soll, erst entwirft und dann fertigt.
-
Ergeben
sich im anschließenden
Gebrauch des integrierten Bausteins weitere, bisher nicht berücksichtigte
Aspekte oder ist der integrierte Baustein gar fehlerhaft, so ist
dies mit deutlich hohen Reparaturkosten verbunden. Im ungünstigsten
Fall muss ein solch falsch entworfener oder gefertigter integrierter Baustein
vollständig
vom Markt genommen werden.
-
Zusätzlich kann
ein funktionsfähiger
Chip durch unsachgemäße Behandlung
oder anderer äußerer Einflüsse beschädigt werden,
so dass Teilbereiche nicht mehr vollständig funktionieren.
-
Dokument
US 6,209,118 beschreibt
einen ASIC mit mehreren programmierbaren Bereichen. Diese werden
vor allem bei Designänderungen
benötigt
und während
des Fertigungsprozesses entsprechend programmiert. Eine spätere Programmierung ist
nur schwer möglich.
-
Die
Druckschrift
DE 10101268 zeigt
eine integrierte Halbleiterschaltung mit Funktionsblöcken, Redundanzblöcken sowie
einer programmierbaren Schaltvorrichtung.
-
Aus
der WO 96/03614 ist ein FPGA mit redundanten Elementen bekannt.
Das FPGA wird unter Ausnutzung der redundanten Elemente programmiert.
-
Es
ist Aufgabe der vorliegenden Erfindung, eine Anordnung vorzusehen,
die eine erhöhte
Ausfallsicherheit aufweist.
-
Diese
Aufgabe wird mit den Merkmalen des Patentanspruchs 1 dadurch gelöst, dass
in einer Schaltungsanordnung mit einer ersten Schaltungslogik mit
einem ersten Block mit einer Funktion und mit einem zweiten Block,
mit einer Kommunikationsschnittstelle zwi schen der Schaltungslogik
und externen Einrichtungen eine zweite programmierbare, jedoch unprogrammierte
Schaltungslogikvorgesehen ist, die mit genau dem ersten Block der
ersten Schaltungslogik und der Kommunikationsschnittstelle verbunden
ist und nach einer Programmierung die Funktion des ersten Blocks
der ersten Schaltungslogik übernimmt.
Dadurch lässt
sich nach Erkennen eines Hardwarefehlers der ersten Schaltungslogik
die gewünschte
Funktion der Schaltungsanordnung dennoch wiederherstellen, ohne
die gesamte Schaltungsanordnung neu entwerfen zu müssen. Der
Begriff unprogrammierte Schaltungslogik charakterisiert in diesem
Zusammenhang eine Schaltungslogik, deren einzelne Elemente zwar
konfiguriert sein können, die
Schaltungslogik oder der Teile davon jedoch während des normalen Betriebs
nicht benutzt wird. Der als unprogrammiert gekennzeichnete Bereich
ist unbenutzt und somit als Reserve ausgebildet.
-
Weiterhin
ist eine Detektionseinrichtung vorzusehen, die zumindest mit der
ersten Schaltungslogik verbunden ist und einen Hardwarefehler dieser erkennen
kann. Außerdem
weißt
die Schaltungsanordnung eine Programmiereinrichtung auf, die mit der
programmierbaren Schaltungslogik verbunden ist. Diese Programmiereinrichtung
ist mit einer Schnittstelle zum Laden eines Datenstroms zur Programmierung
der Schaltungslogik verbunden.
-
Eine
Ausgestaltung dieser Erfindung ist es, wenn die erste Schaltungslogik
als fest verdrahtete Schaltungslogik ausgebildet ist, wobei die
Detektionseinrichtung zum Erkennen von Fehlern mit eben dieser verbunden
ist.
-
Weiterbildend
kann eine Verbindung zwischen der ersten und der zweiten Schaltungslogik vorgesehen
sein, um somit gegebenenfalls der zweiten programmierten Schaltungslogik
eine Verbindung zur Kommunikationsschnittstelle zu ermöglichen.
-
In
diesem Zusammenhang ist es zweckmäßig, wenn eine Aktivierung
der Programmiereinrichtung durch die Detektion eines Hardwarefehlers
vorgesehen ist. Alternativ kann die Programmierschnittstelle der
Programmiereinrichtung durch die Detektionseinrichtung freischaltbar
sein.
-
Eine
vorteilhafte Ausgestaltung der Erfindung ist es, die Detektionseinrichtung
zur Erkennung eines Manipulationsversuchs an der Schaltungslogik vorzusehen.
Desweiteren ist es zweckmäßig, die
Detektionseinrichtung mit einer Löscheinrichtung zu verbinden,
die bei einem Manipulationsversuch den programmierten Teil der Schaltungslogik
löscht.
-
Weitere
vorteilhafte Ausgestaltungen der Erfindung sind Gegenstand der Unteransprüche.
-
Zum
vollständigen
Verständnis
wird die Erfindung im Folgenden unter Berücksichtigung der Zeichnung
im Detail erläutert.
Es zeigen:
-
1 ein
erstes Ausführungsbeispiel
der Erfindung,
-
2 ein
zweites Ausführungsbeispiel
der Erfindung,
-
3 ein
drittes Ausführungsbeispiel,
-
4 eine Weiterbildung des zweiten Ausführungsbeispiels
-
5 eine
Weiterbildung des zweiten Ausführungsbeispiels
-
Die
erfindungsgemäße Schaltungsanordnung 1 in 1 weist
zwei Schaltungslogiken S1 und S2 auf, die über eine Verbindung V miteinander
Daten austauschen können.
Die Schaltungsanordnung S2 kann über
eine Schnittstelle K mit externen Einrichtungen gekoppelt werden.
Im normalen Betrieb erfolgt eine Kommunikation externer Einrichtungen über die
Schnittstelle K ausschließlich
mit der Schaltungslogik S2. Die unprogrammierte Schaltungslogik S1
und die Verbindung V bleiben inaktiv.
-
Ist
jedoch die Schaltungslogik S1 programmiert, so steht diese über die
nun aktive Verbindung V mit der Schaltungslogik S2 in Verbindung.
Manche Funktionen, die vormals von S2 ausgeführt wurden, werden jetzt von
der Schaltungslogik S1 durchgeführt.
Dazu weist die Schaltungslogik S1 über die Schaltungslogik S2
und der Schnittstelle K mit den externen Einrichtungen eine Verbindung
auf. Eine Auswahl der von der Schaltungslogik S1 zu übernehmenden
Funktionen ist abhängig
von dem Verhalten der Schaltungslogik S2.
-
Ergibt
sich beispielsweise im laufenden Betrieb, daß Algorithmen der Schaltungslogik
S2 erweitert werden müssen,
so kann dies über
eine entsprechende Programmierung der Schaltungslogik S1 erfolgen.
Fallen während
des laufenden Betriebs Teile der Schaltungslogik S2 aus, so können diese über die
Schaltungslogik S1 ersetzt werden. Die Schaltungslogik ist hierbei
nicht auf einen Typ beschränkt.
-
Eine
vorteilhafte Weitergestaltung der Erfindung zum Erkennen eines Ausfalls
der Schaltungslogik S2 ist in 2 dargestellt.
Gleiche Einrichtungen tragen dabei gleiche Bezugszeichen. Auf eine
erneute Erläuterung
bereits bekannter Elemente wird daher verzichtet.
-
Für die Detektion
eines Fehlers in Schaltungslogik S2, der einen Ausfall von Teilen
dieser Schaltungslogik repräsentiert,
weist die Schaltungsanordnung 1 eine Detektionseinrichtung
D1 auf. Diese ist im vorliegenden Fall sowohl mit der Schaltungslogik
S2 als auch mit der Schaltungslogik S1 verbunden. Die Verbindung
U2 bzw. U1 wird dazu genutzt, einen Fehler in den Schaltungslogiken
zu erkennen. Dazu überwacht
die Detektionseinrichtung über
die Verbindung U2 einzelne Bereiche der Schaltungslogik S2 oder
die vollständige
Funktion von S2. Die Verbindungen U1, U2 können als Überwachungs schnittstelle ausgebildet
sein oder auch Mittel zur Überwachung
der einzelnen Bereiche aufweisen.
-
Beispielsweise
sendet die Detektionseinrichtung für einen Funktionstest über die
Verbindung U2 an die Schaltungslogik S2 einen Datenstrom, dessen Ergebnis
der Detektionseinrichtung bekannt ist. Die Schaltungslogik S2 verarbeitet
diesen Datenstrom und sendet ein Ergebnis an die Detektionseinrichtung
D1 zurück,
die diesen mit dem bekannten Ergebnis vergleicht. Dies erfolgt in 2 über die
Verbindungsleitung U2 bzw. U1. Es ist jedoch auch möglich, daß die Detektionseinrichtung
einen Funktionstest über
die Schnittstelle K durchführt.
-
Die
Entscheidung darüber,
ob ein Fehler der Schaltungslogik S2 vorliegt, kann somit über einen Funktionstest
einer Detektionseinrichtung durchgeführt werden, die nicht Bestandteil
der Schaltungsanordnung 1 ist.
-
Neben
einem Funktionstest, der immer die vollständige Schaltungslogik testet,
ist es möglich, mit
der Detektionseinrichtung D1 über
die Verbindungsleitungen U2 bzw. U1 Teile der damit verbundenen
Schaltungslogiken zu testen, um somit spezifischere Aussagen zu
erhalten. Das ermöglicht
bei einem Ausfall eines Teils der Schaltungslogik den betroffenen
Bereich einzugrenzen.
-
Dazu
testet die Detektionseinrichtung die einzelnen logischen Blöcke der
Schaltungslogik S2. Bei einem Ausfall eines logischen Blocks übernimmt die
Schaltungslogik S1 über
die Verbindung V die Funktion des ausgefallenen Blocks. Dadurch
läßt sich
die Schaltungslogik S1 deutlich kleiner und damit kostengünstiger
ausbilden.
-
Eine
Weitergestaltung der Erfindung ist in 4A bzw. 4B gezeigt.
Die Schaltungsanordnung 1 weist eine fest verdrahtete Schaltungslogik S2
und die damit verbundene Schnittstelle K sowie die programmierbare
Schaltungslogik S1 und die nicht aktive Verbindung K' auf. Die Detektionseinrichtung
D1 überwacht über die
Verbindung U2 die Funktion der Schaltungslogik S2. Die Detektionseinrichtung
D1 enthält
ferner eine inaktive Verbindung U1 zur Überwachung der Schaltungslogik
S1 sowie eine Verbindung P1 zu einer Programmiereinrichtung P. Die
Programmiereinrichtung P ist mit der programmierbaren Schaltungslogik
S1 sowie einer Programmierschnittstelle PS verbunden.
-
Über die
Programmierschnittstelle PS läßt sich
ein Datenstrom in die Programmiereinrichtung P laden, mit deren
Hilfe die Schaltungslogik S1 konfiguriert wird. Ist ein Fehler in
der Schaltungslogik S2 detektiert worden, so teilt die Detektionseinrichtung
D1 über
die Verbindung P1 der Programmiereinrichtung die Art des Fehlers
mit. Dadurch ist es der Programmiereinrichtung P möglich, einen
entsprechenden Datenstrom zur Konfiguration der Schaltungslogik
S1 anzufordern.
-
Alternativ
kann die Programmiereinrichtung derart ausgebildet sein, daß sie Hilfe
der von der Detektionseinrichtung gelieferten Information aus einem Datenstrom
die zur Programmierung notwendigen Bestandteile entnimmt. Beispielsweise
kann die Detektionseinrichtung den Beginn und das Ende der Sequenz
eines Datenstroms mitteilen, wobei die Programmiereinrichtung nur
diese Sequenz zur Programmierung verwendet.
-
Nach
einer erfolgten Reprogrammierung ist, wie in 4B gezeigt,
die Verbindung K' zwischen der
Schaltungslogik S1 und S2 aktiv, und die Schaltungslogik S1 ersetzt
die ausgefallenen Funktionen der Schaltungslogik S2. Die Detektionseinrichtung D1 überwacht
nun weiterhin die noch aktiven Bereiche der Schaltungslogik S2 sowie
die programmierten Teile der Schaltungslogik S1.
-
Die
in 4 beschriebene Programmierschnittstelle
PS ist als zweite spezielle Schnittstelle ausgebildet, über die
ein Konfigurationsdatenstrom in die Programmiereinrichtung P geladen
wird. Es ist jedoch möglich,
eine Verbindung zwischen der Programmiereinrichtung P und der Schnittstelle
K vorzusehen, so daß ein
Konfigurationsdatenstrom über
die Schnittstelle K in die Programmiereinrichtung P geladen wird.
Ist die Schaltungslogik Bestandteil einer Chipkarte, läßt sich
in einfacher Weise eine Reprogrammierung von einem normalen Chipkartenleser erreichen,
ohne dafür
spezielle Schnittstellen vorzusehen.
-
Ein
Manipulationsschutz läßt sich
mit den in 5 gezeigten Maßnahmen
einer Weiterbildung der Erfindung erreichen. Dabei ist ein Schalter
P2 vorgesehen, der mit der Detektionseinrichtung D1 verbunden ist
und die Programmierschnittstelle PS von der Programmiereinrichtung
P trennt. Die Programmiereinrichtung P ist inaktiv und wird erst
bei Detektion eines Fehlers durch die Detektionseinrichtung D1 aktiviert.
-
In
dieser Ausführungsform
sind die Schaltungslogiken S1 und S2 als programmierbare Schaltungslogiken
ausgeführt.
Beide können
von der Detektionseinrichtung D1 überwacht und von der Programmiereinrichtung
P konfiguriert werden. Durch die Schaltmittel K1 bzw. K2 ist es
der Detektionseinrichtung möglich,
die jeweiligen Schaltungslogiken mit der Kommunikationsschnittstelle
KS zu verbinden. Im Fall eines Fehlers in der aktiven Schaltungslogik
aktiviert die Detektionseinrichtung D1 über die Schalter die jeweils
andere Schaltungslogik und sendet gleichzeitig an die Programmiereinrichtung
P und den Schalter P2 das Signal zur Reprogrammierung der fehlerhaften
Schaltungslogik. Dadurch läßt sich ein
kontinuierlicher Betrieb auch während
der Phase einer Rekonfiguration erreichen. Mit dieser Anordnung
ist ebenso eine Verbesserung des auf der Schaltungslogik vorhandenen
Algorithmus möglich, ohne
den Betrieb unterbrechen zu müssen.
Dazu reprogrammiert die Programmiervorrichtung eine Schaltungslogik
mit dem neuen Algorithmus und aktiviert diese nach der Reprogrammierung
wieder.
-
In
diesem Zusammenhang ist es zweckmäßig, wenn ein externes Signal
an die Detektionseinrichtung gesendet werden kann, so daß der Detektionseinrichtung
dadurch ein Fehler in der überwachten
Schaltungslogik angezeigt wird. Dies kann dadurch geschehen, daß die Detektionseinrichtung
die von der Schaltungslogik gesendeten Daten überwacht und eine bestimmte
Datenfolge der Schaltungslogik als Fehler wertet.
-
Eine
andere Weiterbildung der Erfindung ist die Verwendung einer Detektionseinrichtung
zur Erkennung eines Manipulationsversuchs. 3 zeigt eine
entsprechende Anordnung, bei der eine programmierbare Schaltungslogik
S1 mit einer Kommunikationsschnittstelle KS verbunden ist. Eine
Detektionseinrichtung M1 testet den Kommunikationsdatenstrom über eine
Verbindung UM auf Manipulationsversuche. Ein solcher Test kann beispielsweise
darin bestehen, daß die
an die Schaltungslogik S1 gesandten oder von ihr kommenden Daten
ausgewertet werden. Liegen die Daten außerhalb einer vorbestimmten
Wertemenge, so liegt ein Manipulationsversuch vor. Die Detektionseinrichtung
M1 sendet daraufhin ein Signal an eine Löscheinrichtung L, die die Schaltungslogik
S1 über
die Verbindung L1 löscht.
-
Die
beschriebenen Ausgestaltungen der Erfindung lassen sich beliebig
kombinieren, ohne daß dies
dem Kerngedanken der Erfindung einer frei programmierbaren, jedoch
unprogrammierten Schaltungslogik zuwider läuft. Eine entsprechende Schaltungsanordnung,
die neben fest verdrahteten Schaltungslogiken mindestens eine frei
programmierbare Schaltungslogik aufweist, ist des weiteren auch
nicht auf den bloßen
Ersatz eines ausgefallenen Bereichs der fest verdrahteten Schaltungslogik
beschränkt. Die
erfindungsgemäße Anordnung
läßt sich
ebenso für
eine funktionale Erweiterung der fest verdrahteten Schaltungslogik
in einer Schaltungsanordnung verwenden. Insbesondere sind hier Schaltungsanordnungen
auf einer Chipkarte zu nennen.
-
- (1):
- Schaltungsanordnung
- (S1,
S2):
- Schaltunglogik
- (D1,
M1):
- Detektionseinrichtung
- (P):
- Programmiereinrichtung
- (P1):
- Verbindung
- (P2):
- Schaltmittel
- (PS):
- Programmierschnittstelle
- (KS):
- Kommunikationsschnittstelle
- (K):
- Kommunikationsverbindung
- (K1,K2):
- Schaltmittel
- (U1,U2):
- Überwachungsverbindung
- (UM):
- (Überwachungsverbindung