PREVIEW
D Flip-Flop

D Flip-Flop

Memory signal_cellular_alt_2_bar Intermediate schedule 22 min

Interactive Circuit

D-Flipflop

Überblick

  • Zweck: Das D-Flipflop ist eine sequentielle digitale Schaltung, die ein einzelnes Datenbit speichert. Es erfasst den Logikzustand an seinem Dateneingang (D), wenn es durch ein Taktsignal getriggert wird.
  • Symbol: Das D-Flipflop wird durch einen Rechteckblock mit D-, CLK-, PRE- und CLR-Eingängen sowie Q- und Q̅-Ausgängen dargestellt.
  • Rolle in DigiSim.io: Dient als grundlegendes Speicherelement zur Konstruktion sequentieller Schaltungen wie Register, Zähler und Zustandsautomaten.

D-Flipflop-Komponente

Funktionale Beschreibung

Logikverhalten

Das D-Flipflop erfasst den Wert an seinem D-Eingang, wenn es durch eine Taktflanke (steigende Flanke) getriggert wird, und hält diesen Wert bis zur nächsten Taktflanke. Es verfügt über asynchrone Preset- und Clear-Eingänge, die den Normalbetrieb überschreiben können.

Pinbelegung:

  • Pin 0: D (Dateneingang)
  • Pin 1: CLK (Takteingang)
  • Pin 2: PRE (Preset – asynchrones Setzen)
  • Pin 3: CLR (Clear – asynchrones Rücksetzen)
  • Ausgang 0: Q (gespeicherter Wert)
  • Ausgang 1: Q̅ (komplementärer Ausgang)

Wahrheitstabelle:

PRE CLR CLK D Q (nächster) Q̅ (nächster) Operation
X 1 X X 0 1 Asynchrones Clear
1 0 X X 1 0 Asynchrones Preset
0 0 0 0 1 0 bei Takt erfassen
0 0 1 1 0 1 bei Takt erfassen
0 0 0 X Q (vorher) Q̅ (vorher) Vorherigen Zustand halten
0 0 X Q (vorher) Q̅ (vorher) Vorherigen Zustand halten

Hinweis: ↑ bezeichnet die steigende Flanke des Takts, ↓ die fallende Flanke, X bedeutet „Don't care", 0 = inaktiv (LOW), 1 = aktiv (HIGH)

Operationspriorität (höchste zur niedrigsten):

  1. CLR (Clear): Wenn CLR=1, wird Q unabhängig von anderen Eingängen auf 0 gezwungen
  2. PRE (Preset): Wenn PRE=1 und CLR=0, wird Q unabhängig von anderen Eingängen auf 1 gezwungen
  3. Taktflanke: Wenn PRE=0 und CLR=0, erfasst Q den Wert von D bei steigender Taktflanke

Eingänge und Ausgänge

  • Eingänge:

    • D (Daten) [Pin 0]: 1-Bit-Eingang, der den bei der nächsten Taktflanke zu speichernden Wert bestimmt.
    • CLK (Takt) [Pin 1]: 1-Bit-Eingang, ausgelöst durch positive Flanke, der steuert, wann der D-Wert abgetastet wird.
    • PRE (Preset) [Pin 2]: 1-Bit-Asynchroneingang, der Q auf 1 zwingt, wenn aktiv-HIGH.
    • CLR (Clear) [Pin 3]: 1-Bit-Asynchroneingang, der Q auf 0 zwingt, wenn aktiv-HIGH (höchste Priorität).
  • Ausgänge:

    • Q: 1-Bit-Ausgang, der den gespeicherten Wert darstellt.
    • : Komplementärer (invertierter) Ausgang des gespeicherten Werts.

Konfigurierbare Parameter

  • Laufzeitverzögerung: Die Zeitverzögerung zwischen einer Taktflanke und der entsprechenden Ausgangsänderung.

Visuelle Darstellung in DigiSim.io

