Los registros son bloques que permiten almacenar un dato y recuperarlo un tiempo después. Para diseñarlos, utilizamos un Flip-Flop D para cada bit a almacenar
Registros de Almacenamiento
Cada Flip-Flop D está conectado a una entrada externa, el Flip-Flop D guarda el valor recibido al recibir un pulso de reloj

Con cada ciclo de reloj, la entrada de 4 bits es copiada en la salida.
En un microprocesador, se usan para presentar los operadores a la unidad y para guardar los resultados de las operaciones. Son extremadamente rápidos, pero son más caros
Registros de Desplazamiento
Los registros de desplazamiento permiten multiplicar y dividir por potencias de . Además, permiten convertir una entrada en serie a una entrada en paralelo.
Cada Flip-Flop D está conectado con el siguiente, por lo que cada uno copia la entrada del Flip-Flop anterior con un pulso de reloj.
Carga de Datos en Serie

Tiene una única entrada, se debe esperar a que todos los datos estén cargados en el registro, a un pulso de reloj por vez.
Carga de Datos en Paralelo

Permite que todos los datos se carguen a la vez a partir de multiplexores, además, se puede utilizar la salida en serie para convertir una entrada de datos en paralelo a una entrada de datos en serie.
Contadores
Los contadores se pueden diseñar con distintas compuertas. Cada Flip-Flop añade un bit más que puede ser usado para contar.
Los contadores pueden ser tanto ascendentes como descendentes
Definiciones
- Módulo: Cantidad de estados del contador. Se define como , siendo la cantidad de Flip-Flops
- Código de Cuenta: Representa la combinación de bits de cada estado
- Secuencia: Secuencia de Estados
- Secuencia Cerrada: Termina el último estado y vuelve al inicial
- Secuencia Prohibida: Secuencia de estados prohibidos
Sincrónico vs. Asincrónico
El contador Sincrónico tiene cada Flip-Flop conectado con el reloj, por lo que todos los Flip-Flops cambian a la vez. El retardo es menor porque todos los Flip-Flops actúan a la vez. Además, tiene más flexibilidad, ya que puedo customizar la lógica de estados como quiera, a partir del diseño de compuertas
El contador asincrónico tiene cada la entrada de reloj de cada Flip-Flop conectada con el Flip-Flop anterior, por lo que el circuito se ejecuta en cadena. Solo puede contar en binario hasta cierto estado
Diseño
- Elijo el módulo de mi contador y el código de cuenta que necesito
- Elijo el número de Flip-Flops necesarios a partir del módulo
- Elijo el tipo de Flip-Flops que quiero usar, cada uno tiene sus ventajas dependiendo del código de cuenta
- A partir de una tabla de transiciones, diseño la lógica de cada Flip-Flop
Tabla de Transiciones
La tabla de transiciones parte de la transición de cada estado al siguiente, y a partir de ahí busca que entrada debe tener cada Flip-Flop para que se cumpla.
Luego se diseñó un circuito combinacional a partir de la función lógica de cada entrada de Flip-Flop y se diseña el circuito.