Durchgerechnetes Beispiel: ein digitaler Würfel
← Alle Artikel

Durchgerechnetes Beispiel: ein digitaler Würfel

5 Min

Eine frei laufende Quelle „zufälliger" Zahlen

Ein Schieberegister mit linearer Rückkopplung, kontinuierlich von einem schnellen CLOCK angetrieben, durchläuft seine Zustände so schnell im Vergleich zur menschlichen Reaktionszeit, dass der Wert, den es genau in dem Moment hält, in dem jemand einen Taster drückt, praktisch unvorhersehbar wirkt, obwohl das Ganze darunter vollständig deterministisch ist.

Einen Wert bei Tastendruck einfrieren

Speisen Sie den SHIFT4-Ausgang des LFSR in ein ladbares Register, dessen Load-Eingang von einem entprellten Taster über einen Flankendetektor kommt — sodass das Register genau den Zustand erfasst und hält, den das LFSR im exakten Moment des Tastendrucks hatte, und dessen fortlaufendes Umlaufen bis zum nächsten Druck ignoriert.

LFSRREGTaste (Load)BereichSEG7

Vier Bits auf sechs Würfelaugen abbilden

Die 4 Ausgangsbits eines LFSR umfassen 0–15, ein Würfel hat aber nur sechs Seiten. Eine kleine, auf einem Komparator basierende Umrechnung — 6 oder 12 subtrahieren, sobald der Wert mindestens 6 beziehungsweise mindestens 12 beträgt — faltet den Bereich auf 0–5 zusammen, und das Addieren einer festen 1 macht daraus die vertrauten 1–6. Speisen Sie das Ergebnis in einen SEG7-Block ein, um es anzuzeigen.

Probieren Sie es selbst

Bauen Sie die gesamte Kette im Schaltungseditor — frei laufendes LFSR, entprellter Taster, flankengetriggertes Laden in ein Register, Bereichsumrechnung, SEG7-Anzeige — und drücken Sie den Taster mehrfach, um zu bestätigen, dass die angezeigte Ziffer unvorhersehbar wechselt, aber immer zwischen 1 und 6 liegt.

Einen Würfel im Schaltungseditor bauen →