I circuiti digitali si dividono in due tipi principali: logica combinatoria e logica sequenziale. Nella logica combinatoria, l'uscita è una funzione pura dei valori attuali degli ingressi (ad esempio, un sommatore). Nella logica sequenziale, l'uscita dipende non solo dagli ingressi attuali, ma anche dalla sequenza passata di ingressi, in quanto questi circuiti hanno elementi di memoria (ad esempio, un flip-flop).