Das D-Flipflop wird als Rechteckblock mit Eingängen auf der linken Seite (D, CLK, PRE, CLR von oben nach unten) und Ausgängen auf der rechten Seite (Q, Q̅) angezeigt. Die Komponente ist deutlich mit „D FF" beschriftet, um sie als D-Flipflop zu identifizieren. Der Takteingang ist mit einem Dreieckssymbol gekennzeichnet, das die Empfindlichkeit gegenüber positiver Flanke anzeigt. Wenn die Komponente in einer Schaltung verbunden ist, zeigen die Ausgänge ihre Logikzustände visuell durch Leitungsfarben und Werte an.

Pädagogischer Wert

Schlüsselkonzepte

  • Sequentielle Logik: Demonstriert, wie Ausgänge sowohl von aktuellen Eingängen als auch von vorherigen Zuständen abhängen.
  • Flankensteuerung: Veranschaulicht das Konzept taktgesteuerter Zustandsübergänge.
  • Zustandsspeicherung: Zeigt, wie digitale Systeme Zustandsinformationen speichern und aufrechterhalten.
  • Synchronisation: Demonstriert, wie Daten mit einem Taktsignal synchronisiert werden können.

Lernziele

  • Verstehen, wie das D-Flipflop binäre Daten erfasst und speichert.
  • Über flankengesteuertes Verhalten und seine Bedeutung in sequentiellen Schaltungen lernen.
  • Den Unterschied zwischen synchronen und asynchronen Operationen erkennen.
  • D-Flipflops zum Aufbau von Registern, Zählern und Zustandsautomaten anwenden.
  • Timing-Anforderungen wie Setup-Zeit und Haltezeit begreifen.

Anwendungsbeispiele/Szenarien

  • Datenspeicherung: Speicherung einzelner Informationsbits in digitalen Systemen.
  • Register: Mehrere D-Flipflops bilden Register, die Mehrbitwerte speichern.
  • Frequenzteilung: In bestimmten Konfigurationen können D-Flipflops Taktfrequenzen teilen.
  • Flankenerkennung: Können zur Flankenerkennung in Eingangssignalen verwendet werden.
  • Zustandsautomaten: Werden als Zustandselemente in endlichen Zustandsautomaten zur sequentiellen Steuerung verwendet.

Technische Hinweise

  • Metastabilität: Wenn Setup- und Haltezeiten verletzt werden, kann das Flipflop einen metastabilen Zustand annehmen, in dem der Ausgang unvorhersehbar ist.
  • Flankensteuerung: In DigiSim.io ist das D-Flipflop positiv flankengesteuert, was bedeutet, dass es Daten an der steigenden Flanke des Taktsignals erfasst.
  • Asynchrone Steuerung: PRE- und CLR-Eingänge sind aktiv-HIGH und haben Vorrang vor den synchronen Takt- und Dateneingängen. CLR hat höhere Priorität als PRE.
  • Steuersignalpriorität: Der CLR-Eingang überschreibt immer PRE und synchronisierte Eingänge. Wenn CLR=1, wird der Ausgang auf 0 gezwungen. Wenn PRE=1 und CLR=0, wird der Ausgang auf 1 gezwungen.
  • Normaler Betrieb: Wenn sowohl PRE als auch CLR 0 (inaktiv) sind, arbeitet das Flipflop normal, indem es den D-Eingang an steigenden Taktflanken erfasst.

