Latch versus flip-flop: werking en keuzecriteria vergeleken
Beide slaan één bit op, maar ze worden door iets anders in beweging gebracht. Een latch is niveaugevoelig: zolang enable actief is, is hij transparant en geeft hij de ingang direct door aan de uitgang, en zodra enable inactief wordt, houdt hij de waarde vast. Een flip-flop is flankgetriggerd: hij neemt de ingang alleen op het moment van de klokflank over en negeert andere veranderingen. Een flip-flop bestaat uit twee latches die in tegenfase werken.
| Kenmerk | Latch | Flip-flop |
|---|---|---|
| Trigger | Niveaugevoelig. Werkt zolang enable actief is | Flankgetriggerd. Werkt alleen op het moment van de stijgende of dalende klokflank |
| Gedrag van de uitgang | Volgt de ingang zolang de latch transparant is en houdt daarna vast | Verandert alleen op de klokflank en is voor het overige stabiel |
| Opbouw | Eén opslagtrap | Twee latches die in tegenfase werken, in serie (master-slave) |
| Grootte en vermogen | Klein en laag vermogen | Groter. Ongeveer twee keer zoveel transistors |
| Timinganalyse | Complex. Er is time borrowing over de transparante periode | Eenvoudig. Setup- en holdtijd rond de klokflank |
| Invloed van glitches | Glitches en races komen door terwijl de latch transparant is | Wijzigingen van de ingang tussen klokflanken hebben geen invloed |
| Belangrijkste toepassingen | Snelle speciale ontwerpen die time borrowing benutten, clock-gating-cellen | Registers, tellers en toestandsmachines in synchroon ontwerp |
De getalswaarden zijn typische ordegroottes en variëren per procesgeneratie en product.