D-Latch
Überblick
- Zweck: Das D-Latch (Daten-Latch) ist eine pegelgesteuerte Speicherschaltung, die ein einzelnes Informationsbit speichert. Es verbessert das SR-Latch, indem es einen einzelnen Dateneingang (D) verwendet, um ungültige Zustände zu eliminieren, während ein Enable-Eingang steuert, wann das Latch neue Daten akzeptiert.
- Symbol: Das D-Latch wird durch einen Rechteckblock mit Eingängen für D (Daten) und EN (Enable) sowie komplementären Ausgängen Q und Q̅ dargestellt.
- Rolle in DigiSim.io: Dient als grundlegender Baustein für die Speicherung in digitalen Schaltungen, ermöglicht temporäres Halten von Daten und demonstriert pegelgesteuertes Verhalten im Gegensatz zu flankengesteuertem Betrieb.

Funktionale Beschreibung
Logikverhalten
Das D-Latch ist transparent, wenn es aktiviert ist, und gibt den D-Eingangswert an den Q-Ausgang weiter. Wenn es deaktiviert ist, behält (verriegelt) es seinen letzten Zustand unabhängig von Änderungen am D-Eingang bei.
Wahrheitstabelle:
| Enable (EN) | Daten (D) | Q (nächster) | Operation |
|---|---|---|---|
| 0 | X | Q (vorher) | Zustand halten |
| 1 | 0 | 0 | Reset (Lade 0) |
| 1 | 1 | 1 | Set (Lade 1) |
Hinweis: X bezeichnet eine „Don't-care"-Bedingung, „vorher" bedeutet vorheriger Zustand
Eingänge und Ausgänge
Eingänge:
- D (Daten): 1-Bit-Eingang, der den zu speichernden Wert liefert, wenn das Latch aktiviert ist.
- EN (Enable): 1-Bit-Steuereingang, der bestimmt, wann das Latch transparent (EN=1) oder haltend (EN=0) ist.
Ausgänge:
- Q: 1-Bit-Ausgang, der den gespeicherten Wert darstellt.
- Q̅: 1-Bit-Komplementärausgang, der die Inverse des gespeicherten Werts darstellt.
Konfigurierbare Parameter
- Aktiver Pegel: Ob der Enable-Eingang aktiv-HIGH oder aktiv-LOW ist.
- Laufzeitverzögerung: Die Zeit, bis sich Ausgänge nach Eingangs- oder Enable-Änderungen ändern.
Visuelle Darstellung in DigiSim.io
Das D-Latch wird als Rechteckblock mit beschrifteten Eingängen auf der linken Seite (D und EN) und Ausgängen (Q und Q̅) auf der rechten Seite angezeigt. Wenn die Komponente in einer Schaltung verbunden ist, zeigt sie ihren aktuellen Zustand visuell durch die an ihren Ausgängen angezeigten Werte und Farbänderungen auf den verbindenden Leitungen an. Das transparente oder haltende Verhalten wird ebenfalls visuell angezeigt, wenn der Enable-Eingang seinen Zustand ändert.
Pädagogischer Wert
Schlüsselkonzepte
- Pegelsensitivität: Demonstriert, wie Schaltungen auf Signalpegel statt auf Flanken reagieren.
- Transparenz und Verriegelung: Veranschaulicht die Konzepte des transparenten (Pass-Through-) und Speicher-(Halte-)Modus.
- Speicherung: Zeigt, wie digitale Schaltungen Informationen vorübergehend speichern können.
- Signal-Timing: Führt die Bedeutung von Setup- und Haltezeiten in digitalen Speicherelementen ein.
- Datensynchronisierung: Demonstriert, wie Daten zu bestimmten Zeiten zur Synchronisation erfasst werden können.
Lernziele
- Den Unterschied zwischen pegelgesteuerten Latches und flankengesteuerten Flipflops verstehen.
- Lernen, wie der Enable-Eingang steuert, wann Daten erfasst oder gehalten werden.
- Die Timing-Überlegungen für eine zuverlässige Datenerfassung in Latches erkennen.
- D-Latches in der Entwicklung einfacher Speicherschaltungen und Datenhalteregister anwenden.
- Begreifen, wie Latches in zweiphasigen Taktschemata und transparenten Registern verwendet werden können.
Anwendungsbeispiele/Szenarien
- Datenregister: Temporäre Speicherung von Mehrbit-Datenwerten, wenn Enable aktiviert ist.
- Eingabeerfassung: Abtasten von Eingangsdaten zu bestimmten Zeiten durch Steuerung des Enable-Signals.
- Bus-Schnittstellen: Stabiles Halten von Adress- oder Datenwerten während Bustransfers.
- Zweiphasige Taktung: Erstellung von Pipeline-Stufen in alternierenden Latch-Systemen.
- Time Borrowing: Ermöglicht die Erweiterung von Operationen über Taktgrenzen hinweg in Pipeline-Systemen.
- Pegelsensitives Scan-Design: Unterstützung von Schaltungstests durch Erstellung steuerbarer Scan-Ketten.
Technische Hinweise
- Im Gegensatz zu flankengesteuerten Flipflops sind D-Latches transparent, wann immer der Enable-Eingang aktiv ist, was die Timing-Steuerung kritischer macht.
- Mehrere Übergänge am D-Eingang, während Enable aktiv ist, verursachen mehrere Übergänge am Ausgang, was in bestimmten Designs zu Race Conditions führen kann.
- Das „Transparenzfenster" eines Latches kann für Time Borrowing in Pipeline-Designs vorteilhaft sein, erfordert jedoch sorgfältige Timing-Analyse.
- D-Latches benötigen typischerweise weniger Logik als flankengesteuerte Flipflops und bieten möglicherweise schnelleren Betrieb, allerdings mit mehr Timing-Beschränkungen.
- In DigiSim.io demonstriert das D-Latch deutlich den Unterschied zwischen pegelgesteuertem und flankengesteuertem Verhalten, ein wichtiges Konzept im Digitaldesign.
Eigenschaften
- Speichereigenschaft:
- Speichert den Wert am D-Eingang, wenn Enable von HIGH auf LOW wechselt
- Transparent, wenn Enable HIGH ist (pegelgesteuert)
- Laufzeitverzögerung:
- Daten-zu-Q-Verzögerung (wenn aktiviert): Typisch 5–15 ns (technologieabhängig)
- Enable-zu-Ausgangs-Verzögerung: Typisch 5–15 ns (technologieabhängig)
- Setup- und Haltezeiten:
- Setup-Zeit: Zeit, in der D vor dem Übergang von Enable auf LOW stabil sein muss
- Haltezeit: Zeit, in der D nach dem Übergang von Enable auf LOW stabil sein muss
- Stromverbrauch:
- Statisch: Niedrig (hauptsächlich Leckstrom)
- Dynamisch: Mäßig während Zustandsänderungen
- Fan-out:
- Typisch 10–50 Gatter (technologieabhängig)
- Schaltungskomplexität:
- Mittel (erfordert ein SR-Latch plus Eingangs-Gating-Logik)
- Geschwindigkeit:
- Schneller als flankengesteuerte Flipflops, erfordert aber längere Setup- und Haltezeiten
- Rauschabstand:
- Mäßig (abhängig von der Gattertechnologie)
- Betriebsmodi:
- Transparenter Modus (wenn Enable HIGH ist)
- Speichermodus (wenn Enable LOW ist)
Implementierungsmethoden
- Mit einem SR-Latch und Eingangs-Gating
graph TB
D[D Input] --> AND1[AND Gate]
EN[Enable] --> AND1
EN --> AND2[AND Gate]
D --> NOT[NOT Gate]
NOT --> AND2
AND1 -->|S| SR[SR Latch]
AND2 -->|R| SR
SR --> Q[Q Output]
SR --> QB[Q̅ Output]
Funktionsweise: Wenn Enable=1, gelangt D zu Set (wenn D=1) oder Reset (wenn D=0). Wenn Enable=0, hält das Latch seinen Zustand.
- Mit NAND-Gattern
graph TB
D[D Input] --> NAND1[NAND Gate]
EN[Enable] --> NAND1
EN --> NAND2[NAND Gate]
D --> NOT[NOT Gate]
NOT --> NAND2
NAND1 --> NAND3[NAND Latch]
NAND2 --> NAND4[NAND Latch]
NAND3 --> Q[Q Output]
NAND3 --> NAND4
NAND4 --> QB[Q̅ Output]
NAND4 --> NAND3
Funktionsweise: NAND-basierte Implementierung mit kreuzgekoppelter Rückkopplung für die Speicherung.
Implementierung auf Transistorebene
- CMOS: Mit Transmission Gates und Invertern
- TTL: Mit Bipolartransistoren
- Kann auf Stromverbrauch, Geschwindigkeit oder Fläche optimiert werden
Integrierte Schaltkreise
- Erhältlich in 74xx-Logikfamilien (z. B. 74HC75, 74LS373)
- Häufig als Quad- oder Octal-Latches in einem einzigen Gehäuse organisiert
Anwendungen
Datenspeicherung
- Temporäre Speicherregister in Datenpfaden
- I/O-Port-Latches in Mikroprozessoren
- Adresslatches in Speichersystemen
Datensynchronisierung
- Stabiles Halten von Daten zwischen asynchronen Domänen
- Eingabeerfassung in Datenerfassungssystemen
Level-Sensitive Scan Design (LSSD)
- Design für Testbarkeit in digitalen Systemen
- Scan-Ketten zur Fehlererkennung
Pipeline-Register
- Transparente Latches in zweiphasigen Taktsystemen
- Time Borrowing über Pipeline-Stufen hinweg
Datendemultiplexing
- Halten von demultiplexten Daten in Zeitmultiplexsystemen
- Sample-and-Hold-Schaltungen in digitalen Systemen
Bus-Schnittstellenschaltungen
- Datenbus-Latches
- Adresslatches in Speicherschnittstellen
Einschränkungen
Transparenzfenster
- Anfällig für mehrere Übergänge während der Enable-HIGH-Periode
- Kann kurze Pulse nicht zuverlässig erfassen
Pegelsensitivität
- Änderungen am Eingang während der Enable-HIGH-Periode gelangen zum Ausgang
- Möglichkeit unerwünschter Rückkopplung und Oszillation
Timing-Beschränkungen
- Setup- und Haltezeitanforderungen können anspruchsvoll sein
- Risiko von Metastabilität, wenn Daten nahe am Enable-Übergang wechseln
Empfindlichkeit gegenüber Taktversatz
- In Mehrfach-Latch-Systemen kann Enable-Versatz Race Conditions verursachen
- Schwieriger zu verwalten in komplexen Systemen als flankengesteuerte Schaltungen
Begrenzter Schutz vor Rauschen
- Datenglitches während der Enable-HIGH-Periode propagieren zum Ausgang
- Anfälliger für Rauschen als flankengesteuerte Flipflops
Detail der Schaltungsimplementierung
D-Latch aus SR-Latch
Das D-Latch kann aus einem SR-Latch aufgebaut werden, indem sichergestellt wird, dass die S- und R-Eingänge nie gleichzeitig HIGH sind:
S = D · EN
R = (¬D) · EN
Wenn EN HIGH ist, ist entweder S oder R HIGH (aber nie beide), abhängig von D. Wenn EN LOW ist, sind sowohl S als auch R LOW, und das SR-Latch befindet sich im Haltezustand.
Verhalten des gegatterten D-Latches
Wenn EN = 0:
- Sowohl S- als auch R-Eingang des internen SR-Latches sind 0
- Das Latch behält seinen vorherigen Zustand bei
Wenn EN = 1:
- Wenn D = 1: S = 1, R = 0, und das Latch setzt Q auf 1
- Wenn D = 0: S = 0, R = 1, und das Latch setzt Q auf 0 zurück
- Der Ausgang folgt dem D-Eingang (transparenter Modus)
Verwandte Komponenten
- SR-Latch: Das grundlegende Latch, auf dem das D-Latch aufbaut
- D-Flipflop: Flankengesteuerte Version des D-Latches für synchrone Systeme
- JK-Flipflop: Vielseitigeres Flipflop mit Set-, Reset- und Toggle-Fähigkeiten
- T-Flipflop: Toggle-Flipflop, das seinen Zustand bei Taktflanken ändert
- Transparentes Latch: Eine andere Bezeichnung für das D-Latch, die sein Verhalten betont
- Register: Mehrere Latches, organisiert zur Speicherung von Mehrbitwerten
- Master-Slave-Flipflop: Zwei Latches in Serie, die flankengesteuertes Verhalten erzeugen