Implementierungsmethoden

  1. Master-Slave-Konfiguration

    • Zwei kaskadierte Latches (Master und Slave)
    • Master erfasst Daten, Slave aktualisiert Ausgang
    • Pegelgesteuert mit pulsgesteuertem Verhalten
    • Verhindert unerwünschte Rückkopplung während Taktübergängen
    • Üblich in älteren oder einfacheren Designs
    • Erfordert nichtüberlappende Taktphasen für zuverlässigen Betrieb
    • Robuster gegen Taktstörungen als einfache Latches
    • Typisch für frühe TTL-Implementierungen
  2. Flankengesteuertes Design

    • Direkte Reaktion auf Taktflanke (steigend oder fallend)
    • Verwendet interne Pulserzeugungsschaltung
    • Zuverlässiger in komplexen synchronen Systemen
    • Präzise Datenabtastung beim Taktübergang
    • Moderner Standard für die meisten digitalen Systeme
    • Komplexere interne Schaltung
    • Bessere Immunität gegen Eingangsrauschen
    • Vorherrschend in zeitgenössischen CMOS-Implementierungen
  3. CMOS-Transmission-Gate-Implementierung

    • Verwendet Transmission Gates als Schalter
    • Geringerer Stromverbrauch
    • Typischerweise flankengesteuert
    • Ausgewogene Laufzeitverzögerungen
    • Effizient in modernen CMOS-Prozessen
    • Gut geeignet für Niedrigenergie-Anwendungen
    • Gute Rauschimmunität
    • Üblich in modernen integrierten Schaltkreisen
  4. Implementierung als integrierter Schaltkreis

    • Spezielle Flipflop-ICs
    • Beispiele: 7474 (Dual D-Flipflop), 74175 (Quad D-Flipflop)
    • Verschiedene Funktionen: Clear, Preset, mehrere Einheiten pro Gehäuse
    • Erhältlich in verschiedenen Logikfamilien
    • Gut charakterisierte Timing- und Lastwerte
    • Standardschnittstellen und Pinbelegungen
    • Wird beim Breadboarding und Prototyping verwendet
    • Zuverlässiger Betrieb über spezifizierte Bedingungen
  5. FPGA-/ASIC-Implementierung

    • In FPGA-Logikzellen und ASIC-Bibliotheken integriert
    • Optimiert für Zieltechnologie
    • Kann zusätzliche Funktionen enthalten (Clock Enable usw.)
    • Nutzt dedizierte Hardwareressourcen
    • Leicht für spezialisierte Anforderungen konfigurierbar
    • Integriert mit kombinatorischer Logik
    • Moderner Ansatz für komplexe digitale Systeme
    • Timing wird sorgfältig durch Designwerkzeuge verwaltet
  6. Differenzielle Signalimplementierung

    • Verwendet differenzielle Signalisierung für Takt und manchmal Daten
    • Höhere Rauschimmunität
    • Bessere Leistung bei hohen Frequenzen
    • Üblich in Hochgeschwindigkeitsanwendungen
    • Komplexer, aber zuverlässiger
    • Wird in spezialisierten Hochleistungssystemen verwendet
    • Kann intern strommodusbasierte Logik verwenden
    • Erfordert sorgfältiges Management der Signalintegrität
  7. Niedrigenergievarianten

    • Spezialisiert auf minimalen Stromverbrauch
    • Clock-Gating-Fähigkeiten
    • Reduzierte interne Schaltaktivität
    • Power-Down- oder Retention-Modi
    • Wird in batteriebetriebenen Geräten verwendet
    • Kann Geschwindigkeit für Energieeffizienz opfern
    • Implementierung kann spezielle Power-Domains umfassen
    • Kritisch für energiebeschränkte Anwendungen

