Contadores
Contadores
Contadores
ÍNDICE
• Definición
• Descripción VHDL
• Ejercicios
DEFINICIÓN
Transiciones de Entradas
salida del flip-
Qn Qn+1 flop
J K
0 0 0 X
0 1 1 X
1 0 X 1
1 1 X 0
Utilizando la tabla de transiciones del FF-JK, se debe utilizar un mapa de Karnaugh para la
entrada J y otro para la entrada K de cada flip-flop.
Q1Q0 Q1Q0
Q2 00 01 11 10 Q2 00 01 11 10
0 0 0 1 0 0 X X X X
1 X X X X 1 0 0 1 0
J2=Q1Q0 K2=Q1Q0
Q1Q0 Q1Q0
Q2 00 01 11 10 Q2 00 01 11 10
0 0 1 X X 0 X X 1 0
1 0 1 X X 1 X X 1 0
J1=Q0 K1=Q0
Q1Q0 Q1Q0
Q2 00 01 11 10 Q2 00 01 11 10
0 1 X X 1 0 X 1 1 X
1 1 X X 1 1 X 1 1 X
J0=1 K0=1
Paso 6 – Implementación del contador.
ANÁLISIS DE UN CONTADOR
DE 3 BITS CON FLIP-
FLOPS JK.
• Paso 1. Determinar el número de estados.
En nuestro ejemplo, como tenemos 3 flip-
flops, tenemos N=3 variables de estado
Y2Y1Y0, por lo tanto, tenemos 2n=8
estados. Utilizaremos la codificación típica
binaria.
Variables de estado
Estados Y2 Y1 Y0
S0 0 0 0
S1 0 0 1
S2 0 1 0
S3 0 1 1
S4 1 0 0
S5 1 0 1
S6 1 1 0
S7 1 1 1
J1=Q0 K1=Q0
K0=1 J0=1
• Paso 3.- Realizamos una tabla en donde las filas se sitúa cada estado
descrito mediante su codificación en binario en las variables de estado, y
en cada columna cada posible combinación de valores lógicos en las
entradas del circuito. Cada casilla de la tabla se va a rellenar con el valor
de las entradas de cada flip-flop (en subcolumnas), obteniéndolas a partir
de las funciones del decodificador del siguiente estado.
Y2 Y1 Y0 J2 K2 J1 K1 J0 K0
0 0 0 0 0 0 0 1 1
0 0 1 0 0 1 1 1 1
0 1 0 0 0 0 0 1 1
0 1 1 1 1 1 1 1 1
1 0 0 0 0 0 0 1 1
1 0 1 0 0 1 1 1 1
1 1 0 0 0 0 0 1 1
1 1 1 1 1 1 1 1 1
• Paso 4.- Convertimos la tabla anterior en una nueva tabla con la
misma relación de filas-columnas, situando en cada casilla los
nuevos valores que se cargan en las variables de estado (al llegar
el flanco de reloj), obtenidos para una variable de estado yi en
función de los valores de las entradas del flip-flop i, del valor actual
de la variable yi y de la tabla de operación del flip-flop i. Realmente
se está haciendo yi+ = F(Inp, yi). Mantener las salidas como en la
tabla anterior.
• 2- Cuentas BCD
• 3- Contador de décadas
• 4- Contador ascendente/descendente
• 5- Contador en anillo
• 6- Contador Johnson
Q2 Q1 Q0 Q2 Q1 Q0
0 0 0 1 1 1
0 0 1 1 1 0
0 1 0 1 0 1
0 1 1 1 0 0
1 0 0 0 1 1
1 0 1 0 1 0
1 1 0 0 0 1
1 1 1 0 0 0
CONTADOR SÍNCRONO
ASCENDENTE/DESCENDENTE
Ascendente Descendente
Pulso de reloj Q2 Q1 Q0
(UP/DOWN=1 (UP/DOWN=0
) )
0 0 0 0
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1
CONTADOR DE DÉCADAS