El flip-flop más conveniente para construir contadores síncronos sigue siendo el flip-flop JK con sus entradas cortocircuitadas (configurado como un flip-flop T). Un contador binario síncrono de 1 bit es idéntico a uno asíncrono, pero el de 2 bits es diferente. Llamemos Q0 a la salida del flip-flop que almacena el LSb y Q1 al que almacena el MSb. El contador síncrono se construye sabiendo que cuando Q0=1, Q1 debe bascular. Si tenemos un contador con 3 flip-flops, la basculación de Q2 debe producirse si Q0=Q1=1 y así sucesivamente.
La figura 3.5 presenta el esquema lógico de un contador binario síncrono ascendente de 4 bits y la figura 3.6 su cronograma. Hay un aspecto interesante de la implementación anterior que conviene resaltar y se refiere al tamaño de las puertas AND que aparecen asociadas a cada etapa del contador. El sistema empleado calcula la AND de todos los bits anteriores mediante una serie de puertas AND de dos entradas colocadas en cascada. La otra alternativa es utilizar puertas AND con un número creciente de entradas conforme vamos añadiendo flip-flops al contador. De esta forma, un contador de n bits necesitaría una puerta AND de dos entradas, otra de tres, ... y finalmente una puerta con n-1 entradas. Esto puede suponer un engorro en implementaciones que no dispongan de tal abanico de puertas y además, aunque a priori es más rápida la versión que utiliza sólo un nivel del puertas AND para calcular el estado siguiente, también suele ocurrir que una puerta AND de dos entradas es más rápida que otra con más entradas. Por estas razones, es más corriente encontrar la versión expuesta en la figura.
Para finalizar, calculemos cual es la máxima frecuencia de reloj a la que podemos trabajar. Concretamente, imaginemos que el contador está en el estado
donde el LSb es el primer cero. Este provoca que a la salida de todas las puertas AND tengamos un cero. Con la siguiente transición negativa de reloj, Q0=1 y el estado del contador es
.
La primera puerta AND en generar un 1 a la salida es la que proporciona la entrada el FF2. A continuación, a la salida de la segunda puerta AND tendremos un 1 y así secuencialmente hasta llegar a la puerta AND que excita el flip-flop más significativo. Por tanto, si
tdgate es el tiempo de retardo asociado a una puerta AND, ya que existen n-2 puertas AND, el 1 en la salida de la puerta AND asociada al bit más significativo tarda en generarse
unidades de tiempo. A este tiempo hay que sumar el tiempo que transcurrió desde que se produjo la transición negativa de reloj hasta que el FF0 basculó, es decir
tdFF unidades de tiempo. Por tanto, el mínimo periodo de reloj permitido es dicha suma y la frecuencia máxima a la que es posible contar es: