Los circuitos digitales se dividen en dos grandes categorías: lógica combinacional y lógica secuencial. En la lógica combinacional, la salida es una función pura de los valores de entrada actuales (por ejemplo, un sumador). En la lógica secuencial, la salida no sólo depende de las entradas actuales, sino también de la secuencia pasada de entradas, ya que estos circuitos tienen elementos de memoria (por ejemplo, un flip-flop).
