Altifigence Academy

37 / 63 · Konzept

Serielle Eingänge und Rahmengrenzen

Eingangsreihenfolge und gültige Flanken definieren und die seriell-parallele Bitanordnung berechnen.

Zeitliche Reihenfolge in Vektorpositionen umwandeln

Ein serieller Eingang überträgt je gültiger Flanke ein Bit. Für ein 3-Bit-RegisterRegister Speichert einen Zustand aus mehreren Bits. Die synchronen Register dieses Kurses übernehmen festgelegte Eingaben an Taktflanken. Mehr erfahren mit q<={q[1:0],din}, Start 000 und Eingaben 1,0,1,1 gilt:

Angenommene BitsdinNeues q
11001
20010
31101
41011

Neue Bits kommen rechts hinein, alte wandern zu höheren Indizes. Das Register ist ein gleitendes Fenster der letzten drei Bits; das vierte verdrängt das erste.

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. Die erste Spalte ist Reset. Von den anschließend angenommenen 1,0,1,1 bleiben die letzten drei in q. Beobachten Sie das Verdrängen des ersten Bits in der letzten Spalte.

Vom seriellen Eingang zum parallelen Zustand
Wellenformdaten anzeigen
Wellenformdaten: Jedes Zeichen steht für ein Intervall, ein Punkt hält den vorherigen Zustand und p ist ein Taktzyklus.
SignalWellenformBuswerte
edge23452E0 → E1 → E2 → E3 → E4
reset10...
din0101.
q after23452000 → 001 → 010 → 101 → 011

MSB-first und LSB-first sind Protokollregeln

Ein 8-Bit-Wert, mit dem MSBMSB Bit mit dem höchsten Stellenwert. Sein Index hängt von der Deklarationsrichtung ab und ist nicht grundsätzlich der größte Index. Mehr erfahren zuerst gesendet und so Bit für Bit empfangen, ergibt nach acht Empfangsschritten den ursprünglichen Vektor. LSB-firstLSB Bit mit dem niedrigsten Stellenwert. Darstellungsrichtung und Indexkonvention müssen gemeinsam geprüft werden. Mehr erfahren ergibt die umgekehrte Anordnung und erfordert andere Verbindungen oder abschließende Umordnung. Das ist eine Vereinbarung zwischen Sender und Empfänger, keine bloße Anzeigeoption.

Daten allein verraten keine Rahmengrenzen

Zustand muss festhalten, welche Flanke das erste Bit trägt, wie viele angenommen wurden und wann das Ergebnis verwendbar ist. Üblich sind Bitzähler plus valid oder done. Bei Pausen müssen angenommene Daten, nicht Taktflanken gezählt werden.

acceptk=validk∧readykaccept_k=valid_k\land ready_k

Bei ready/validHandshake Transfervertrag: valid des Senders und ready des Empfängers sind an derselben Flanke 1. Dazu gehören Regeln zum Halten wartender Daten. Mehr erfahren werden Schieben und Zählen nur gemeinsam an Flanken mit wahrer obiger Bedingung aktualisiert. Enable nur auf einem Pfad verschiebt Daten und Längeninformation gegeneinander. Die bereitgestellte Übung mit durchgehendem Eingang nimmt als einfacher Sonderfall jede Datenflanke an.

Selbst ausprobieren

In einem 8-Bit-Rahmen ist valid nach dem vierten Bit zwei Zyklen 0. Was müssen bei ready=1 Empfangszähler und Schieberegister tun?

Erklärung lesen

In beiden Zyklen ist accept=0, daher halten Zähler und Register gemeinsam. Das nächste gültige Bit ist das fünfte. Bloßes Taktzählen könnte den Abschluss melden, obwohl Daten fehlen.

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