1. Latches und Flip-Flops
Ein Latch ist ein pegelgesteuertes Speicherelement: Solange das Taktsignal (bzw. ein Enable-Signal) aktiv ist, folgt der Ausgang unmittelbar dem Eingang (transparenter Zustand); wechselt das Taktsignal in den inaktiven Zustand, wird der zuletzt anliegende Wert eingefroren. Ein einfaches D-Latch lässt sich aus zwei rückgekoppelten Invertern aufbauen, deren Rückkopplungspfad über ein Transmission Gate geschlossen und geöffnet wird; in modernen Standardzellenbibliotheken benötigt ein solches Latch typischerweise 6 bis 8 Transistoren.
Ein Flip-Flop dagegen ist flankengesteuert: Der gespeicherte Wert ändert sich nur zum Zeitpunkt der steigenden oder fallenden Taktflanke. Das gebräuchlichste CMOS-Flip-Flop ist das Master-Slave-Flip-Flop, bei dem zwei gegenphasig getaktete Latches hintereinandergeschaltet werden – das Master-Latch übernimmt den Eingang, während der Takt low ist, das Slave-Latch übernimmt den Wert des Master-Latch bei steigender Flanke und hält ihn während der restlichen Taktperiode. Durch diese Kaskadierung ist zu jedem Zeitpunkt höchstens eines der beiden Latches transparent, wodurch ein direktes Durchschalten von Eingang zu Ausgang innerhalb einer Taktperiode verhindert wird. Ein solches Master-Slave-Flip-Flop besteht typischerweise aus rund 20 bis 24 Transistoren; moderne Prozessor-Dies enthalten mehrere hundert Millionen bis über eine Milliarde solcher Flip-Flops.