Anwendungen

  1. Datenspeicherung und Register

    • Temporäre Datenspeicherung
    • Schieberegister zur Datenbewegung
    • Parallele Datenregister
    • I/O-Port-Verriegelung
    • Parameterspeicherung
    • Konfigurationsregister
    • Status-Flags
  2. Synchronisation

    • Taktdomänen-Übergang
    • Auflösung von Metastabilität
    • Signalausrichtung
    • Datenerfassung aus asynchronen Quellen
    • Bus-Synchronisation
    • Verwaltung des Schnittstellen-Timings
    • Pulssynchronisation
  3. Zähler und Timer

    • Binärzähler zur Ereigniszählung
    • Frequenzteiler
    • Zustandssequenzer
    • Timing-Erzeugung
    • Verzögerungselemente
    • Prozesssteuerungs-Timing
    • Timeout-Überwachung
  4. Zustandsautomaten

    • Sequentielle Steuerlogik
    • Protokollimplementierung
    • Algorithmus-Sequenzierung
    • Befehlsdekodierung
    • Systemsteuerungseinheiten
    • Ereignisgesteuerte Sequenzer
    • Algorithmische Zustandsautomaten
  5. Speicherelemente

    • SRAM-Speicherzellen
    • Cache-Speicher
    • Registerdateien
    • Inhaltsadressierbarer Speicher
    • LUT-Konfiguration (Look-Up Table)
    • FIFO-Speicher (First-In-First-Out)
    • Pufferanwendungen
  6. Signalverarbeitung

    • Pipeline-Stufen
    • Digitale Filter
    • Sample-and-Hold-Schaltungen
    • Datenserialisierer/-deserialisierer
    • Frequenzsynthese
    • Digitale Modulation
    • Signalverzögerungsleitungen
  7. Schnittstelle und Kommunikation

    • Serielle Kommunikation (UART, SPI, I²C)
    • Datenframing und -ausrichtung
    • Bus-Arbitrierung
    • Handshake-Protokolle
    • Paketsynchronisation
    • Taktrückgewinnung
    • Datenpufferung

Einschränkungen

  1. Timing-Beschränkungen

    • Setup- und Haltezeitanforderungen
    • Empfindlichkeit gegenüber Taktversatz
    • Maximale Betriebsfrequenz
    • Mindestpulsbreitenanforderungen
    • Variationen der Laufzeitverzögerung
    • Metastabilität bei Timing-Verletzungen
    • Wiederherstellungs- und Entfernungszeit-Anforderungen
    • Clock-to-Output-Verzögerung beeinflusst nachgelagerte Logik
  2. Metastabilitätsprobleme

    • Mögliche metastabile Zustände bei Timing-Verletzung
    • Unvorhersehbare Auflösungszeit
    • Wahrscheinlichkeit steigt mit Taktfrequenz
    • Kritisch in asynchronen Schnittstellen
    • Erfordert Synchronisationsschaltungen
    • Kann Systemausfälle verursachen
    • Schwer zu debuggen
    • Statistischer Charakter des Auftretens
  3. Stromverbrauchsüberlegungen

    • Dynamischer Stromverbrauch steigt mit Frequenz
    • Stromspitzen während Taktübergängen
    • Always-on-Betrieb in den meisten Designs
    • Bedeutender Beitrag zum Systemstromverbrauch in großen Designs
    • Stromverbrauch des Taktverteilungsnetzwerks
    • Wärmeerzeugung bei hohen Frequenzen
    • Anforderungen an Stromintegrität
    • Power-Down-Sequenzierungsbedarf
  4. Taktverteilung

    • Taktversatz über mehrere Flipflops
    • Auswirkungen von Taktjitter
    • Fan-out-Beschränkungen
    • Anforderungen an Taktpuffer
    • Komplexität der Taktbaumsynthese
    • Verwaltung der Phasenbeziehung
    • Verwaltung der Taktdomänen
    • Herausforderungen beim Timing-Closure
  5. Physikalische Beschränkungen

    • Verbrauchte Siliziumfläche
    • Routing-Engpässe in dichten Designs
    • Temperaturempfindlichkeit
    • Spannungsempfindlichkeit
    • Alterungseffekte
    • Umweltanfälligkeit
    • Strahlungsempfindlichkeit
    • Fertigungsvariabilität

Detail der Schaltungsimplementierung

Grundlegendes D-Flipflop mit NAND-Gattern

