UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES
CONTADORES
Un contador es un arreglo de Flip Flopsarreglo de Flip Flops que progresa de estado en estado en respuesta a un suceso, donde un suceso puede ser un ciclo de la señal de reloj. El contador cuenta el número de sucesos.
Características
1.-Un número máximo de conteo (módulo del contador)2.-Cuenta ascendente o descendente3.-Operación síncrona o asíncrona4.-Autónomos o de autodetención
CONTADORES
CONTADORES
Otros aspectos a tener en cuenta: Líneas de control de un contador:
• Enable o habilitador: para el conteo en el valor que este.• Reset síncrono o asíncrono: lleva el conteo a cero.• Up/Down : Determina si el conteo es ascendente o
descendente.• Load síncrono o asíncrono: carga el conteo con un valor
especifico. Líneas de salida de un contador:
• Valor del contador.• Overflow o desbordamiento: indica cuando el contador
alcanza el valor máximo.
Modulo del contador
Un Flip Flop tiene 2 estados y un arreglo de n Flip Flops puede tener 2^n estados.
El número de estados que cuenta el contador antes de volver a su estado inicial se denomina módulo o mod.
CONTADORES SÍNCRONOS Y ASÍNCRONOS
Contadores Asíncronos. Todos los FFs no están controlados por la misma señal de reloj.
Contadores SíncronosTodos los FFs están controlados por la misma señal de reloj.
Contador síncrono generado a partir de un registro de desplazamiento conectado para desplazar cíclicamente
a la derecha.Después de n ciclos el contador vuelve a su estado
inicial.
Este contador es muy simple y es extremadamente
fácil, pero utiliza los Flip Flops de una forma no muy
optima.
Contador de anillo
Arreglo de n FF que permite dividir la frecuencia del reloj inicial en 2^n veces
Contador Asíncrono de módulo 2 n
Un bit cambia cuando todos los bits menos significativos a este son simultáneamente 1.
Contador síncrono de módulo 2 n
9
Procedimiento para construir un contador MOD X
1. Determinar el menor número n de FF tales que 2n >= X. Si 2n= X entonces el contador está listo.
2. Conecte una compuerta NAND a las entradas asíncronas CLR de todos los FF involucrados
3. Determine cuáles FF están en el estado ALTO en un conteo =X; luego conecte las salidas normales de estos FF a las entradas
de la compuerta NAND.
Ejemplo: Contador MOD 10 Arreglo de 4 FF con la salida del segundo y cuarto FF a la entrada de una compuerta NAND.
Contador MOD X
Contador descendente
X2X1X0
7 1116 1105 1014 1003 0112 0101 0010 000
X0 cambia en cada ciclo de relojX1 cambia cada vez que X0 pasa de bajo a altoX2 cambia cada vez que X1 pasa de bajo a alto
Para construir un contador descendente basta con Conectar la
salida negada del FFi al reloj del FFi+1 en un arreglo de FF JK
Contadores descendente
Preestablecimiento
Para poder, por ej. en un contador MOD 16, comenzar a contar desde el número 8 es posible cargar el número 8 (0100) mediante una carga paralela incial. Para esto, se usan las entradas asíncronas de los FF (preset y clear).
Cada entrada de la carga paralela se conecta a la puerta pre y clr del FF que le corresponda. Antes de llegar a dichas entradas, se conectan a una compuerta AND cuya otra entrada (para todas las compuertas AND) es una señal de habilitación de carga paralela (número a prestablecer).
UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES
Maquinas de Estados Finitos I
MAQUINA DE ESTADOS FINITOS (FSM)
La gran mayoría de algoritmos son implementados en software, esto se debe principalmente a la flexibilidad y facilidad de programación de los microprocesadores.
Algunos algoritmos no pueden implementarse solo en software. Las razones pueden variar de acuerdo a la aplicación pero frecuentemente hacen referencia a una capacidad de procesamiento que NO PUEDE obtenerse con microprocesadores
MAQUINA DE ESTADOS FINITOS (FSM)
La solución para implementar estos algoritmos es utilizar hardware.
Cuando un algoritmo se implementa en hardware, las maquinas de estado se emplean para acompañar la tarea (control).
Una maquina de estados puede ser de la complejidad que se quiera y funciona de forma similar al software.
La forma más simple de maquina de estados
es un contador.
MAQUINA DE ESTADOS FINITOS (FSM)
Una FSM descompone un algoritmo en pasos (estados).
Las transiciones entre estado pueden depender de una condición o evento, o pueden producirse en forma incondicional.
Las condiciones y eventos están asociados a las entradas del circuito.
Las maquinas de estado se representan por medio de Diagramas de Estados y Tablas de Transición de Estados.
EJERCICIO 1
Especificar en lenguaje natural el funcionamiento de de maquina una maquina expendedora de tiquetes por medio de estados …
Sencillo
Par
Multiviaje
EJERCICIO 1 – SOLUCIÓN
Paso 0 – Sistema en espera, permanece en este paso mientras el usuario no presione un botón de selección de tiquete.
Paso 1 – El sistema despliega valor de tiquete seleccionado y queda en un estado de espera a que usuario ingrese el dinero.
Paso 2 – Cuando el usuario termina de ingresar dinero, el sistema verifica que tenga la devuelta para el valor ingresado, sino la tiene devuelve el dinero ingresado por el usuario y retorna al paso 0. Si la tiene entrega el tiquete seleccionado
Paso 3 – Finalmente el sistema entrega la devuelta y agradece la compra.
Paso 4 – Regresar a estado de Espera
DIAGRAMA DE ESTADOS
El Diagrama de Estados describe el comportamiento de un circuito secuencial en forma gráfica. Una FSM siempre tendrá un diagrama de estados asociado.
Los Estados del circuito se simbolizan como círculos y se etiquetan con letras mayúsculas.
Las transiciones entre estados se representan con flechas. Estas se rotulan con las entradas y el valor de estas que produjo la transición.
Las salidas pueden aparecer ya sea en las flechas o en los círculos.
DIAGRAMA DE ESTADOS
Ejemplos de Diagramas de Estado
1 entrada
1 salida
5 estados
1 entrada
1 salida
4 estados
A(0)
B(0)
C(1)
D(0)
E(1)
1
0
0
1
0
1
0
1
A
B
CD
1/0
1/10/0
0/0
0/0
1/1
0/1
1/0
entrada/salida
DIAGRAMA DE ESTADOS
Es muy importante tener en cuenta que si se tiene una variable de entrada simple, cada estado en el diagrama debe tener dos flechas salientes, una que corresponde a la entrada en un valor ‘1’ y otra en un valor ‘0’.
Si fueran dos variables de entrada, deben salir de cada estado cuatro flechas que corresponderían a todas las posibles combinaciones entre las entradas: 00, 01, 10 y 11.
A
B
CD
01/0 11/0
10/1
00/0
10/1 01/0
11/000/0
xx/0xx/1
TABLA DE TRANSICION DE ESTADOS
La tabla de transición de estados es otra forma de representar circuitos secuenciales y FSMs. Es utilizada principalmente en el algoritmo de diseño del sistema secuencial.
ESTADO ACTUAL
ESTADO SIGUIENTE
SALIDA
0 1
A A B 0
B C D 0
C B D 1
D E D 0
E A A 1
A(0)
B(0)
C(1)
D(0)
E(1)
1
0
0
1
0
1
0
1
CIRCUITOS MOORE
Los circuitos cuyas salidas solamente son funciones del estado se denominan Circuitos Moore.
En los Circuitos Moore las salidas se introduce dentro del estado, ya que la salida depende solamente del estado.
A(0)
B(0)
C(1)
D(0)
E(1)
1
0
0
1
0
1
0
1
CIRCUITOS MEALY
Si las salidas de un circuito dependen del estado actual y de las entradas se denominan Circuitos Mealy.
Estando en un estado si preguntamos por el valor de la salida, podemos no tener respuesta hasta que no se especifique el valor de la entrada en el siguiente intervalo.
A
B
CD
1/0
1/10/0
0/0
0/0
1/1
0/1
1/0
CIRCUITOS MEALY
Tabla de transición de estados en un circuito mealy.
ESTADO ACTUAL
ESTADO SIGUIENTE
0 1
A A/0 B/0
B D/0 C/1
C B/0 A/0
D D/1 A/1
A
B
CD
1/0
1/10/0
0/0
0/0
1/1
0/1
1/0
MOORE vs. MEALY
En el sistema de Moore la independencia de las salidas de las entradas hace más fácil seguir la operación del sistema en pasos a través de sus estados y por tanto hace mucho más fácil la detección de errores.
Menos propenso a glitches en las salidas.
En forma general la versión de Mealy de un circuito secuencial será más económica en componentes físicos que la versión de Moore.
Debido a la dependencia de las salidas respecto a entradas, los circuitos Moore pueden presentar
glitches.
MOORE vs. MEALY
NOTA: Cualquier Sistema secuencial se puede implementar
con alguna de los dos tipos de circuitos moore ó mealy.
Incluso es posible hacer combinaciones de ambos tipos de circuitos en un solo diseño.
EJERCICIO 2
Dibuje el diagrama de estados y la tabla de transición de estados de un circuito secuencial el cual da una salida Z = 1 solamente cuando la entrada X es igual 1 durante 3 o más intervalos consecutivos de reloj. Utilice un circuito tipo Moore Utilice un circuito tipo Mealy
EJERCICIO 2 – SOLUCIÓN MOORE
A(0)
B(0)
C(0)
1
0
1
D(1)
1
1
ESTADO ACTUAL
ESTADO SIGUIENTE
SALIDA
0 1
A A B 0
B A C 0
C A D 0
D A D 1
0
0
0
EJERCICIO 2 – SOLUCIÓN MEALY
ESTADO ACTUAL
ESTADO SIGUIENTE
0 1
A A/0 B/0
B A/0 C/0
C A/0 C/1
A
B
C
1/0
0/0
1/0
1/1
0/0
0/0