Ein Latch (engl. für Schnappschloss, Auffangregister), oder auch als zustandsgesteuertes Flipflop bezeichnet, ist eine bestimmte Ausführung eines elektronischen 1-Bit-Datenspeichers und bildet(e) die Grundlage für weite Bereiche der Digital-Hardware, insbesondere innerhalb CPU- und Peripherie-Chips.
Ein Latch hat neben dem Dateneingang mindestens einen zweiten Eingang (oft Enable genannt), der die Betriebsart steuert: In der transparenten Phase folgt der Ausgang des Latches unmittelbar dem Dateneingang; in der Halte-Phase wird der letzte Zustand davor eingefroren. Zusätzlich zu diesem Steuereingang kann es je nach Ausführung weitere geben, z. B. einen Reset-Eingang, der bei mehreren Latches in einem Chip gern global für alle diese Einzellatches wirkt.
Im Gegensatz zu taktflankengesteuerten Flipflops ist ein Latch während der gesamten aktiven Taktphase transparent, d. h. Eingangsänderungen können den Ausgang sofort beeinflussen.
In positiver Logik ist die folgende Wahrheitstabelle typisch (D ist dabei der Daten-Eingang, G der Enable-Eingang, L und H sind die beiden Logik-Pegel, X ist ein beliebiger Logikpegel und Qo der letzte D-Pegel vor G=L):
Eingänge | Ausgang D G | Q ---------+-------- L H | L H H | H X L | Qo
Latches werden manchmal auch „Latch-Register“ genannt, sind aber keine Register im eigentlichen Sinne, die im Allgemeinen als flankengesteuerte Flipflops definiert werden.
In der TTL-Reihe von Logikchips gibt es u. a. die Latches 7475, 74100, 74116, 74375. Darüber hinaus gibt es noch erweiterte Varianten mit mehr Eingängen, s. o.
In der heutigen Mikroelektronik, die fast ausschließlich flankengesteuert arbeitet, verlieren Latches stetig an Bedeutung. IBM entwickelt allerdings immer noch die meisten Schaltungen mit Latches als Grundelement.
Zur weiteren Verwandtschaft gehört in der Analogtechnik die Abtast-Halte-Schaltung (Sample & Hold).
Wenn man den Begriff als Verb latchen verwendet, meint man damit oft ein Fehlverhalten einer digitalen Hardwareschaltung: Sie bleibt in einem bestimmten Zustand stecken („dieser Zustand wird gelatcht“), obwohl die Eingangssignale eigentlich eine Änderung des Ausgangszustands erfordern. Ursache für solches Festhängen kann Überlastung einzelner Schaltungsteile sein, eine Race Condition oder auch thermischer Einfluss.