graph LR
    InputD[D Input] --> MasterLatch[Master Latch]
    Clock[Clock] --> MasterLatch
    Clock --> Inverter[Inverter]
    Inverter --> SlaveLatch[Slave Latch]
    
    MasterLatch --> SlaveLatch
    
    SlaveLatch --> OutputQ[Q Output]
    SlaveLatch --> OutputQBar[Q̅ Output]

Funktionsweise: Master-Slave-Konfiguration. Master-Latch erfasst Daten bei Takt HIGH, Slave-Latch überträgt bei Takt LOW (flankengesteuertes Verhalten).

7474 Dual-D-Flipflop-IC

Pinbelegung:

Pin Signal Beschreibung Pin Signal Beschreibung
1 PRE1 Preset Flipflop 1 14 VCC Stromversorgung (+5 V)
2 D1 Dateneingang 1 13 PRE2 Preset Flipflop 2
3 CLK1 Takteingang 1 12 D2 Dateneingang 2
4 CLR1 Clear Flipflop 1 11 CLK2 Takteingang 2
5 Q1 Ausgang 1 10 CLR2 Clear Flipflop 2
6 Q̅1 Invertierter Ausgang 1 9 Q2 Ausgang 2
7 GND Masse (0 V) 8 Q̅2 Invertierter Ausgang 2

Funktionen: Duale, an positiver Flanke getriggerte D-Flipflops mit Preset und Clear.

Implementierung des flankengesteuerten D-Flipflops

Master-Slave-Architektur:

Das flankengesteuerte D-Flipflop verwendet eine Master-Slave-Konfiguration mit zwei Latches:

  1. Master-Latch: Aktiviert, wenn Takt HIGH ist, erfasst Eingang D
  2. Slave-Latch: Aktiviert, wenn Takt LOW ist (invertiert), überträgt den Ausgang des Masters an Q
  3. Flankensteuerung: Ausgang ändert sich nur beim Taktübergang (steigende oder fallende Flanke)
  4. Interne Rückkopplung: Kreuzgekoppelte NAND/NOR-Gatter erzeugen bistabile Speicherung

Diese Architektur stellt sicher, dass sich der Ausgang nur einmal pro Taktzyklus ändert, und bietet einen stabilen, vorhersehbaren Betrieb in synchronen digitalen Systemen.

Verwandte Komponenten

  • D-Latch: Pegelgesteuerte Version des D-Flipflops
  • JK-Flipflop: Vielseitigeres Flipflop mit Set-, Reset- und Toggle-Funktionalität
  • T-Flipflop: Toggle-Flipflop, ändert seinen Zustand bei jedem Takt, wenn aktiviert
  • SR-Flipflop: Set-Reset-Flipflop, grundlegendes bistabiles Element
  • Register: Gruppe von Flipflops zur Mehrbit-Speicherung
  • Schieberegister: Verbundene Flipflops, die Daten seriell verschieben
  • Zähler: Verbundene Flipflops mit Rückkopplung zum Zählen
  • Master-Slave-Flipflop: Zweistufiges, pulsgesteuertes Flipflop
  • Flankengesteuertes Flipflop: Reagiert nur auf Taktflanke
  • Schmitt-Trigger: Bietet saubere Übergänge für verrauschte Taktsignale

school Lernpfad

arrow_back Voraussetzungen

arrow_forward Nächste Schritte

help_outline Häufig gestellte Fragen

Was ist ein D-Flip-Flop?

Ein D-Flip-Flop erfasst den D-Eingang nur an der Taktflanke (normalerweise ansteigend) und hält diesen Wert bis zur nächsten Taktflanke. Es ist der Baustein von Registern.

Was ist Flankensteuerung?

Flankensteuerung bedeutet, dass das Flip-Flop den Eingang nur während des kurzen Moments des Taktübergangs (0 zu 1 bei positiver Flanke) abtastet, nicht während der Takt stabil HIGH oder LOW ist.

play_arrow Live-Schaltung ausführen

Weitere Komponenten ansehen