-
Die
Erfindung betrifft ein Schieberegister zum sicheren Bereitstellen
eines Konfigurationsbits, insbesondere eines Bits aus einer Reihe
von Konfigurationsbits, die zur Konfiguration von programmierbaren
Logikschaltkreisen benötigt
werden.
-
An
die Konfigurationsbits werden bei programmierbaren Logikschaltkreisen,
wie z.B. bei FPGAs (Field Programmable Gate Arrays), besonders hohe
Anforderungen an deren Zuverlässigkeit
gestellt. FPGAs sind vollständig
durch den Anwender ("im
Feld") programmierbar
und können
gemäß der Programmierung
bzw. Konfiguration eine Vielzahl der vom Anwender gewünschten
logischen Funktionen durchführen.
FPGAs enthalten in der Regel konfigurierbare logische Blöcke, deren
elektrische Verbindungen durch die von außen angelegten Konfigurationsbits
definiert werden und so insgesamt einen komplexen logischen Baustein
bilden.
-
Bei
handelsüblichen
Varianten von FPGAs sind die Konfigurationsbits in dezentral oder
peripher angeordneten SRAMs abgespeichert und müssen ständig als logische Pegel vorliegen,
um die entsprechend programmierte hergestellte oder unterbrochene
elektrische Verbindung in dem FPGA bzw. die Funktionsvariante des
FPGAs aufrecht zu erhalten. Beim Einschalten bzw. bei Beginn eines
Betriebszeitraumes eines FPGAs werden die Konfigurationsbits in
die einzelnen SRAM-Blöcke geladen
und liegen dann dort über
den gesamten Betriebszeitraum vor. Dadurch, dass die Konfigurationsbits
einzeln les- und schreibbar sein müssen, da jedes Konfigurationsbit eine
hergestellte oder unterbrochene elektrische Verbindung in dem FPGA
darstellt, ist der periphere Aufwand bei dieser Lösung sehr
groß.
Zudem kann die logische Funktion des FPGAs nur beim Einschalten bzw.
bei einem Reset oder in einem Offline-Modus durch Neuladen der SRAMs
definiert werden, nicht jedoch kurzfristig z.B. innerhalb eines
Taktzyklus.
-
Da
die logische Funktion eines FPGAs durch die Gesamtheit der Konfigurationsbits
definiert wird, führen
gestörte
Konfigurationsbits zu einer Fehlfunktion des gesamten programmierbaren
Bausteins.
-
Mit
voranschreitender Miniaturisierung werden die Speicherzellen empfindlicher
gegenüber Störmechanismen.
Insbesondere kann ionisierende Strahlung einzelne SRAM-Zellen bei
Einsatz von neuerer Submikron-Technologie „umprogrammieren". Häufig enthalten
sogar die Vergussmasse oder andere Materialien innerhalb des Chips
Alpha-Strahler als Verunreinigungen.
-
Bei
einer Fehlfunktion durch fehlerhafte Konfigurationsbits muss dann
ein partieller Konfigurations-Update bzw. Konfigurationswechsel
der Speicherzellen durchgeführt
werden, die zu einem ansteuerbaren Block oder Cluster zusammengefasst sind
und unter denen sich eine Fehlerhafte aufhält. Da jede Speicherzelle adressiert
und beschrieben werden muss, ist ein Konfigurationswechsel sehr zeitaufwendig
und das FPGA währenddessen
nicht betriebsbereit. Während
einer Umprogrammierung muss darüber
hinaus verhindert werden, dass die in dem FPGA vorgesehenen Logikblöcke aktiv
sind und unter Umständen
kurzzeitig Verbindungen gesetzt sind, die im Extremfall zu Kurzschlüssen zwischen einzelnen
Ausgängen
führen
können.
-
In
der
U.S. 6,011,740 ist
eine Anordnung aus drei Latches bzw. Speicherzellen zum Einsatz
als Konfigurationsspeicher in FPGAs beschrieben, die ein Umprogrammieren
derselben ermöglicht.
Die
1 zeigt eine entsprechende
Anordnung nach dem Stand der Technik. Es sind drei seriell im Kreis geschaltete
Speicherzellen oder Latches MC1, MC2, MC3 vorgesehen, wobei zwischen
den Latches MC1, MC2, MC3 durch geeignete Signale P1, P2, P3 steuerbare
Schalter S1, S2, S3 vorgesehen sind und dem dritten Latch MC3 ein
Inverter I nachgeschaltet ist. Der Eingang des ersten Latches ist über einen
steuerbaren Schalter S4, der durch ein Steuersignal P4 gesteuert
ist, beispielsweise an eine Bitline angeschlossen, die ein zur Programmierung
verwendetes Konfigurationsbit KE liefert. Am Ausgang des zweiten Latches
MC2 wird dann das Konfigurationsbit KA kontinuierlich an einen Programmierknoten
eines FPGAs ausgegeben. Durch eine geeignete Schaltabfolge der steuerbaren
Schalter S1, S2, S3, S4 werden alle drei Latches mit unterschiedlichen
Konfigurationsbits beschrieben. Parallel zur kontinuierlichen Ausgabe
des Konfigurationsbits KA kann durch Schließen des Schalters S4, Öffnen des
Schalters S3 und Anlegen eines von KA verschiedenen neuen Konfigurationsbits
KE dieses in das Latch MC1 eingeschrieben werden. Ein erneutes Öffnen des
Schalters S4 und Schließen
des Schalters S1 "schiebt" den Speicherinhalt
der Speicherzelle MC1 in die Zelle MC2 und ändert somit das ausgangsseitige
Konfigurationsbit KA. Ein erneutes Wechseln in den ursprünglichen
Konfigurationszustand kann durch Schließen des Schalters S3, wodurch
der Speicherinhalt des Latches MC3 in das Latch MC1 geschoben wird,
und Schließen
des Schalters S1, um wieder den ursprünglichen Konfigurationszustand
herzustellen, realisiert werden. Die Latches nach dem Stand der
Technik können,
wie in
2 dargestellt,
durch zwei antiparallel geschaltete Inverter I1, I2 zu einem Latch
MC geschaltet werden, wobei der Eingang E und der Ausgang A jeweils
durch Anschlussknoten zwischen den Invertern I1, I2 gebildet werden.
Eine solche Ausführungsform
eines Latches liefert an seinem Ausgang den invertierten Pegel des
Eingangswertes (wodurch die ringförmige Anordnung der
1 den Inverter bedingt).
-
Die
Schaltungsanordnung gemäß 1 nach dem Stand der Technik
ermöglicht
zwar das Umprogrammieren eines Konfigurationsbits KA, welches an
einen Programmierknoten eines FPGAs geführt ist, erfordert jedoch erheblichen
Verdrahtungsaufwand, weil jede Schaltungsanordnung gemäß 1 für jeden Programmierknoten – bzw. für jedes Konfigurationsbit – mit einer
Bitline verbunden sein muss, sowie mit der Verdrahtung für die steuerbaren Schalter
ausgestattet sein muss. Bei hoher Integrationsdichte und Miniaturisierung
im Submikron-Bereich können
zudem Störmechanismen-
wie z.B. ionisierende Strahlung (Alpha-Teilchen)- die Latch-Inhalte verändern und
so Fehlfunktionen des FPGAs hervorrufen. Die Anordnung der Latches
M1, M2, M3 als ringförmiges
Schieberegister ermöglicht
zudem lediglich einen Konfigurationswechsel bzw. eine Änderung
des Konfigurationsbits zweimal nacheinander.
-
Eine
allgemeine Speichervorrichtung aus parallel geschalteten Schieberegistern
ist auch aus der
US 3,812,476 bekannt.
Dabei sind parallele Ausgänge
der Schieberegister jeweils an Mehrheitsentscheider geführt, an
deren Ausgänge
wiederum parallel geschaltete Schieberegister angekoppelt sind.
Dabei werden mehrere Bits taktweise durch die Register geführt. Spezielle
Ausführungsformen
der Schieberegister selbst sind in der
US 3,812,476 nicht offenbart.
-
Es
ist daher Aufgabe der vorliegenden Erfindung, ein Schieberegister
zum sicheren Bereitstellen von Konfigurationsbits, und insbesondere
eine Schieberegisterzelle, zu schaffen, das bzw. die einen geringen
schaltungstechnischen Aufwand erfordert und Konfigurationsänderungen
im Betrieb ermöglicht.
-
Erfindungsgemäß wird diese
Aufgabe durch eine Schieberegisterzelle mit den Merkmalen des Patentanspruchs
1, sowie ein Schieberegister mit den Merkmalen des Patentanspruchs
20 gelöst.
-
Die
Erfindung schafft eine Schieberegisterzelle mit einem Master-Latch,
das zum Zwischenspeichern eines Datenbits an einen seriellen Dateneingang
der Schieberegisterzelle schaltbar ist, mit einem ersten Slave-Latch,
das zum Zwischenspeichern des Datenbits an das Master-Latch schaltbar ist,
mit mindestens einem zweiten Slave-Latch, das zum Zwischenspeichern
des Datenbits an das Master-Latch schaltbar ist und mit einer Auswertelogik, die
in Abhängigkeit
von den Datenbits, die in dem Master-Latch und in den Slave-Latches
zwischengespeichert sind, ein Konfigurationsbit ausgibt.
-
Ferner
schafft die Erfindung ein Schieberegister zum sicheren Bereitstellen
von Konfigurationsbits mit einer Mehrzahl von erfindungsgemäßen Schieberegisterzellen,
die seriell zu einer Schieberegisterkette verschaltet sind.
-
Die
der vorliegenden Erfindung zugrunde liegende Idee besteht darin,
dass die Konfigurationsbits seriell durch das Schieberegister an
die Programmierknoten einer zu konfigurierenden Schaltung geführt werden
und von dem Schieberegister abgezweigte Slave-Latches in den jeweiligen
Schieberegisterzellen zum Zwischenspeichern der Konfigurationsbits
vorgesehen sind.
-
Die
Auswertelogik kann erfindungsgemäß die in
einem Hauptstrang der Schieberegisterzelle – bzw. des aus einer Kette
von erfindungsgemäßen Schieberegisterzellen
gebildete Schieberegister -, der aus den Master- und den ersten
Slave-Latches gebildet
ist, zwischengespeicherten Datenbits, oder die in den abgezweigten
zweiten Slave-Latches zwischengespeicherten Datenbits als Konfigurationsbit – bzw. Konfigurationsbits
bei der Schieberegisterkette – ausgeben,
insbesondere an einen Programmierknoten einer zu konfigurierenden
Schaltung.
-
Mit
dem erfindungsgemäßen Schieberegister
ist es möglich,
in kürzester
Zeit, d.h. einem Taktzyklus, die an Programmierknoten anliegenden
Konfigurationsbits zu ändern
und somit die logischen Funktionen der programmierbaren Logikschaltung
zu verändern.
Andererseits kann durch redundantes Abspeichern der Konfigurationsbits
in den Master-Latches, den ersten Slave-Latches und weiteren Slave-Latches
die Zuverlässigkeit
der durch die Auswertelogiken ausgegebenen Konfigurationsbits erhöht werden,
weil die jeweilige Auswertelogik beispielsweise eine Mehrheitsentscheidung
fällt.
Ein mittels der erfindungsgemäß bereitgestellten
Konfigurationsbits programmierter Logikbaustein ist daher gegenüber äußeren Störeinflüssen resistenter
als bei der Anwendung von Schaltungsanordnungen nach dem Stand der
Technik.
-
In
einer bevorzugten Ausführungsform
der erfindungsgemäßen Schieberegisterzelle
sind zwei Slave-Latches vorgesehen. Genau zwei Slave-Latches stellen
einen minimalen Schaltungsmehraufwand gegenüber einer Schieberegistereinheit
aus nur einem Master- und einem Slave-Latch dar und bieten dennoch
die Möglichkeit,
zwischen in den Slave-Latches gespeicherten Konfigurationsbits umzuschalten.
-
Vorteilhafterweise
kann aufgrund der Datenbits, die in dem Master-Latch und den Slave-Latches zwischengespeichert
sind, von der jeweiligen Auswertelogik eine absolute Mehrheitsentscheidung
getroffen werden; und die Auswertelogik gibt ein entsprechendes
Konfigurationsbit aus. Entsprechend gibt die Auswertelogik ein Konfigurationsbit
mit einem bestimmten logischen Wert aus, wenn mindestens zwei Datenbits,
die in den Latches zwischengespeichert sind, diesen bestimmten logischen
Wert aufweisen.
-
In
einer weiteren bevorzugten Ausführungsform
gibt die jeweilige Auswertelogik einer erfindungsgemäßen Schieberegisterzelle
in Abhängigkeit von
einem globalen Steuersignal eines der Datenbits, die in den jeweiligen
Slave-Latches zwischengespeichert sind, als Konfigurationsbit aus.
In dieser Funktionsweise der Auswertelogik als Multiplexer ist die
erfindungsgemäße Schieberegisterzelle
besonders günstig
in einem von einer Kette aus Schieberegisterzellen gebildeten Schieberegister
einsetzbar und dient dem einfachen und raschen Umschalten zwischen
Konfigurationsdaten, die in Form der Konfigurationsbits die Funktion
einer angeschlossenen programmierbaren Logikschaltung bestimmen.
-
In
einer weiteren bevorzugten Ausführungsform
der Schieberegisterzelle gibt die jeweilige Auswertelogik ein Fehleranzeigebit
aus, wenn nicht alle in den Latches der Schieberegisterzelle zwischengespeicherte
Datenbits denselben logischen Wert aufweisen. Durch die Ausgabe
des Fehleranzeigebits kann erkannt werden, wenn durch einen äußeren Einfluss
der Speicherinhalt eines oder mehrerer Latches fehlerhaft verändert wurde.
Es wird also vorteilhafterweise erkannt, wenn z.B. Störstrahlung,
Spannungsspitzen oder Alpha-Teilchen, die ihre Quellen in dem Chip
oder seiner Nähe
haben, den logischen Zustand eines Latches verändert haben.
-
Die
Fehleranzeigebits werden bevorzugterweise durch eine Datenverarbeitungseinheit
aus dem Schieberegister, welches aus der Kette von erfindungsgemäßen Schieberegisterzellen
gebildet ist, ausgelesen und identifiziert, wodurch das Auftreten eines
Bitfehlers in dem Schieberegister angezeigt wird. Bevorzugt sind
die von den jeweiligen Auswertelogiken der Schieberegisterzellen
ausgegebenen Fehleranzeigebits durch eine ODER-Logikschaltung zu
einem globalen Fehleranzeigebit verknüpft.
-
In
noch einer bevorzugten Ausführungsform der
Erfindung gibt die jeweilige Auswertelogik ein Korrekturbit an eines
der Latches aus, dessen zwischengespeichertes Datenbit einen Datenbitwert
aufweist, der von den Datenbitwerten der übrigen zwischengespeicherten
Datenbits in den übrigen
Latches der jeweiligen Schieberegisterzelle abweicht. Dabei überschreibt
das von der Auswertelogik ausgegebene Korrekturbit das abweichende
Datenbit, wodurch der Bitfehler korrigiert wird.
-
Alternativ
gibt die Auswertelogik ein Korrekturbit an alle Latches der jeweiligen
Schieberegisterzelle aus, wenn mindestens ein zwischengespeichertes
Datenbit einen Datenbitwert aufweist, der von den Datenbitwerten
der zwischengespeicherten Datenbits der übrigen Latches der Schieberegisterzelle
abweicht, wobei das von der Auswertelogik ausgegebene Korrekturbit
dem mittels der absoluten Mehrheitsentscheidung bestimmten Konfigurationsbit
entspricht.
-
Diese
automatische Korrektur von Bitfehlern in dem Schieberegister erhöht die Zuverlässigkeit
der Konfigurationsbits.
-
In
einer besonders bevorzugten Ausführungsform
des erfindungsgemäßen Schieberegisters erkennt
die Datenverarbeitungseinheit einen temporär aufgetretenen Einzelbitfehler,
wenn nach erfolgter Korrektur des abweichenden Datenbits in einer
jeweiligen Schieberegisterzelle durch Überschreiben mit dem Korrekturbit
das Fehleranzeigebit durch die jeweilige Auswertelogik zurückgesetzt
bzw. gelöscht wird.
-
In
einer vorteilhaften Weiterbildung erkennt die Datenverarbeitungseinheit
einen Hardwarefehler, wenn nach erfolgter Korrektur des abweichenden Datenbits
durch Überschreiben
mit dem Korrekturbit das Fehleranzeigebit auch weiterhin aus dem
Schieberegister ausgelesen wird. Das Erkennen und Überschreiben
von temporären
Einzelbitfehlern und Identifizieren von Hardwarefehlern hat den
Vorteil, dass temporäre
Fehler geeignet behandelt werden können, z.B. durch erneutes Überschreiben.
Hardwarefehler erfordern jedoch insbesondere bei kritischen Anwendungen
tiefergreifende Maßnahmen
in das Schieberegister oder in eine zu konfigurierende bzw. mit
den Konfigurationsbits zu programmierende Schaltung.
-
In
einer weiteren bevorzugten Ausführungsform
der erfindungsgemäßen Schieberegisterzelle
ist das jeweilige erste Slave-Latch mit einem seriellen Datenausgang
der Schieberegisterzelle verbunden. Dadurch können die seriell in das Master-
und erste Slave-Latch eingeschriebenen Daten über den seriellen Datenausgang
an weitere Schieberegisterzellen geführt werden und so eine Schieberegisterkette gebildet
werden. Vorteilhafterweise dient dann das derart aus der Schieberegisterkette
gebildete erfindungsgemäße Schieberegister
auch dem Transport der Konfigurationsdaten bzw. Konfigurationsbits
an die Programmierknoten einer zu konfigurierenden Schaltung.
-
Vorteilhafterweise
sind die Latches als statische Latches ausgeführt, damit die zwischengespeicherten
Bits und Konfigurationsbits ständig
verfügbar sind.
Bevorzugterweise sind die Latches mittels steuerbarer Schalter schaltbar,
wobei die Schalter beispielsweise Transmission-Gates, C2MOS-Gatter und/oder Transistoren
sind.
-
In
einer besonders bevorzugten Weiterbildung der erfindungsgemäßen Schieberegisterzelle ist
weiterhin ein Multiplexer vorgesehen, der einen ersten Eingang aufweist,
der mit der Auswertelogik zum Empfang des ausgegebenen Konfigurationsbits gekoppelt
ist, der einen zweiten Eingang, der mit dem ersten Slave-Latch verbunden
ist, mindestens einen dritten Eingang, der mit dem zweiten Slave-Latch verbunden
ist, und der einen vierten Eingang aufweist, an den ein konstanter
logischer Initialisierungswert angelegt ist. An einem Ausgang des
Multiplexers wird eines der Eingangssignale ausgegeben.
-
Der
Einsatz des Multiplexers hat den Vorteil, dass beliebig zwischen
verschiedenen, zwischengespeicherten Bits oder Konfigurationsbits
gewählt
und zudem ein konstanter logischer Initialisierungswert ausgegeben
werden kann. Der Initialisierungswert ist vorteilhafterweise so
gewählt,
dass, wenn er an den Programmierknoten der zu konfigurierenden Schaltung
anliegt, die zu konfigurierende Schaltung in einen besonders sicheren
und/oder stromsparenden Modus versetzt. Dies hat den Vorteil, dass,
wenn neue Konfigurationsdaten in die aus den Schieberregisterzellen
gebildete Schieberegisterkette bzw. das Schieberegister eingelesen
werden, die zu konfigurierende Schaltung in einen definierten, besonders vorteilhaften
Zustand, z.B. einen besonders stromsparenden, verlustleistungsarmen
Zustand, versetzt wird.
-
Vorteilhafterweise
ist der Multiplexer durch ein globales Steuersignal zwischen den
vier Eingängen
umschaltbar.
-
In
einer weiteren bevorzugten Weiterbildung des erfindungsgemäßen Schieberegisters
ist eine von einem Taktsignal getaktete Schieberegister-Steuerung
vorgesehen, die die Schalter der Schieberegisterzellen in Abhängigkeit
von einem Betriebsphasensteuersignal ansteuert.
-
Vorteilhafterweise
kann die Schieberegister-Steuerung durch das Betriebsphasensteuersignal zwischen
mindestens drei verschiedenen Betriebsphasen schalten. Dabei sieht
eine erste Phase, die Einschreibebetriebsphase, vor, dass Konfigurationsdaten
als Datenbits in die Master-Latches und in die ersten Slave-Latches
der Schieberegisterzellen eingeschrieben werden. In einer zweiten
Betriebsphase, der Übernahmebetriebsphase,
werden die in den Master-Latches eingeschriebenen Datenbits in die jeweiligen
zweiten Slave-Latches
der Schieberegisterzellen eingeschrieben. In einer dritten Betriebsphase,
der Bereitstellungsbetriebsphase, werden die Latches voneinander
getrennt, und die Auswertelogiken der Schieberegisterzellen geben
in Abhängigkeit von
den in den Latches der jeweiligen Schieberegisterzelle zwischengespeicherten
Datenbits die Konfigurationsbits an Programmierknoten einer zu konfigurierenden
Schaltung aus. Der Ablauf in drei Betriebsphasen hat den Vorteil,
dass die Betriebsphasen an einen Takt angepasst werden können und
so ein Konfigurationswechsel bzw. eine Änderung des durch die Auswertelogik
ausgegebenen Konfigurationsbits schnell und effizient durchgeführt werden kann.
Vorteilhafterweise ist das Taktsignal während der Bereitstellungsbetriebsphase
abschaltbar, da es für
die Funktion einer angeschlossenen zu konfigurierenden Schaltung
lediglich erforderlich ist, dass die Konfigurationsdaten in Form
der Konfigurationsbits kontinuierlich bereitstehen.
-
Weitere
vorteilhafte Ausgestaltungen und Weiterbildungen der Erfindung sind
Gegenstand der Unteransprüche
sowie der Beschreibung unter Bezugnahme auf die Zeichnung.
-
Die
Erfindung wird nachfolgend anhand der schematischen Figuren und
Ausführungsbeispiele näher erläutert. Es
zeigt dabei:
-
1:
ein Schieberegisterelement zur Bereitstellung von Konfigurationsbits
nach dem Stand der Technik;
-
2:
eine Latch-Schaltung nach dem Stand der Technik;
-
3:
eine erste Ausführungsform
der erfindungsgemäßen Schieberegisterzelle;
-
4:
ein Blockschaltbild eines an ein FPGA als zu konfigurierende Schaltung
gekoppeltes, erfindungsge mäßes Schieberegister;
-
5:
eine zweite Ausführungsform
der erfindungsgemäßen Schieberegisterzelle;
und
-
6:
ein Transmission-Gate zum Einsatz in den erfindungsgemäßen Schieberegisterzellen.
-
In
allen Figuren sind gleiche bzw. funktionsgleiche Elemente – sofern
nichts anderes angegeben ist – mit
gleichen Bezugszeichen versehen.
-
Im
Folgenden ist die Funktionsweise der Erfindung mittels nichtinvertierender
Schalter und Latches beispielhaft erläutert. Demgemäß schaltet
ein nichtinvertierender Schalter immer den eingangsseitig anliegenden
logischen Signalpegel durch, und ein Latch liefert denselben eingangseitig
angelegten logischen Signalpegel, der einem Datenbit entspricht, als
zwischengespeichertes Bit mit demselben logischen Signalpegel an
seinem Ausgang.
-
Die 3 zeigt
eine erste Ausführungsform der
erfindungsgemäßen Schieberegisterszelle 1-i mit einem
seriellen Dateneingang 2-i zur Entgegennahme serieller
Konfigurationsdaten bzw. -Bits 3-i, einem Ausgang 4-i,
an dem die seriellen Konfigurationsdaten 3-i wieder ausgegeben
werden, und mit einem Ausgang 5-i, an dem ein Konfigurationsbit 6-i ausgegeben
wird. An den Eingang 2-i ist über einen steuerbaren Schalter 7-i das
Master-Latch 8-i gekoppelt, woran wiederum ein erstes Slave-Latch 10-i über einen
steuerbaren Schalter 9-i gekoppelt ist. Das erste Slave-Latch 10-i ist
mit dem Ausgang 4-i der Schieberegisterzelle 1-i gekoppelt.
Ein zweites Slave-Latch 12-i ist ebenfalls über einen
steuerbaren Schalter 11-i mit dem Ausgang der Master-Latches 8-i gekoppelt.
Eine Auswertelogik 13-i ist mit dem Master-Latch 8-i,
dem ersten Slave-Latch 10-i und dem zweiten Slave-Latch 12-i über Leitungen 108-i, 110-i, 112-i gekoppelt
und liefert in Abhängigkeit
der in den Latches 8-i, 10-i, 12-i vorliegenden
Datenbits und einem globalen Steuersignal 14 an einem ersten Ausgang 15-i,
das Konfigurationsbit 6-i an den Ausgang 5-i der
Schieberegisterzelle 1-i. Ferner weist die Auswertelogik 13-i einen
Ausgang 16-i zur Ausgabe eines Fehleranzeigebits 20-i auf.
-
Die
Funktionsweise ist zunächst
anhand einer einzelnen Schieberegisterzelle 1-i erläutert. Die Ausführungen
gelten sinngemäß ebenfalls
für eine Kette
aus Schieberegisterzellen 1-i. Zunächst werden, z.B. taktweise
von einer hier nicht dargestellten globalen Steuerung, Datenbits 3-i über die
komplementär
geschalteten Schalter 7, 9 in das Master-Latch 8-i und
das erste Slave-Latch 10-i eingelesen. Bei der Ausbildung
eines Schieberegisters 17 als Schieberegisterkette 1, 100 mit
in Serie geschalteten erfindungsgemäßen Schieberegisterzellen 1-1,...1-N,
wie es in der folgenden
-
4 beschrieben
ist, werden die Konfigurationsdaten 3 in den Hauptstrang
der Registerkette 1, 100, der aus den Master- und den ersten Slave-Latches 8-1,...8-N, 10-1,...10-N gebildet
ist, eingelesen. Wird dann der dem zweiten Slave-Latch 12-i vorgeschaltete Schalter
11-i geschlossen, wird das in dem Master-Latch 8-i zwischengespeicherte
Datenbit in das zweite Slave-Latch 12-i übertragen.
Somit liegt Idealerweise, d.h. ohne äußere störende Einflussnahme, nach dem Öffnen der
Schalter 7-i, 9-i, 11-i in den Latches 8-i, 10-i, 12-i ein
zwischengespeichertes Datenbit mit demselben logischen Pegel vor.
Diese zwischengespeicherten Bits liegen vermittels der Leitungen 108-i, 110-i, 112-i der
Auswertelogik 13-i vor. Von der Auswertelogik 13-i werden
die zwischengespeicherten Bits verglichen und der mehrheitlich vorliegende
logische Pegel über
einen Ausgang 15-i an den Ausgang der Schieberegisterzelle 5-i als
Konfigurationsbit 6-i z.B. an einen Programmierknoten bereitgestellt.
In diesem Fall ist das globale Steuersignal 14 verzichtbar.
-
Die
Auswertelogik 13-i wird bei einer alternativen Ausführungsform
durch ein globales Steuersignal 14 derart als Multiplexer
konfiguriert, dass ohne eine Mehrheitsentscheidung oder einen Vergleich durchzuführen, immer
der an einer der zwei die Auswertelogik 13-i mit den Slave-Latches 10-i, 12-i verbindenden
Leitungen 110-i, 112-i anliegende Pegel an ihrem
Ausgang 15-i bereitsteht und somit dem an den Ausgang 5-i angeschlossenen
Programmierknoten als Konfigurationsbit 6-i zugeführt wird.
Bei einer derartigen Einstellung der Auswertelogik 13-i dient der
Hauptstrang der Schieberegisterzelle 1-i bzw. des Schieberegisters 1,
bestehend aus dem Master-Latch 8-i und dem ersten Slave-Latch 10-i und der
Schalter 7-i, 9-i als Transportmittel für den aus einzelnen
Bits 3-1,...3-N bestehenden Konfigurationsdatenstrom 3,
und derselbe wird an dem Ausgang 4-i als Ausgangsdaten
ausgegeben. In diesem Fall werden die Konfigurationsdaten 3 bzw
das Eingangsdatenbit 3-i über den temporär geschlossenen
Schalter 11-i in das zweite Slave- Latch 12-i zwischengespeichert,
und die Auswertelogik 13-i führt immer das auf der das zweite
Slave-Latch 12-i mit der Auswertelogik 13-i verbindenden
Leitung 112-i liegende Bit an den Ausgang 5-i.
Die Auswertelogik 13-i erlaubt dann auch bei geöffneten
Schaltern 7-i, 11-i und durch geeignetes vorheriges
Verschieben des Eingangsdatenbits 3-i in die Master- und
Slave-Latches 8-i, 10-i, 12-i mittels
der Schalter 7-i, 9-i, 11-i zwischen
den verschiedenen zwischengespeicherten Bits, die an den Leitungen 110-i, 112-i anliegen,
umzuschalten. Somit ist ein einfaches Hin- und Herschalten zwischen
verschiedenen Konfigurationen entsprechend den zwischengespeicherten
Datenbits durch die erfindungsgemäße Schieberegisterzelle 1-i möglich. Darüberhinaus
bietet die Konfiguration der Auswertelogik 13-i als Multiplexer
den Vorteil, dass einerseits bei geöffnetem Schalter 11-i das
zweite Slave-Latch 12-i isoliert ist und ein Bit zur Nutzung als
Konfigurationsbit 6-i zwischenspeichert wodurch die Funktion
einer an die Schieberegisterzelle 1-i angeschlossenen programmierbaren
Schaltung 18 sichergestellt ist. Andererseits können gleichzeitig neue
Konfigurationsdaten 3 in den Hauptstrang eingelesen werden,
ohne den Betrieb der angeschlossenen programmierbaren Schaltung 18 zu
unterbrechen.
-
Die
Auswertelogik 13-i gibt ein Fehleranzeigebit 20-i aus,
wenn die logischen Pegel an den Leitungen 108-i, 110-i, 112-i, die die Latches 8-i, 10-i, 12-i mit
der Auswertelogik 13-i verbindenden, nicht gleich sind.
Die Funktion des Fehleranzeigebits 20-i wird in der zweiten
Ausführungsform
der Schieberegisterzelle 1-i bzw. eines entsprechend gebildeten Schieberegisters 17 näher erläutert.
-
Die 4 zeigt
ein Blockschaltbild eines erfindungsgemäßen Schieberegisters 17 aus
seriell verschalteten Schieberegisterzellen 1-1,...1-N (bzw. 100-1,...100-N bei
einer zweiten Ausführungsform der
Schieberegisterzellen, wobei die Erläuterungen der Funktionsweise
des Schieberegisters 17 synonym für die zweite Ausführungsform
gilt) und eine zu konfigurierende programmierbare Schaltung 18,
an deren Programmierknoten 19-1,...19-N die Konfigurationsbits 6-1,...6-N anliegen.
Die Konfigurationsbits 6-1,...6-N werden an den
Ausgängen 5-1,...5-N der erfindungsgemäßen Schieberegisterzellen 1-1,...1-N bereitgestellt,
wobei die Schieberegisterzellen 1-1,...1-N zu einer Schieberegisterkette 1, 100 zusammengeschaltet
sind. Jede Schieberegisterzelle 1-1,...1-N weist
ferner jeweils einen Ausgang 16-1,...16-N auf,
der der Ausgabe eines Fehleranzeigebits 20-1,...20-N dient.
Jede Schieberegisterzelle 1-1,...1-N weist einen
seriellen Dateneingang 2-1,...2-N und einen seriellen
Datenausgang 4-1...4-N auf,
wobei die Schieberegisterzellen 1-1,...1-N seriell
zu der Schieberegisterkette 1, 100 geschaltet
sind, so dass der Ausgang 4-1...4-N-1 einer Schieberegisterzelle 1-1,...1-N-1 jeweils
mit dem Eingang 2-2,...2-N der folgenden Schieberegisterzelle 1-2,...1-N gekoppelt
ist. Die seriell vorliegenden Konfigurationsdaten 3 werden
eingangsseitig an den Eingang 2-1 einer ersten Schieberegisterzelle 1-1 geführt und
an dem Ausgang 4-N der letzten Schieberegisterzelle 1-N der
Schieberegisterkette 1, 100 als Ausgangsdaten 3 wieder
ausgegeben.
-
Es
ist eine Schieberegistersteuerung 21 vorgesehen, die ein
Taktsignal 22, ein globales Steuersignal 23 und
das Betriebsphasensteuersignal 24 empfängt, und die über geeignete
Steuerleitungen 25, welche in der Figur nur symbolisch
als einzige Leitung gezeichnet sind, mit den Schieberegisterzellen 1,...1-N gekoppelt
ist. Die Schieberegistersteuerung 21 steuert die steuerbaren
Schalter der Schieberegisterzellen 1,...1-N, die
jeweiligen Auswertelogiken 13-1,...13-N innerhalb
der jeweiligen Schieberegisterzelle 1-1,...1-N und
weitere Betriebsabläufe
in den Schieberegisterzellen 1,...1-N.
-
Das
Schieberegister 17 weist außerdem eine ODER-Logikschaltung 26 auf,
die die Fehleranzeigebits 20-1,...20-N zu einem
globalen Fehleranzeigebit 27 logisch verknüpft. Das
globale Fehleranzeigebit 27 wird von einer Datenverarbeitungseinheit 28,
die mit der Schieberegistersteuerung 21 gekoppelt ist, ausgelesen
und ausgewertet. Die Datenverarbeitungseinheit 28 gibt
entsprechend eine Fehlermeldung 29 aus.
-
In
der 5 ist eine zweite Ausführungsform der erfindungsgemäßen Schieberegisterzelle 100-i zum
Einsatz in dem Schieberegister 17, wie es in 4 beschrieben
ist, gezeigt. Die folgenden Ausführungen
sind stellvertretend für
alle Schieberegisterzellen 100-1,...100-N in dem
Schieberegister 17 zu verstehen.
-
Diese
zweite Ausführungsform
der Schieberegisterzelle 100-i weist im wesentlichen eine
erfindungsgemäße Verschaltung
dreier Latches 8-i, 10-i, 12-i gemäß der ersten
Ausführungsform 1-i der Schieberegisterzelle
auf, wobei die Auswertelogik 13-i zusätzlich über Leitungen 208-i, 210-i, 212-i mit den
Eingängen
der vorzugsweise statisch ausgeführten
Latches 8-i, 10-i, 12-i gekoppelt ist.
Die den Latches 8-i, 10-i, 12-i vorgeschalteten
Schalter 7-i, 9-i, 11-i sind von einer
getakteten globalen Schieberegistersteuerung 21 gesteuert,
welche über
einen ersten Eingang 32 das Taktsignal 22, über einen
zweiten Eingang 33 das globale Steuersignal 23 sowie
auch das Betriebsphasensteuersignal 24 über einen dritten Eingang 34 empfängt. Die
Schieberegistersteuerung 21 koordiniert in Abhängigkeit
des Taktsignals 22 und des Betriebsphasensteuersignals 24 das Schalten
der den Latches 8-i, 10-i, 12-i vorgeschalteten
steuerbaren Schalter 7-i, 9-i, 11-i zum Einleiten der
drei Betriebsphasen Einschreibebetriebsphase, Übernahmebetriebsphase und Bereitstellungsbetriebsphase.
Die Schieberegistersteuerung 21 steuert dabei alle in dem
Schieberegister 17, wie es in 5 gezeigt
ist, vorhandenen Schieberegisterzellen 1-1,...1-N, 100-1,...100-N gleichzeitig.
-
Ferner
weist die zweite Ausführungsform
der erfindungsgemäßen Schieberegisterzelle 100-i einen Multiplexer 40-i auf,
dessen erster Eingang 41-i der über eine Leitung 115-i mit
dem Ausgang 15-i der Auswertelogik 13-i verbunden
ist, an dem ein Konfigurationsbit entsprechend einer Auswertung
der Auswertelogik 13-i unter Berücksichtigung der Latch-Inhalte
bzw. zwischengespeicherten Bits in den Latches 8-i, 10-i, 12-i, anliegt,
dessen zweiter Eingang 42-i über eine zweite Leitung 310-i mit
dem Ausgang des ersten Slave-Latches 10-i, und dessen dritter
Eingang 43-i über
eine Leitung 312-i mit dem Ausgang des zweiten Slave-Latches 12-i.
Der Multiplexer 40-i ist außerdem über eine Leitung an die Schieberegistersteuerung 21 gekoppelt,
die ein Steuersignal 123 für den Multiplexer 40-i liefert.
Der Multiplexer 40-i weist einen vierten Eingang 44-i zum
Anlegen eines konstanten Initialisierungssignals 30 auf. Das
Initialisierungssignal 30 weist einen vordefinierten Pegel
auf und kann extern angelegt werden oder aus internen Versorgungsspannungen
generiert sein oder auch beispielsweise von der Schieberegistersteuerung 21 geliefert
werden. Der Multiplexer 40-i ist von der Schieberegistersteuerung 21 durch
das Steuersignal 123 gesteuert und schaltet einen seiner vier
Eingänge 41-i, 42-i, 43-i, 44-i an
den Ausgang 45-i. Somit wird gemäß des Steuersignals 123 entweder
das von der Auswertelogik 13-i ausgegebene Bit, das in
dem ersten Slave-Latch 10-i gespeicherte Bit, das in dem
zweiten Slave-Latch 12-i gespeicherte Bit oder der logische
Initialisierungswert 30 an den Ausgang 45-i durchgeschaltet
und über
eine Leitung 116-i an den Ausgang 5-i der erfindungsgemäßen Schieberegisterzelle 100-i als
ein Konfigurationsbit 6-i ausgegeben.
-
Das
Schieberegister 100 bzw. die Schieberegisterzelle 100-i wird
in drei Betriebsphasen betrieben, welche durch die globale Schieberegistersteuerung 21 gemäß des Betriebsphasensteuersignals 24 eingeleitet
werden.
-
In
der ersten Einschreibebetriebsphase wird ein Datenbit in das Master-Latch 8-i und
das erste Slave-Latch 10-i eingeschrieben bzw. im Schieberegister 100 an
die nachgeschalteten Schieberegisterzellen 100-i+1 weitergeleitet
bis alle für
eine zu konfigurierende programmierbare Schaltung 18 benötigten Daten 3 in
die Schieberegisterkette 100 eingelesen sind. Dies wird
durch komplementäres
Schalten der dem Master-Latch 8-i und
dem ersten Slave-Latch 10-i vorgeschalteten Schalter 7-i, 9-i durch die
Schieberegistersteuerung 21 erreicht. Der dem zweiten Slave-Latch 12-i vorgeschaltete
Schalter 11-i ist während
der Einschreibebetriebsphase geöffnet.
Außerdem
ist während
der erstmaligen Einschreibebetriebsphase der Multiplexer 40-i mittels des
Steuersignals 123 derart konfiguriert, dass an seinem Ausgang 45-i ein
konstanter logischer Initialisierungswert 30 als Konfigurationsbit 6-i geschaltet ist.
Dieser nun an dem Programmierknoten 19-i der zu konfigurierenden
programmierbaren Schaltung 18 (siehe auch 4)
vorliegende Initialisierungswert 30 versetzt die vorgesehene,
zu konfigurierende Schaltung 18 in einen besonders sicheren
Modus, in dem wenig Strom verbraucht wird und damit in der Schaltung 18 definierte
interne Knotenpotentiale vorliegen.
-
Da
die Schieberegisterzellen 100-1,...100-N zu einer
Schieberegisterkette 100, wie sie in 4 gezeigt
ist, verschaltbar sind und so eine Folge von Konfigurationsbits 3-1,...3-N den
aus Master-Latches 8-1,...8-N und ersten Slave-Latches 10-1,...10-N bestehenden
Hauptstrang taktgesteuert durchläuft,
liegt während
dieser erstmaligen Einschreibephase nur der vordefinierte Initialisierungswert 30 als
Konfigurationsbits 6-1,...6-N an den Programmierknoten
vor.
-
In
einer zweiten Übernahmebetriebsphase, die
minimal nur einen Halbtakt dauert, ist zumindest der dem Master-Latch 8-i vorgeschaltete
Schalter 7-i geöffnet
und der dem zweiten Slave-Latch 12-i vorgeschaltete Schalter 11-i temporär geschlossen.
Somit wird der Speicherinhalt des Master-Latches 8-i in das
zweite Slave-Latch 12-i übernommen. Bei dieser zweiten
Betriebsphase liefert der Multiplexer 40-i gemäß des Steuersignals 123 an
seinem Ausgang 45-i den im ersten Slave-Latch 10-i vorliegenden Pegel als
Konfigurationsbit 6-i. Am Ende der Übernahmebetriebsphase sind
in allen drei Latches 8-i, 10-i, 12-i Bits
mit denselben logischen Pegeln zwischengespeichert.
-
In
der dritten Bereitstellungsbetriebsphase werden alle drei den Latches 8-i, 10-i, 12-i vorgeschalteten
Schalter 7-i, 9-i, 11-i geöffnet und
somit die Latches 8-i, 10-i, 12-i vollständig voneinander
getrennt. Von der Auswertelogik 13-i werden die in den Latches 8-i, 10-i, 12-i zwischengespeicherten
Bits überwacht.
Ferner liefert die Auswertelogik 13-i an einem ihrer Ausgänge 15-i einen
Bit-Zustand über die Leitung 115-i an
einen der Eingänge 41-i des
Multiplexers 40-i. In diesem Bereitstellungsmodus schaltet der
Multiplexer 40-i das von der Auswertelogik 13-i gelieferte
Signal an einen Programmierknoten 19-i (siehe 4)
als Konfigurationsbit 6-i durch. Die Auswertelogik 13-i entscheidet
anhand einer Mehrheitsentscheidung über die in den Latches 8-i, 10-i, 12-i zwischengespeicherten
Bits, welcher logische Pegel an dem Ausgang 15-i der Auswertelogik 13-i dem
Multiplexer 40-i zugeführt
wird. Falls durch eine äußere Störung der
Speicherinhalt einer der Latches 8-i, 10-i, 12-i während des
Arbeitsmodus bzw. während
der Bereitstellungsbetriebsphase verändert wurde, zeigt die Auswertelogik 13-i dies
an, indem sie an ihrem Ausgang 16-i ein Fehleranzeigebit 20-i an
einen Ausgang 120-i der Schieberegisterzelle 100-i ausgibt
und das Fehleranzeigebit 20-i von einer globalen Datenverarbeitungseinheit 28,
die auch an die Schieberegistersteuerung 21 gekoppelt ist, ausgelesen
wird. Die Datenverarbeitungseinheit 28 kann direkt an die
Anschlüsse 16-1,...16-N der
Schieberegisterzellen 100-1,...100-N geschaltet
sein, oder vorzugsweise, wie es in
-
4 gezeigt
ist, ein globales Fehleranzeigebit 27 aus den ODER-verknüpften Fehlerbits 20-1,...20-N aller
in dem Schieberegister 17 verketteten Schieberegisterzellen 1-1,...1-N, 100-1,...100-N.
-
Wenn
von der Auswertelogik 13-i ein solcher Bitfehler erkannt
wurde, gibt die Schieberegistersteuerung 21 ein Steuersignal 14 an
die Auswertelogik 13-i, wodurch diese die Erlaubnis erhält über die
Leitungen 208-i, 210-i, 212-i auf die
Latches zuzugreifen. Das Steuersignal kann eine einzelne Schiebergisterzelle 100-i ansteuern
oder als globales Steuersignal 14 allen Auswertelogiken 13-1,...13-N,
die in den Schieberegisterzellen 1-1,...1-N, 100-1,...100-N der
Schieberegisterkette 1, 100 vorhanden sind, die Korrektur
erlauben. Die Auswertelogik 13-i nimmt dann eine Korrektur
des abweichenden Speicherinhaltes des fehlerhaften Latches 8-i, 10-i, 12-i vor,
indem der jeweilige Latch-Inhalt über eine der Korrekturleitungen 208-i, 210-i, 212-i mit
dem logischen Pegel überschrieben
wird, der am Ausgang 15-i der Auswertelogik 13-i bereitgestellt
ist. Bei einem vereinfachten Korrekturvorgang überschreibt die Auswertelogik 13-i alle
Latches 8-i, 10-i, 12-i mit dem logischen
Pegel, der mehrheitlich in den Latches 8-i, 10-i, 12-i vorliegt.
-
Durch
eine externe Datenverarbeitungseinheit 28 kann erkannt
werden, ob ein temporärer
Einzelbitfehler vorliegt, nämlich
wenn das Fehleranzeigebit 20-i nach dem Korrekturvorgang
durch die Auswertelogik 13-i zurückgesetzt wird. In der Regel
dauert der Korrekturvorgang bzw. das Überschreiben eines fehlerhaften
Bits mit einem Korrekturbit nur einen Taktzyklus. Somit bedeutet
ein gesetztes Fehleranzeigebit 20-i über mehrere Takte hinweg, dass
ein Hardware-Fehler aufgetreten ist. Beispielsweise kann in diesem
Fall eines der Latches 8-i, 10-i, 12-i vollständig defekt
sein. Eine Datenverarbeitungseinheit 28 kann dann in Abstimmung
mit der Schieberegistersteuerung 21 geeignete Maßnahmen
treffen. Durch seine Korrekturmaßnahmen liefert daher das erfindungsgemäße Schieberegister 17,
welches aus den erfindungsgemäßen Schieberegisterzellen 100-1,...100-N gebildet
ist, permanent und zuverlässig
immer das bzw. die gewünschten
Konfigurationsbits 6-1,...6-N an Programmierknoten 19-1,...19-N einer
zu konfigurierenden Schaltung 18.
-
Die
erfindungsgemäße Schieberegisterzelle 100-i ermöglicht auch
einen von der vorgenannten Bereitstellungsbetriebsphase abweichenden
speziellen Betriebsmodus, bei dem nach der Einschreibe- und Übernahmebetriebsphase
der dem zweiten Slave-Latch 12-i vorgeschaltete Schalter 11-i geöffnet ist und
der Multiplexer 40-i nur den Latch-Inhalt des zweiten Slave-Latches 12-i als
Konfigurationsbit 6-i an einen Programmierknoten 19 durchschaltet. Gleichzeitig
werden in die den Hauptstrang der Schieberegisterkette 1, 100 im
erfindungsgemäßen Schieberegister 17 bildenden
Latches 8-1, 10-i neue Konfigurationsdaten 3 taktweise
eingelesen und anschließend
durch Öffnen
zumindest des dem bzw. den Master-Latches 8-1,...8-N vorgeschalteten Schalter 7-1,...7-N die
Scheiberegisterzellen 1-1,...1-N, 100-1,...100-N voneinander
getrennt. Das heißt,
dass der Multiplexer 40-i zwischen verschiedenen Konfigurationsbits,
die in dem ersten Slave-Latch 10-i oder
dem zweiten Slave-Latch 12-i abgelegt sind, schalten kann
und die entsprechenden Latch-Inhalte als Konfigurationsbit 6-i an
einen Programmierknoten 19-i durchschaltet. Bei diesem
speziellen Betriebsmodus wird das von der Auswertelogik 13-i gelieferte
Bit ignoriert. Vielmehr kann innerhalb eines Taktes die Konfiguration
der an den Programmierknoten angeschlossenen programmierbaren Schaltung 18 verändert werden.
Es ist somit möglich,
mehrfach zwischen verschiedenen Konfigurationen der angeschlossenen
programmierbaren Schaltung 18 hin- und herzuschalten und
dies zudem rasch innerhalb von nur einem Takt. Die Umprogram mierung
bzw. Auswahl wird wiederum von dem globalen Steuersignal 123 der
Schieberegistersteuerung 21, welches den Multiplexer 40-i steuert,
bestimmt.
-
Die 6 zeigt
als Beispiel ein Transmission-Gate 300, das als steuerbarer
Schalter in den erfindungsgemäßen Schieberegisterzellen 1-1,...1-N, 100-1,...100-N eingesetzt
werden kann. Das Transmission-Gate 300 weist zwei komplementäre MOS-Transistoren 301, 302 auf,
deren steuerbare Strecken zwischen zwei Leitungsknoten 303, 304 parallel
geschaltet sind und die Gate-Anschlüsse über einen Inverter 305 miteinander
verbunden sind. Die steuerbaren Strecken zwischen den beiden Schaltungsknoten
bilden so eine geschaltete Strecke, die durch Anlegen zweier komplementärer Steuer-
bzw. Schaltsignale 306, 307 an die Gate-Anschlüsse 313, 314 der
komplementären
MOS-Transistoren 301, 302 schaltbar ist. Erfindungsgemäß können die
komplementären
Schaltsignale 306, 307 als Taktsignale von der
Schieberegistersteuerung 21, geliefert werden, wobei dann
der Inverter 305 entfällt.
-
Obgleich
die vorliegende Erfindung vorstehend anhand von bevorzugten Ausführungsbeispielen
beschrieben wurde, ist sie darauf nicht beschränkt, sondern auf vielfältige Art
und Weise modifizierbar. So ist die Erfindung nicht auf den in den
vorstehenden Figuren dargestellten speziellen Aufbau der steuerbaren
Schalter, Latches oder Anzahl der Latches beschränkt. Vielmehr können die
steuerbaren Schalter auf vielfältige
Art und Weise realisiert werden, z.B. auch durch Schalttransistoren
oder C2MOS-Gatter. Ebenso sind dem Fachmann
weitere mögliche
Ausführungsformen
von statischen Latches bekannt, die in dem erfindungsgemäßen Schieberegister
eingesetzt werden.
-
Obgleich
die Schieberegisterzellen und Schieberegisterketten der Erfindung
anhand von nichtinvertierenden Schaltern und Latches erläutert wurde,
die beim Schalten bzw. Zwischenspeichern von Datensignalen und Datenbits
die logischen Pegel derselben unverändert lassen, ist eine Ausführung der
erfindungsgemäßen Grundidee
ebenso unter Verwendung invertierender Schalt- und/oder Speicherelemente
möglich.
Insbesondere ist die Funktion der Auswertelogik, der Datenverarbeitungseinheit
und der Schieberegister-Steuerung auf die Bedürfnisse der Besonderheiten
der Schalt- und/oder Speicherelemente anpassbar.
-
Insbesondere
muss der Einsatz des Schieberegisters zum Bereitstellen eines Konfigurationsbits
nicht auf FPGAs beschränkt
sein. Vielmehr dient die Erfindung zur Bereitstellung von Konfigurationsbits
immer dann, wenn permanenter und sicherer Zugriff auf Datenbits
gefordert ist. Neben FPGAs kann dies z.B. auch bei adaptiven, digitalen
Filtern der Fall sein, wobei die Konfigurationsbits Filterkoeffizienten darstellen.
-
Außerdem ist
die Erfindung nicht auf die Bereitstellung einzelner Konfigurationsbits
beschränkt, sondern
liefert auch sichere Konfigurationsbitfolgen bzw. Konfigurationsworte
durch das Zusammenschalten einzelner erfindungsgemäßer Schieberegisterzellen
zu einer Schieberegisterkette.
-
Erfindungsgemäße Schieberegisterzellen und
-Ketten können
auch parallel eingesetzt werden und so gleichzeitig z.B. unabhängige Konfigurationsteildaten
liefern.