Maquinas de Estado
Maquinas de Estado
Maquinas de Estado
MAQUINA DE ESTADOS FINITOS (FSM) La gran mayora de algoritmos son implementados en software, esto se debe principalmente a la flexibilidad y facilidad de programacin de los microprocesadores. Algunos algoritmos no pueden implementarse solo en software. Las razones pueden variar de acuerdo a la aplicacin pero frecuentemente hacen referencia a una capacidad de procesamiento que NO PUEDE obtenerse con microprocesadores
MAQUINA DE ESTADOS FINITOS (FSM) La solucin para implementar estos algoritmos es utilizar hardware. Cuando un algoritmo se implementa en hardware, las maquinas de estado se emplean para acompaar la tarea (control). Una maquina de estados puede ser de la complejidad que se quiera y funciona de forma similar al software. La forma ms 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 condicin o evento, o pueden producirse en forma incondicional. Las condiciones y eventos estn asociados a las entradas del circuito. Las maquinas de estado se representan por medio de Diagramas de Estados y Tablas de Transicin de Estados.
EJERCICIO 1 Especificar en lenguaje natural el funcionamiento de de maquina una maquina expendedora de tiquetes por medio de estados
EJERCICIO 1 SOLUCIN
Paso 0 Sistema en espera, permanece en este paso mientras el usuario no presione un botn de seleccin 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 grfica. Una FSM siempre tendr un diagrama de estados asociado. Los Estados del circuito se simbolizan como crculos y se etiquetan con letras maysculas. Las transiciones entre estados se representan con flechas. Estas se rotulan con las entradas y el valor de estas que produjo la transicin. Las salidas pueden aparecer ya sea en las flechas o en los crculos.
A
(0)
0/0
1 entrada 1 salida
A
1/0 1/1 0 0/0 1/0
4 estados
B
(0)
E
(1)
0 1
1
1/1
C
(1)
0/0
D D
(0)
C
0/1
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 corresponderan a todas las posibles combinaciones entre las entradas: 00, 01, 10 y 11.
00/0 xx/1 01/0 xx/0
A
10/1
11/0 01/0
10/1
D
11/0 00/0
C B
ESTADO ACTUAL
ESTADO SIGUIENTE 0 1 B D D D A
SALIDA
B
(0)
E
(1)
A C B E A
0 0 1 0 1
0 1
B C D E
C
(1)
D
(0)
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.
0
A
(0)
B
(0)
E
(1)
0 1
C
(1)
D
(0)
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.
0/0
A
1/0 1/1 1/0
0/0
1/1
0/0
D
0/1
A
ESTADO ACTUAL ESTADO SIGUIENTE 0 1 B/0
A/0
0/0
D/0
B/0 D/1
C/1
A/0 A/1
1/1
C D
0/0
D
0/1
EJERCICIO 2 Dibuje el diagrama de estados y la tabla de transicin de estados de un circuito secuencial el cual da una salida Z = 1 solamente cuando la entrada X es igual 1 durante 3 o ms intervalos consecutivos de reloj.
Utilice un circuito tipo Moore Utilice un circuito tipo Mealy
A
(0)
0 0
ESTADO ACTUAL
ESTADO SIGUIENTE 0 1
SALIDA
B
(0)
A
B
A
A A A
B
C D D
0
0 0 1
C D
C
(0)
D
(1)
A
1/0 0/0
ESTADO ACTUAL ESTADO SIGUIENTE 0 1
0/0
B
1/0
A
B C
A/0
A/0 A/0
B/0
C/0 C/1
1/1