next up previous contents
Next: Contador binario síncrono ascendente/descendente Up: Contadores Previous: Contador BCD asíncrono ascendente

Contador binario síncrono ascendente

En un contador síncrono, todos los flip-flops se disparan simultáneamente. Esto permite utilizar una frecuencia de reloj en general más elevada que en el caso de los contadores asíncronos, debido a que el mínimo periodo de reloj se limita al tiempo necesario para calcular el siguiente estado utilizando muy pocos niveles de puertas.

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.


  
Figure 3.5: Esquema de un contador binario síncrono de 4 bits.
\begin{figure}\centering
\epsfig{file=Contadores/esquema_contador_binario_sincrono.eps,width=10cm}\end{figure}


  
Figure 3.6: Cronograma real de un contador binario síncrono de 4 bits.
\begin{figure}\centering
\epsfig{file=Contadores/contador_binario_sincrono.out.eps,width=12cm}\end{figure}

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 $0111\cdots1_2$ 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 $111\cdots 1_2$. 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 $t_{d_{gate}}\times (n-2)$ 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:

 \begin{displaymath}f_{max}=\frac{1}{t_{p_{FF}}+\times t_{p_{gate}}\times(n-2)}.
\end{displaymath} (3.2)


next up previous contents
Next: Contador binario síncrono ascendente/descendente Up: Contadores Previous: Contador BCD asíncrono ascendente

1999-05-21