20 / 63 · Konzept
D-Flipflops: Vom Pegel zur Flanke
Aktualisierungszeitpunkte von Latch und Flipflop vergleichen und Register, Setup und Hold verbinden.
Lektionen sind frei lesbar. Schreibe dich ein, um deinen Fortschritt zu speichern.
Ein hoher Taktpegel ist nicht dasselbe wie eine steigende Flanke
Ein pegelaktives LatchLatch Speicherelement, das bei aktiver Steuerung dem Eingang folgt und sonst hält. Anders als ein Flipflop speichert es nicht nur an Flanken. Mehr erfahren folgt D während der gesamten CLK=1-Phase. Ein D-FlipflopFlipflop Speichert den Eingang an einer festgelegten Taktflanke bis zur nächsten. Die Eingabe muss Setup und Hold erfüllen. übernimmt D nur beim Übergang von CLK=0 auf 1, der steigenden FlankeSteigende Flanke Übergang des Takts von 0 auf 1. Nicht zu verwechseln mit dem gesamten hohen Pegelintervall CLK=1., und hält es bis zur nächsten. Eine Bedingung clk=1 macht diese Funktionen nicht gleich.
Führen Sie den Vergleich durch:
- Setzen Sie D bei CLK=0 auf 1. Beide Q bleiben zunächst 0.
- Heben Sie CLK auf 1. Beide Q werden 1.
- Halten Sie CLK=1 und setzen Sie D auf 0. Nur das Latch-Q wird 0.
- Senken Sie CLK auf 0 und heben Sie es erneut auf 1. Nun übernimmt auch das Flipflop-Q 0.
Beide q-Werte beginnen annahmegemäß bei 0. Das D-Latch folgt D bei CLK=1 und hält bei CLK=0. Das D-Flipflop übernimmt D nur beim Taktübergang 0→1.
Ein Zyklus einer sequenziellen Schaltung
Wenn Q durch kombinatorische Logik das nächste D erzeugt, entsteht ein Zustandsübergang. Mit unmittelbar vor der Flanke und danach lautet das ideale Modell:
Reale Ausgänge ändern sich nicht augenblicklich mit der Flanke, sondern nach Clock-to-Q. Da mehrere Flipflops an derselben Flanke ihre eigenen Eingänge übernehmen, berechnen sie ihren Folgezustand aus den vorherigen Zuständen der anderen. Darauf beruhen Zähler und SchieberegisterRegister Speichert einen Zustand aus mehreren Bits. Die synchronen Register dieses Kurses übernehmen festgelegte Eingaben an Taktflanken..
- Aktuelles Q: Gespeicherter Zustand dieses Zyklus
- Kombinatorische Schaltung: D aus Q und externen Eingängen berechnen
- Nächste steigende Flanke: D speichern, wenn die Timingbedingungen erfüllt sind
- Neues Q: Nächsten Zustand nach der Clock-to-Q-Verzögerung ausgeben
Setup und Hold sind Voraussetzungen der Abtastung
D muss während der Setup-ZeitSetup Mindestzeit vor der Abtastflanke, in der Eingangsdaten stabil sein müssen. Bei Verletzung ist das gespeicherte Ergebnis nicht garantiert. Mehr erfahren vor und der Hold-ZeitHold-Zeit Mindestzeit nach der Abtastflanke, in der Eingangsdaten stabil bleiben müssen. Vom allgemeinen Halten eines Werts zu unterscheiden. Mehr erfahren nach der Abtastflanke stabil sein. Bei Änderungen nahe der Flanke ist weder der alte noch der neue Wert garantiert; Metastabilität kann auftreten. Die Übung simuliert dieses analoge Phänomen nicht.
Ein Register bündelt mehrere Flipflops. Acht Bit Registerbreite garantieren allein nicht, dass die acht Eingangsbits einen zusammengehörigen Wert bilden. Gemeinsame Timing-Bedingungen und Regeln der Datenübergabe sind erforderlich.
Anfangszustand und Reset
Q=0 im Simulator zu initialisieren garantiert keinen Hardwarestart mit 0. Die nächste Lektion ergänzt reset und enable und legt Initialisierung und Halten fest. Synchroner Reset wirkt an der Flanke; asynchroner Reset unabhängig davon, erfordert aber auch Aufmerksamkeit beim Freigabezeitpunkt.
Selbst ausprobieren
Bei CLK=1 wechselt D 0→1→0; vor der nächsten steigenden Flanke stabilisiert es sich auf 1. Wann ändern sich die beiden Q? Aktualisiert das Flipflop an einer Flanke zweimal?
Erklärung lesen
Das Latch folgt D während CLK=1. Das Flipflop ignoriert diese Wechsel und übernimmt an der nächsten steigenden Flanke das gültige D=1 genau einmal. Reale Schaltungen sind einschließlich Setup, Hold und Clock-to-Q zu betrachten.