T11-FlipFlops-und-Speichernde-Elemente

FlipFlops & Speichernde Elemente

Zusammenfassung

Speichernde Elemente (Flipflops) sind die Grundbausteine sequentieller Schaltkreise. Ein Schaltwerk besteht aus einem Register (Flipflops) und einem kombinatorischen Kern. Ohne Flipflops kein Register, ohne Register kein sequentieller Schaltkreis. Dieses Topic ist foundational für A6 (Mealy-Automat): die D-Flipflops im Register speichern den Zustand.

Exam-Relevanz

Flipflops erscheinen nicht direkt als Klausuraufgabe. Sie sind jedoch foundational für das Verständnis von A6 (Mealy-Automat / Schaltwerk): Das Register des Schaltwerks besteht aus D-Flipflops, die den Zustand speichern. Ohne Verständnis von D-FFs, Setup-/Hold-Zeiten und taktflankengesteuerter Übernahme kann der Schaltkreis in A6d nicht korrekt gezeichnet oder verstanden werden.

Schaltpläne mit Zyklen

Kombinatorische Schaltkreise sind azyklisch: jeder Ausgang ist eindeutig durch die Eingänge bestimmt. Es gibt genau eine stabile Belegung pro Eingangsbelegung.

Sequentielle Schaltkreise (Schaltwerke) enthalten Zyklen (Rückkopplungen). Diese Zyklen müssen aber durch Flipflops gehen — der kombinatorische Kern selbst bleibt azyklisch.

Ein Schaltplan ist ein gerichteter Graph, der nicht notwendigerweise azyklisch ist. Das bedeutet:

  • Es kann zu einer Eingangsbelegung keine stabile Signalbelegung geben.
  • Es kann zu einer Eingangsbelegung mehrere stabile Signalbelegungen geben.

Beispiel: Ein NAND-Gatter mit Rückkopplung seines Ausgangs auf einen Eingang:

x₁ ──→ G₁ ──→ ? ──→ (zurück zu G₁)

Für : und — Widerspruch, keine stabile Belegung.

Erkenntnis: Zyklen in Schaltplänen ermöglichen Speichern (mehrere stabile Zustände), erfordern aber Flipflops für deterministisches Verhalten.

RS-Flipflop

Das RS-Flipflop (RS-FF) ist der einfachste speichernde Baustein. Es besteht aus zwei rückgekoppelten NAND-Gattern:

       ┌───────┐
 /S ──→│ NAND  │──→ Q ──┐
       │  (G₁) │        │
       └───┬───┘        │
           │            │
       ┌───┴───┐        │
       │ NAND  │──→ /Q ─┘
       │  (G₂) │
 /R ──→│       │
       └───────┘

Eigenschaften:

  • und sind active low (aktiviert durch 0, inaktiv bei 1)
  • = Set-Signal (setzt )
  • = Reset- oder Clear-Signal (setzt )

Wahrheitstabelle:

Bedeutung
1 1 Speichern (Zustand bleibt)
0 1 1 0 Setzen ()
1 0 0 1 Zurücksetzen ()
0 0 1 1 Verboten (, metastabil)

Bei gibt es zwei stabile Zustände ( oder ) — das FF speichert 1 Bit.

Charakteristische Gleichung:

(Active-high Notation: , .)

Metastabilität

Wenn und gleichzeitig aktiviert werden () und dann gleichzeitig deaktiviert werden (), entsteht ein metastabiler Zustand (Flackern):

  • Beide Gatter schalten gleichzeitig um Ausgang oszilliert.
  • In der Praxis settle sich das FF nach einer zufälligen Zeit auf einen der beiden stabilen Zustände (wegen leicht unterschiedlicher Gatterverzögerungen).

Dahum: ist verboten.

Umschalten

Von zu :

  • kurzzeitig auf 0 absenken (Puls), dann wieder auf 1.
  • Nach Verzögerung ist .
  • Nach Verzögerung ist .

Reale Gatter haben Verzögerungszeiten — der Wechsel ist nicht instantan.

D-Latch & D-Flipflop

D-Latch (taktniveaugesteuert)

Nachteil des RS-FF: Man muss den zu speichernden Wert kennen, um oder zu aktivieren.

Das D-Latch löst dies: Eingang liefert den Wert, (Write/Enable) steuert das Speichern.

0 0 1 1
0 1 1 1
1 0 1 0 0 1
1 1 0 1 1 0
  • : transparenter Modus gesperrt behält alten Wert.
  • : transparenter Modus (Ausgang folgt Eingang direkt).

       ┌──────────┐
   D ──→│ D-Latch  │──→ Q
   W ──→│          │──→ /Q
       └──────────┘

D-Flipflop (taktflankengesteuert)

Das D-Flipflop (D-FF) übernimmt Daten nur bei der steigenden Taktflanke () — kein transparenter Modus!

