Altifigence Academy

38 / 63 · Konzept

Zustandsgleichungen des Schieberegisters

Bitbewegung als Vektortransition ausdrücken und Speichertiefe mit Ausgangslatenz verbinden.

Mehrere Flipflops gemeinsam lesen

Ein N-Bit-SchieberegisterRegister Speichert einen Zustand aus mehreren Bits. Die synchronen Register dieses Kurses übernehmen festgelegte Eingaben an Taktflanken. Mehr erfahren mit neuem Eingang d an Bit 0 hat diesen Folgezustand:

Qk+1={Qk[N−2:0],dk}Q_{k+1}=\{Q_k[N-2:0],d_k\}

Die geschweiften Klammern bezeichnen RTL-KonkatenationKonkatenation Hängt Bitfolgen aneinander. Die Ergebnisbreite ist die Summe der Operandenbreiten; dies ist keine Zahlenaddition. Mehr erfahren. Jedes Bit liest denselben alten Zustand; d durchläuft nicht in einer Flanke das ganze Register. enable=0 hält den gesamten Vektor, reset setzt den festgelegten Anfangsvektor.

Jede Spalte dokumentiert eine steigende FlankeSteigende Flanke Übergang des Takts von 0 auf 1. Nicht zu verwechseln mit dem gesamten hohen Pegelintervall CLK=1. Mehr erfahren. Eingänge gelten unmittelbar davor, Zustände mit „after“ unmittelbar nach der Aktualisierung. Die Spalten zeigen die Reihenfolge der Abtastungen, keine physische LaufzeitLaufzeit Zeit nach einer Eingangsänderung, bis der Ausgang auf dem richtigen Wert stabil ist. Logische Äquivalenz und zeitliche Eigenschaften sind getrennte Aussagen. Mehr erfahren. Ausgehend von q=000 wird einmal din=1, danach dreimal 0 eingespeist. Das gesetzte Bit wandert q0→q1→q2 und verschwindet.

Die Verkettung durch Verschieben eines Bits prüfen
Wellenformdaten anzeigen
Wellenformdaten: Jedes Zeichen steht für ein Intervall, ein Punkt hält den vorherigen Zustand und p ist ein Taktzyklus.
SignalWellenformBuswerte
din10..
q2 after0.10
q1 after010.
q0 after10..
q after2345001 → 010 → 100 → 000

Takten Sie einmal mit din=1, dann dreimal mit din=0: 001→010→100→000. Ein Eingangswechsel ändert q noch nicht, sondern nur die Vorhersage für die nächste Flanke.

Welches Flipflop speichert das einzelne Bit?

Der synchrone reset hat Vorrang vor enable. Bei enable=0 bleibt der gespeicherte Wert erhalten. q=000; q_next = (2q + din) mod 8

Die Verbindungsgleichung numerisch prüfen

Für einen unsigned-VektorUnsigned Interpretation einer Bitfolge als nichtnegative Ganzzahl. Der n-Bit-Bereich ist 0 bis 2^n−1 und kann sich von der signed-Interpretation derselben Bits unterscheiden. Mehr erfahren lässt sich derselbe Zustandsübergang so ausdrücken:

Qk+1=(2Qk+dk) mod 2NQ_{k+1}=(2Q_k+d_k)\bmod2^N

Für N=3, Q=5(101), d=1 ist 2⋅5+1=112\cdot5+1=11 und 11 mod 8=311\bmod8=3, also der Folgewert 011. Diese numerische Form ist ein von der Konkatenation verschiedenes Referenzmodell und deshalb zur Verifikation nützlich.

Welche Daten sind gespeichert?

Ältere Bits wandern zum höchsten Index, neue kommen beim niedrigsten hinein. Nach genügend gültigen Eingaben enthält das Register die aktuelle und die letzten N−1 Eingaben. Dieselbe Struktur dient Mustererkennung, einfachen Verzögerungsleitungen und seriell-paralleler Wandlung.

Mehr Speichertiefe erhöht nicht die je Zyklus verarbeitete Bitzahl: Hier wird ein Bit je gültiger Flanke angenommen. Parallele Eingaben, Mehrbitschieben und ready/valid-StoppsHandshake Transfervertrag: valid des Senders und ready des Empfängers sind an derselben Flanke 1. Dazu gehören Regeln zum Halten wartender Daten. Mehr erfahren benötigen jeweils eigene Datenpfade und Steuerbedingungen.

Selbst ausprobieren

Für N=4, Q=1101, d=0: Berechnen Sie Q danach mit Konkatenation und numerischer Gleichung.

Erklärung lesen

Konkatenation: {101,0}=1010. Numerisch: (2⋅13+0) mod 16=10(2\cdot13+0)\bmod16=10. Das alte höchstwertige Bit 1 verlässt den Speicherbereich.

Deine Auswahl gilt für diesen Browser. Du kannst sie jederzeit in der Fußzeile ändern.