-
Die
vorliegende Erfindung ist verwandt mit der dem Inhaber der vorliegenden
Erfindung erteilten
US
6,631,390 B1 mit dem Titel „Method and Apparatus for
Genrating Random Numbers Using Flip-Flop Meta-Stability".
-
Die
vorliegende Erfindung betrifft die Generation von Zufallszahlen,
insbesondere ein Verfahren und eine Vorrichtung zur Generation von
Zufallszahlen unter Nutzung des metastabilen Verhaltens von Latches.
-
Latches
und Flipflops werden häufig
in Rechnern und anderen elektronischen Geräten verwendet, zum Beispiel
als Abtast-, Zähl-
und Speicherelemente. In 1 ist ein herkömmliches
RS-Latch 100 gezeigt. Wie in 1 dargestellt,
ist das RS-Latch 100 zusammengesetzt aus zwei NOR-Gattern 110 und 120.
Die Ausgänge
der beiden NOR-Gatter 110, 120 sind über Kreuz
mit einem jeweiligen Eingang des gegenüberliegenden NOR-Gatters verbunden. Somit
empfängt
NOR-Gatter 110 als Eingangssignale das Ausgangssignal von
NOR-Gatter 120 und ein Rücksetzsignal R. Gleichermaßen empfangt NOR-Gatter 120 als
Eingangssignale das Ausgangssignal von NOR-Gatter 110 und
das Setzsignal S. Der Ausgangszustand des RS-Latches 100 ist
für jede
der verschiedenen Eingangskombinationen in der Tabelle 200 in 2 gezeigt.
-
Somit
sind die in 1 gezeigten Latches 100 für Metastabilität anfällig, wenn
beide Eingänge des
Latches 100 auf einen hohen logischen Wert („11") gesetzt sind mit
anschließendem Übergang
in einen Zustand, in dem beide Eingänge einen niedrigen Wert („00") aufweisen. Dieser Übergang
bewirkt mitunter, dass die Latch-Ausgangssignale auf eine statistisch
bekannte Weise unvorhersagbar oszillieren. Zu einer ausführlichen
Erörterung
von Metastabilität
siehe zum Beispiel Application Note, A Meta-Stability Primer, AN219,
Philips Semiconductors (15. Nov. 1989), die durch Verweisung in
das vorliegende Dokument aufgenommen ist. Theoretisch kann das Latch 100 unendlich
oszillieren. Praktisch erreicht das Latch 100 jedoch zufällig einen
Zufallsausgangswert mit entweder niedriger oder hoher Logik. Typischerweise
werden diese metastabilen Werte anschließend von anderen Schaltungen
in einer gegebenen Anwendung detektiert und können als unterschied liche Logikpegelzustände interpretiert werden
oder einen Zwischenzustand annehmen, der von anderen Logikgattern
fehlinterpretiert werden kann.
-
Zufallszahlen
sind bei vielen Anwendungen und elektronischen Geräten erforderlich,
einschließlich
bei Glückspielen
wie Poker, Roulette und Spielautomaten. Insbesondere hängen zahlreiche
Verschlüsselungsalgorithmen
und -protokolle von einer nicht vorhersagbaren Zufallszahlenquelle
ab, um eine sichere elektronische Kommunikation und dergleichen
zu implementieren. Ein Zufallszahlgenerator sollte jede mögliche Permutation
in dem vorgesehenen Zahlenbereich generieren. Zusätzlich sollte
der Zufallszahlgenerator nicht verzerrend sein und jede beliebige
gegebene Zahl mit der gleichen Wahrscheinlichkeit wie andere Zahlen
generieren. Darüber
hinaus sollte der Zufallszahlgenerator Zufallszahlen generieren,
die nicht vorhergesagt werden können,
unabhängig
von der Größe der Sammlung
vorheriger Ergebnisse. Somit sollten die Zufallszahlen vollständig unvorhersagbar
und nicht anfällig
für äußere Einflüsse sein.
-
Das
US-Patent 5,963,104 schlägt ein Verfahren
zur Generation von Zufallszahlen unter Verwendung einer Mehrzahl
von digitalen Oszillatoren vor, generiert durch Verwendung von Standardzellenkomponenten.
Unterschiedliche von den Ringoszillatoren generierte Taktsignale
werden unter Verwendung eines gemeinsamen Taktsignals durch eine Mehrzahl
von D-Flipflops getaktet, sodass jedes Flipflop intermittierend
in einen metastabilen Zustand eintritt. Das vorgeschlagene Verfahren
basiert auf dem Umstand, dass die Takteigenschaften eines derartigen
Ringoszillators von dem Herstellungsprozess, der Herstellungsumgebung
und der Umgebungstemperatur abhängen,
was zu einer nicht deterministischen Zufallszahlgeneration führt.
-
Die
internationale Patentveröffentlichung
WO 01/46797 A1 schlägt einen
weiteren Zufallszahlgenerator vor, der auf dem Takten eines Taktsignals basiert.
Das Ausgangssignal eines Oszillators wird dazu verwendet, das Ausgangssignal
eines weiteren Oszillators zu takten, und zwar unter Verwendung
eines D-Flipflops, das infolgedessen in einen metastabilen Zustand
eintritt. Das Ausgangssignal des D-Flipflops, das zufällig ist, wird
verwendet, um einen Zufalls-Bit-Strom zu generieren, der wiederum
verwendet wird, um Zufallszahlen zu generieren.
-
Die
WO 01/67231 A2 (=
US 6,631,390 B1 ) mit
dem Titel „Method
and Apparatus for Genrating Random Numbers Using Flip-Flop Meta-Stability" offenbart ein Verfahren
und eine Vorrichtung zur Generierung von Zufallszahlen unter Nutzung
des metastabilen Verhaltens von D-Flipflops, umfassend inhärente in
Reihe geschaltete Latches. Ein Flipflop wird mit einem Eingangssignal
getaktet, das die Vorbereitungs- bzw. die Haltezeit (oder beides)
des Flipflops bewusst stört,
um metastabiles Verhalten sicherzustellen. Immer dann, wenn ein
Fehler vorliegt, wird ein Bit gesammelt. Wenn Metastabilität bei einem
Binärwert
(entweder Null oder Eins) bei einer bestimmten Klasse von Flipflops
häufiger
auftritt, wird eine gleichmäßige Zufallszahlverteilung
erreicht durch „Markieren" der Hälfte der
Nullen als „Einsen" und der anderen
Hälfte
der Nullen als „Nullen". Zusätzlich wird
die Hälfte
der Einsen als „Einsen" und die andere Hälfte als „Nullen" markiert.
-
Es
wurde gefunden, dass die Dauer und das Auftreten von Metastabilität durch
Rauschen beeinflusst werden können.
Somit kann Rauschen eingesetzt werden, um den Ausgang des Zufallszahlgenerators
zu beeinflussen.
-
Während derartige
auf dem metastabilen Verhalten von Flipflops basierende Zufallszahlgeneratoren
einen wirksamen Mechanismus zur Generation von Zufallszahlen lediglich
unter Verwendung von Digitaltechnologie bereitstellen, nutzen sie
jeweils ein einzelnes Flipflop und müssen somit eine Vermutung über den
Ausgangszustand anstellen. Wünschenswert
wäre ein
Zufallszahlgenerator, der lediglich Digitaltechnologie verwendet,
jedoch keinerlei Vermutungen über
den Ausgangzustand erfordert.
-
Im
Allgemeinen werden ein Verfahren und eine Vorrichtung zur Generation
von Zufallszahlen unter Nutzung des metastabilen Verhaltens von
Latches offenbart. Jedes Mal, wenn ein Latch metastabil wird, ist
das Ergebnis der Oszillation zufällig
im Hinblick auf das Ergebnis oder den logischen Wert, das/der nach
Beendigung der Oszillation erhalten wird. Wenn sich der Ausgangszustand
eines Latches von dem Wert unterscheidet, der während eines korrekten Betreibens
des Latches erhalten worden wäre (also
ein „Fehler"), dann kann ein
metastabiles Ereignis detektiert werden. Wenn zwei oder mehr im
Wesentlichen identische Latches parallel betrieben werden, kann
ein Fehler detektiert werden, wenn mindestens zwei der Latches unterschiedliche
Ausgangszustände
aufweisen. Die Detektion eines Fehlers kann genutzt werden, um die
Generation eines Zufalls-Bits gemäß der vorliegenden Erfindung
zu triggern.
-
Wie
vorstehend angedeutet, ist ein Latch für Metastabilität anfällig, wenn
beide Eingänge
des Latches auf einen hohen logischen Wert („11") gesetzt sind mit anschließendem Übergang
in einen Zustand, in dem beide Eingänge einen niedrigen Wert („00") aufweisen. Gemäß der vorliegenden
Erfindung wird eine Anzahl von Latches parallel betrieben und an
jeden Eingang jedes Latches der gleiche Binärwert angelegt. Somit wird
davon ausgegangen, dass die Latches ihren vorherigen Zustand aufrechterhalten,
wenn an jedem Latch ein Wert von „00" anliegt. Wenn jedoch einem Wert von „11” ein Zustand
folgt, in dem beide Eingänge
einen niedrigen Wert aufweisen („00"), kann der Zustand der Latches unbestimmt sein,
was eine zufällige
Verschiebung vor Stabilisierung auf einen zufälligen Ausgangswert mit entweder hoher
oder niedriger Logik bewirkt. Wenn sich zwei Latches auf unterschiedliche
Werte stabilisieren, kann somit ein Fehler identifiziert werden,
wodurch die Generation eines Zufalls-Bits gemäß der vorliegenden Erfindung
getriggert wird.
-
Ein
Aspekt der vorliegenden Erfindung ist ein Verfahren nach Hauptanspruch
1. Ein weiterer Aspekt der Erfindung ist eine Vorrichtung nach Hauptanspruch
12. Weitere Ausführungsformen
der Erfindung sind in den jeweiligen beigefügten Unteransprüchen angegeben.
-
Eine
umfassendere Vorstellung von der Erfindung sowie weitere Merkmale
und Vorteile der vorliegenden Erfindung vermitteln die folgende
ausführliche
Beschreibung und die Zeichnungen.
-
1 veranschaulicht
ein herkömmliches RS-Latch,
-
2 ist
eine Tabelle, welche die verschiedenen Ausgangswerte des RS-Latches von 1 für jede Kombination
von Eingangszuständen
angibt,
-
3A und 3B veranschaulichen
zusammen einen Zufallszahlgenerator gemäß der vorliegenden Erfindung,
-
4 veranschaulicht
eine Gruppe von Wellenformen, erzeugt durch die Schaltungen von 3A und 3B,
und
-
5 veranschaulicht
eine Selektionsschaltung, die in einer Ausführungsform der vorliegenden Erfindung
eingesetzt werden kann, um ein metastabiles Ereignis zu detektieren,
wenn eine Mehrzahl von Latches eingesetzt wird.
-
3A und 3B veranschaulichen
zusammen einen Zufallszahlgenerator 300 gemäß der vorliegenden
Erfindung. Wie in 3 gezeigt, schließt der beispielhafte
Zufallszahlgenerator 300 ein Paar Latches 320-1, 320-2 ein,
die in die metastabile Region getrieben werden. Wie nachstehend
ausführlicher
erörtert,
werden die Ausgangszustände
der Latches 320-1, 320-2 von einer Schaltung erfasst, welche
die Matastabilität
beseitigt und die Ausgangszustände
vergleicht. Wenn die beiden Ausgangszustände der im Wesentlichen identischen
Latch-Schaltungen unterschiedlich sind, wird ein „Fehler" detektiert und ein
Zufalls-Bit generiert. Somit stellt der metastabile Betrieb eines
der Latches 320-1, 320-2 einen Mechanismus zur Generation
von Zufallszahlen bereit.
-
Wie
in 3A gezeigt, wird von einem Taktoszillator 305 ein „Takt"-Signal generiert.
Das Takt-Signal wird an die Eingänge
eines Paars D-Flipflops 310-1, 310-2 angelegt,
deren Qbar-Ausgänge zurück zu ihren
D-Eingängen
geführt
werden. Die D-Flipflops 310 stellen
einen Zweiteilungsmechanismus bereit. Der Takt-Eingang des Flipflops 310-1 wird
durch einen Inverter 308 invertiert. Somit ist das von
dem Flipflop 310-1 generierte Anregungssignal gegenüber dem
von dem Flipflop 310-2 generierten Akquirierungssignal
um 180 Grad phasenverschoben. Das Akquirierungsssignal schreitet
voran, und LFSR 380 generiert einen Bit-Strom, der statistisch zur
Hälfte
Einsen und zur Hälfte
Nullen aufweist. Es sei darauf hingewiesen, dass die verschiedenen
in 4 gezeigten Wellenformen an den entsprechenden
bezeichneten Abtastpunkten in 3A beziehungsweise 3B erhalten
werden.
-
Wie
in 3A und 4 gezeigt, werden die Latches 320-1 und 320-2 von
dem von dem Flipflop 310-1 generierten Anregungssignal
gesteuert. Wie vorstehend angedeutet, sind Latches wie beispielsweise
die in 3A gezeigten Latches 320-1 und 320-2 für Metastabilität anfällig, wenn
beide Eingänge
des Latches 310 auf einen niedrigen logischen Wert („00") gesetzt sind mit
anschließendem Übergang
in einen Zustand, in dem beide Eingänge einen hohen Wert („11") aufweisen. Es sei
darauf hingewiesen, dass die Latches 320-1 und 320-2 in 3A aus NAND-Gattern
zusammengesetzt sind und anders arbeiten als das NOR-Gatter-Latch 100 von 1. Somit
sind, wie in 4 gezeigt, die mit „Latch0" beziehungsweise „Latch1” bezeichneten
Ausgangszustände
der Latches 320-1 beziehungsweise 320-2 in 3A jedes
Mal, wenn das Anregungssignal hoch ist, potenziell unbestimmt. Während zwar
der Ausgang eines der NAND-Gatter in jedem Latch 320-1 und 320-2 als
der Ausgang des Latches 320-1 und 320-2 festgelegt
ist, kann jedoch der Ausgang eines jeden NAND-Gatters gewählt werden
(da sie im Wesentlichen identisch sind), wie für den Fachmann ersichtlich
sein dürfte.
Infolge der ungleichmäßigen Verzögerung in
jedem der Latches 320 und infolge der ungleichmäßigen Verzögerung durch
das metastabile Verhalten kann ein potenziell unbestimmtes Signal
generiert werden. Um den Zufallszahlgenerator 300 für synchrone
Anwendungen fähig
zu machen, ist in 3B daher ein veranschaulichender Mechanismus
bereitgestellt, um die Wellenformen Latch0 und Latch1 miteinander
zu synchronisieren. Es sei darauf hingewiesen, dass die Schaltungen
von 3A und 3B durch
die Kreise mit jeweils gleichen Buchstaben verbunden sind.
-
Die
in 3B gezeigte Synchronisierungsschaltung schließt eine
Anzahl von seriellen Flipflops 332-n, 334-n und 336-n auf,
die jedem Latch 320 zugewiesen sind. Zusätzlich sollte,
wenn eines dieser Flipflops 332, 334, 336 metastabil
wird, die Periode des Taktsignals lang genug sein, damit sich der
Ausgangszustand des metastabilen Flipflops auf einen festgelegten
logischen Wert (entweder 0 oder 1) einstellt, sodass das Flipflop
stabil ist, wenn das Signal an dem nächsten Flipflop 332, 334, 336 abgetastet wird.
Auf diese Weise erhöht
jedes Flipflop 332, 334, 336 die Wahrscheinlichkeit,
den Ausgangzustand von Latch0 oder Latch1 miteinander zu synchronisieren,
während
gleichzeitig jeder unbestimmte logische Zustand beseitigt wird.
Tatsächlich
misst sich die Wahrscheinlichkeit eines fehlerhaften Verhaltens
einer derartigen Schaltung in Jahrzehnten.
-
Das
Exklusiv-OR-Gatter („XOR") 350 vergleicht
die synchronisierte Version der Wellenformen Latch0 und Latch1.
Da der Ausgangszustand des XOR-Gatters 350 genau dann hoch
ist, wenn sich die beiden Eingangszustände unterscheiden, ist der Ausgangszustand
des XOR-Gatters 350 („Fehler") hoch, wenn die
Wellenform Latch0 nicht mit der Wellenform Latch1 übereinstimmt.
Der Fehler kann dadurch entstehen, dass: (i) ein Latch 320 metastabil wird
und das andere Latch 320 stabil bleibt, (ii) beide Latches 320 metastabil
werden, jedoch unterschiedliche Endzustände erreichen oder (iii) die
Flipflops 332, 334, 336 in den metastabilen
Zustand getrieben werden. In jedem Fall sollte ein Fehler ein relativ
seltenes Ereignis sein, abhängig
beispielsweise von der Implementierungstechnologie und der Schaltungsanordnung.
Es sei darauf hingewiesen, dass in einer alternativen Ausführungsform
ein Fehler so definiert sein kann, dass die Wellenformen Latch0
und Latch1 miteinander übereinstimmen.
-
Das
Ausgangssignal des XOR-Gatters 350 („Fehler") wird an den Schiebeeingang (Shift_in)
eines Schieberegisters 360 angelegt, und das Schieberegister 360 verschiebt
jedes Mal, wenn ein Fehler auftritt, ein Bit aus dem (nachstehend
erörterten) LFSR-Signal.
Das Schieberegister 360 ist durch das Akquirierungssignal
getaktet. Somit sammelt die erste Ausführungsform der vorliegenden
Erfindung immer dann ein Bit, wenn ein Fehler auftritt. Das Ausgangssignal
des Schieberegisters 360 wird an eine Rechnerschnittstelle 370 angelegt.
-
Wie
in 4 gezeigt, wird von dem XOR-Gatter 350 zum
Zeitpunkt t0 ein Fehler detektiert, was
bewirkt, dass ein Bit akquiriert wird, das gleich Eins ist (basierend
auf dem LFSR-Signal). Auf ähnliche
Weise wird von dem XOR-Gatter 350 zum Zeitpunkt t1 ein Fehler detektiert, was bewirkt, dass ein
Bit akquiriert wird, das gleich Null ist (basierend auf dem LFSR-Signal).
-
Wie
vorstehend angedeutet, bietet das Markieren von Eingangsbits auf
die vorstehend im Zusammenhang mit 3A und 3B erörterte Weise
zur Generation eines Ak quirierungssignals eine gleichmäßige Verteilung
von Zufalls-Ausgangsbits. Es wurde jedoch gefunden, dass die Dauer
und das Auftreten von Metastabilität durch Rauschen beeinflusst
werden können.
Somit ist also die Ausgabe des Zufallszahlgenerators nicht zufällig, wenn
das Rauschen mit dem Akquirierungssignal korreliert ist.
-
Daher
wird gemäß einer
Ausführungsform der
Erfindung als das Markierungssignal eine (im Hinblick auf Häufigkeit
von Nullen und Einsen) nahezu nicht verzerrende Signalquelle verwendet.
Das Markierungssignal ist mit einer hohen Wahrscheinlichkeit nicht
mit Rauschen in dem System korreliert. Die vorliegende Erfindung
setzt optional ein lineares Rückkopplungs-Schieberegister
(LFSR) 380 ein, mit ausreichender Länge, um die Wahrscheinlichkeit
einer Korrelation zu verringern und Verzerrungen im LFSR-Ausgangssignal zu
reduzieren. Geeignete LFSR sind zum Beispiel in Bruce Schreier,
Applied Cryptography, S. 369–388
(Wiley, 1994), beschrieben.
-
Das
lineare Rückkopplungs-Schieberegister 380 erzeugt
ein LFSR-Markierungssignal,
gezeigt in 4, das etwas mehr als die Hälfte seiner
Ausgangszustände
als Nullen in der Wellenform erzeugt. Auf diese Weise ist das LFSR-Markierungssignal
mit hoher Wahrscheinlichkeit nicht mit Rauschen korreliert.
-
Das
lineare Rückkopplungs-Schieberegister 380 sollte
eine ausreichende Anzahl von Bits bereitstellen, um die Wahrscheinlichkeit
einer Korrelation zu verringern und Verzerrungen im LFSR-Ausgangssignal
zu reduzieren. Bei einem aus n Flipflops zusammengesetzten linearen
Rückkopplungs-Schieberegister 380 gibt
es 2n – 1
Binärzahlen,
bevor die Zahlen beginnen, sich zu wiederholen. Mit zunehmender
Anzahl von Flipflops in dem linearen Rückkopplungs-Schieberegister 380 nimmt
also die –1
in dem Binärausdruck
2n – 1
an Signifikanz ab. In jedem Fall kann, da die Richtung einer auf
den Term –1 rückführbaren
Verzerrung bekannt ist, die Verzerrung mit einer geeigneten Schaltung
beseitigt oder korrigiert werden.
-
Das
lineare Rückkopplungs-Schieberegister 380 stellt
somit ein ausgehendes Markierungssignal, LFSR Mark, bereit, das
pseudozufällig
ist, wobei in etwa die Hälfte
der Ausgangsbits Null ist und die andere Hälfte der Ausgangsbits Eins
ist.
-
Es
wurde beobachtet, dass, wenn das lineare Rückkopplungs-Schieberegister 380 unsicher
ist, ein Teil des Ausgangs (sogar ein zufälliger Teil) möglicherweise
zulässt,
dass der Zustand des linearen Rückkopplungs-Schieberegisters 380 bekannt
ist. Auf diese Weise wäre
es möglich,
den Ausgang des Zufallszahlgenerators 300 vorherzusagen.
-
Somit
sollte ein lineares Rückkopplungs-Schieberegister 380 genutzt
werden, das keine erkennbare Statistik aufweist, wodurch die Zustandsinformation
des linearen Rückkopplungs-Schieberegisters 380 nutzlos
wird. In einer weiteren Abwandlung wird zusätzliche Sicherheit erreicht,
indem die gesammelten Bits aus dem Schieberegister 360 ausgegeben
werden und indem zugelassen wird, dass einige der gesammelten Bits
in jedem Sammelintervall verloren gehen.
-
Jedes
Mal, wenn ein Fehler auftritt, verschiebt das Schieberegister 360 ein
Bit aus dem LFSR-Markierungssignal. Auf diese Weise werden die Eingangszeiten
der Fehler nicht erkannt, und es kann nicht vorhergesagt werden,
welche Bits des linearen Rückkopplungsregisters 380 gewählt werden.
-
5 veranschaulicht
eine alternative Ausführungsform
der vorliegenden Erfindung. 5 veranschaulicht
Selektionsschaltung 500 zum Bestimmen, wann ein „Ereignis" (zum Beispiel ein
Fehler) aufgetreten ist, wenn mindestens drei (3) Latches vorhanden
sind. Die beispielhafte Selektionsschaltung 500 ist unter
Verwendung von UND-Gattern
implementiert. Die Ausgangssignale jedes der n Latches werden an
dem Eingang der Selektionsschaltung 500 empfangen und als
Zone n bezeichnet. In dem Ausführungsbeispiel
ist n gleich Acht (8). Die jeweiligen Zoneneingangssignale und eine
invertierte Version derselben werden jeweils an einen entsprechenden
Multiplexer 510-n angelegt. Jeder Multiplexer 510 wird
von einem Steuersignal, Control_M, gesteuert, welches den Zoneneingang
oder die entsprechende invertierte Version desselben wählt.
-
Die
Selektionsschaltung 500 schließt eine Anordnung von UND-Gattern 520-1 bis 520-n-1 ein, wobei
jedes der n UND-Gatter zwischen 2 und n Eingangssignalen empfängt, wie
in 5 gezeigt. Jedes UND-Gatter 520 generiert
einen Binärwert
Eins (1), wenn das angewendete Eingangsmuster von Nutzen ist. Zum
Beispiel generiert das UND- Gatter 520-n-1 eine
Eins (1) nur dann, wenn beide Eingangszustände (von Zone 0 und Zone 1)
hoch sind (ein für
im Wesentlichen identische Latches zu erwartender Zustand).
-
Durch
Selektion des invertierten Eingangs bei Zone 0 und des nicht invertierten
Eingangs bei Zone 1 (oder umgekehrt) und geeigneter Selektion des
Control_M-Signals erzeugt das UND-Gatter 520-n-1 jedoch
eine Eins (1) jedes Mal dann, wenn Zone 0 einen Wert von Eins aufweist
und Zone 1 einen Wert von Null aufweist (das heißt sie sind unterschiedlich,
was für
im Wesentlichen identische Latches ein weniger wahrscheinlicher
Zustand ist). Es sei wiederum darauf hingewiesen, dass es, da die Latches
(in 5 nicht gezeigt) im Wesentlichen symmetrisch sind,
gleichermaßen
wahrscheinlich ist, dass ein nicht invertierter Ausgang beliebig
als der Ausgang eines gegebenen Latches bestimmt werden könnte. Somit
erlauben die Multiplexer 510 die Selektion der korrekten
Konfiguration, bei der die Latches nur unter metastabilen Bedingungen
nicht miteinander übereinstimmen.
Zum Beispiel können
verschiedene Kombinationen evaluiert werden, bis eine Kombination
identifiziert ist, die metastabiles Verhalten nur gelegentlich aufweist
(da eine Kombination, die stets oder nie metastabiles Verhalten
aufweist, nicht wünschenswert
wäre).
-
Das
UND-Gatter 520-n-1 erzeugt jedoch keine Eins (1), wenn
Zone 0 einen Wert von Null und Zone 1 einen Wert von Eins aufweist
(was im Hinblick auf eine XOR-Implementierung
zu einem Effizienzverlust führt).
Auf ähnliche
Weise erzeugt das UND-Gatter 520-n-1 keine
Eins (1), wenn sowohl Zone 0 als auch Zone 1 einen Wert von Null
oder Eins aufweisen (sie also übereinstimmen).
Die beispielhafte Selektionsschaltung 500 erlaubt es, bis
zu acht (8) Latches auf verschiedene Arten zu kombinieren, um ein „Ereignis" zu erzeugen, das
die Generation eines Zufalls-Bits triggert.
-
Übersetzung der Zeichnungen
-
2
-
- input – Eingangszustand
- output – Ausgangszustand
- no change (same as previous state) – keine Veränderung (wie vorheriger Zustand)
- indeterminate – unbestimmt
-
4
-
- clock – Takt
- acquisition – Akquirierung
- latch 0/1 – Latch
0/1
- mistake – Fehler
- capture a one – Erfassen
einer Eins
- capture a zero – Erfassen
einer Null
-
5
-
- 8 bits – 8
Bits
- 3 bits – 3
Bits