ck
0 0 1
1 1 0
X 0
X 1

       ┌──────┐
   D ──→│ D-FF │──→ Q
  ck ──→│      │──→ /Q
       └──────┘

Vorteil gegenüber D-Latch: Daten müssen nur kurz bei der Taktflanke stabil sein, nicht während der gesamten Pulsweite.

Realisierung: Komplexer als D-Latch — benötigt mehrere RS-FFs (Master-Slave-Prinzip):

  • RS-FF₂: Aufnahme der Eingangsdaten bei
  • RS-FF₁: Gewährleistet, dass Daten während gespeichert bleiben
  • Ausgangs-FF

Setup- und Hold-Zeit

Damit das D-FF die Daten korrekt übernimmt:

  • Setup-Zeit (): Daten müssen vor der Taktflanke für diese Zeit stabil anliegen.
  • Hold-Zeit (): Daten müssen nach der Taktflanke für diese Zeit stabil bleiben.
  • Pulsweite (bei D-Latch): Zeit, während der sein muss.
         ┌── y ──┐
 W ──────┘       └────
         ← tsetup →← thold →

 D ══════════════════════
         ┌───┐
 Q ──────┘   └──────────

Weitere Bausteine

T-Flipflop

Toggle-FF: Wechselt bei jeder Taktflanke den Ausgang, wenn .

JK-Flipflop

Verallgemeinertes RS-FF ohne verbotenen Zustand:

  • = Set (wie )
  • = Reset (wie )
  • : Toggle (wie T-FF)

n-Bit Register

D-Flipflops mit gemeinsamem Clocksignal. Speichert ein -Bit-Wort.

 D₀ ──→[D-FF]──→ Q₀
 D₁ ──→[D-FF]──→ Q₁
  ⋮               ⋮
Dₙ₋₁ ──→[D-FF]──→ Qₙ₋₁
       ← ck →

Analog: n-Bit Latch = D-Latches mit gemeinsamem .

Schieberegister

Kaskade von D-FFs: Ausgang jedes FFs ist Eingang des nächsten. Bei jedem Takt werden alle Werte um eine Position verschoben.

D₀ ──→[D-FF]──→ Q₀ ──→[D-FF]──→ Q₁ ──→[D-FF]──→ Q₂ ──→[D-FF]──→ Q₃
              ck              ck              ck              ck

Zähler

-Bit-Zähler mit Dateneingängen , Datenausgängen , Übertrag , und Kontrollsignalen (Clear), (Load), ck (Clock):

Aufbau: kombinatorischer Inkrementierer (-INC) + Register (-Reg).

         ┌─────────┐     ┌───────┐
    /C ──→│         │──→│       │──→ Y
    ck ──→│  n-INC  │   │ n-Reg │
  Cin ──→│         │──→│       │──→ Cₒᵤₜ
    /L ──→│         │   │       │
    X ──→│         │   │       │
         └─────────┘     └───────┘
              ck ─────────→

Timing

Die Taktfrequenz ist durch die Gatterlaufzeiten begrenzt:

Dabei ist:

  • : Taktperiode (Abstand zwischen zwei steigenden Flanken)
  • : Propagation Delay (Laufzeit durch den kombinatorischen Kern)
  • : Setup-Zeit des Ziel-Flipflops
  • : Hold-Zeit des Ziel-Flipflops

Zusammenhang:

  • Wenn der Takt zu schnell ist ( zu klein), kann das Signal das nächste FF nicht rechtzeitig erreichen Setup-Verletzung.
  • Wenn sich das Signal zu schnell ändert, kann das nächste FF die Daten nicht rechtzeitig "einfrieren" Hold-Verletzung.
  • Die maximale Taktfrequenz ist .

Für A6 relevant: Das Register im Schaltwerk besteht aus D-FFs. Der kombinatorische Kern berechnet und . Die Taktperiode muss groß genug sein, damit das Signal vom Register durch den kombinatorischen Kern zurück zum Register-Eingang läuft, bevor die nächste Flanke kommt.

Quellen

Priorität

MEDIUM — Nicht direkt klausurrelevant, aber foundational für das Verständnis von A6 (Mealy-Automat). Das Schaltwerk in A6d besteht aus D-Flipflops (Register) und kombinatorischer Logik. Wer D-FFs, Setup-/Hold-Zeiten und das Taktprinzip nicht versteht, kann den Schaltkreis nicht korrekt zeichnen oder verstehen.

Empfehlung:

  1. RS-FF als einfachstes speicherndes Element verstehen (zwei stabile Zustände, active low, Metastabilität)
  2. D-FF als taktflankengesteuertes Standard-Element für Register verstehen
  3. Den Zusammenhang: Schaltwerk = D-FFs (Register) + kombinatorischer Kern (δ, λ)
  4. Setup-/Hold-Zeit als Timing-Constraint kennen