In elettronica digitale, il flip-flop è uno dei più importanti circuiti logici sequenziali sincroni. Costituisce una delle possibili implementazioni della cella di memoria elementare, ed è un elemento essenziale alla realizzazione di tutte le reti logiche sequenziali. È importante non confondere il flip-flop con il latch: un circuito asincrono con la stessa funzione.[1]
Il nome deriva dal rumore che facevano i primi circuiti elettronici di questo tipo, costruiti con dei relè che realizzavano il cambiamento di stato.
Per definizione il flip-flop rientra nella categoria dei multivibratori bistabili: è cioè un dispositivo caratterizzato da esattamente due stati stabili tra i quali può transire a comando.
Questo lo rende adatto come cella di memoria, in quanto l'insieme delle configurazioni di output codifica esattamente 1 bit di informazione.[1][2]
Diversamente dal latch, il flip-flop è un dispositivo sensibile unicamente allo stato del segnale di sincronizzazione, in particolare durante le sue fasi transitorie.
In generale questo vuol dire che una transizione dello stato di uscita può essere innescata solamente mentre il segnale si trova a sua volta in uno stato di transizione.
Questa caratteristica risulta altamente desiderabile poiché, previa accurata temporizzazione del circuito, consente di ignorare tutta una serie di stati indesiderati in cui potrebbero venirsi a trovare il resto degli ingressi durante la normale operazione.
Questo rende i flip-flop un'alternativa quasi universalmente preferibile ai latch.[3]
Oltre che come memoria il flip-flop trova applicazione come meccanismo per la mitigazione delle alee nelle reti logiche multi-stadio e come dispositivo anti-rimbalzo nei circuiti che comprendono componenti elettromeccanici come pulsanti, interruttori e commutatori.