Вы находитесь на странице: 1из 61

MAQUINAS DE ESTADO

Maquinas de estado
Definicin Clasificacin Maquinas de estado sncronas
Anlisis Diseo

Definicin
Las mquinas de estado son circuitos secuenciales que se encuentran constituidos por una etapa combinacional y una etapa de memoria, relacionadas de tal forma que conforman un sistema secuencial para algn propsito especial. Los registros y contadores con entradas asincrnicas son ejemplos de este tipo de sistemas secuenciales.

Definicin
Son ciertos circuitos secuenciales que tienen un nmero determinado de estados (2n). Pueden ser:
retroalimentados (flip flops, biestables) o mquinas sincrnicas temporizadas cuando utilizan las primeras para crear circuitos cuyas entradas son examinadas y cuyas salidas cambian con respecto a una seal de reloj controlada.

En cualquier caso, se tienen unas entradas, unas salidas y unos estados.

Definicin

Si la mquina se encuentra en el estado q1q0=00 y la entrada es x=1, entonces en el siguiente "pulso de reloj" la mquina pasar al estado q1q0=01. Pero si la entrada es x=0 cuando la mquina se encuentra en el estado , entonces en el siguiente "pulso de reloj" pasar al estado q1q0=10.

Definicin
Maquinas de estado finito Una maquina de estado finito M = (S, I,O, f , g, s0) consiste en: 1. 2. 3. 4. Un conjunto finito de estados S. Un alfabeto de entrada finito I. Un alfabeto de salida finito O. Una funcin de transicin f que asigna a cada pareja de estado y entrada, un nuevo estado. 5. Una funcin de salida g que asigna a cada pareja de estado y entrada, una salida. 6. Un estado inicial s0.

Estructura
Lgica de estado siguiente Memoria de estado Lgica de salida G
Salida s

Excitacin

F
Entrada reloj

Estado presen te

Seal de reloj

Estructura
Lgica de estado siguiente(F): Una funcin de las entradas y del estado actual. Memoria de estados: Es un conjunto de n flip-flops que almacenan el estado presente de la mquina, que tiene 2n estados diferentes. La seal de reloj controla el cambio de estado en tales flip flops. La seal de reloj: dispone el funcionamiento de los flip-flops ya sea por disparo de flanco o por disparo de pulso Lgica de salida(G): Una funcin del estado actual y/o de las entradas

Clasificacin
Sincrnicas vs Asincrnicas Mquinas de Moore
llamada as en honor del Profesor Edward F. Moore (1925-2003) quien propuso este modelo matemtico para el estudio de mquinas secuenciales

Mquina de Mealy
Llamada asi en honor a G.H. Mealy quien las estudios en 1955 y en estas las salidas corresponden a transiciones entre estados

Maquina de Moore
Es la mquina de estado en la cual las salidas solo dependen del estado presente

Maquina de Moore
La notacin utilizada dentro de cada crculo tiene una forma como 10/11, en donde la primera palabra binaria (10) nos indica el estado de la mquina y la segunda palabra binaria (11) nos indica la salida de la mquina que denominaremos z.

q1q0=00 dando una salida de z1z0=01

q1q0=01 dando una salida de z1z0=11


q1q0=10 dando una salida de z1z0=11

Mquina de Mealy
Es la mquina de estado en la cul la salida depende tanto del estado presente como de las entradas externas
La mquina Mealy se distingue por ser una mquina en la cual si la mquina est en cierto estado, entonces al aplicarle cierta entrada transicionar a otro estado produciendo cierta salida como consecuencia de la transicin

Mquina de Mealy

Mquina de Mealy
La notacin utilizada en los vrtices tiene una forma como 1/0, en donde la primera palabra binaria (1) nos indica la entrada dada a la mquina y la segunda palabra binaria (0) nos indica la salida producida al llevarse a cabo la transicin de un estado al siguiente

Si la mquina se encuentra en el estado q1q0=00, entonces de acuerdo con la notacin en el vrtice, 1/1, si se le aplica a la mquina una entrada de 1 entonces en el siguiente "pulso de reloj" transicionar al estado q1q0=01 produciendo una salida de 1.

Ejemplo Maquina de Estado

Ejemplo Maquina de Estado


Estado Actual AB 00 01 10 11 Estado Siguiente X=0 AB 00 00 00 00 X=1 AB 01 11 10 10 Y 0 1 1 1 Salida X=0 Y 0 0 0 0 X=1

Ejemplo Maquina de Estado


Estados actuales Entrada Estados siguientes Salida

A 0
0 0 0 1 1 1 1

B 0
0 1 1 0 0 1 1

X 0
1 0 1 0 1 0 1

A 0
0 0 1 0 1 0 1

B 0
1 0 1 0 0 0 0

Y 0
0 0 1 0 1 0 1

Ejemplo Maquina de Estado


A = DA = AX + BX B = DB= AX

La salida Y:
Y = (A + B)X

Anlisis
Asumiendo la definicin formal de mquina de Mealy:
Estado siguiente = F(estado actual, entrada) Salida = G(estado actual, entrada)

La primera ecuacin dice que el estado siguiente estar determinado por la entrada presente y el estado presente del circuito. La segunda precisa que la salida de la mquina la determinan las dos mismas variables. El propsito del anlisis de los circuitos secuenciales es determinar el estado siguiente y las funciones de salida para poder predecir el comportamiento del circuito.

Anlisis
Determinar el estado siguiente y las funciones de salida F y G. Usar F y G para construir una tabla de estados/salidas que especifique por completo el estado siguiente y la salida del circuito para cada combinacin posible de estado actual y entrada. Diagrama de estados que presente en forma grfica la informacin anterior(opcional).

Diseo
Construir una tabla de estado/salida correspondiente a la descripcin o especificacin, mediante nombres mnemotcnicos para los estados. (Puede partirse del diagrama de estados correspondiente. Minimizar el nmero de estados en la tabla de estado/salida(opcional) Elegir un conjunto de variables de estado y asignar combinaciones de variables de estado a cada uno de los estados.

Diseo
Sustituir las combinaciones de variable de estado en la tabla de estado/salida para crear una tabla de transicin/salida que muestre la combinacin de variable de estado siguiente y la salida para cada combinacin de estado/salida Elegir el tipo de flip flop que har la memoria de estado. Construir una tabla de excitacin que muestre los valores de excitacin requeridos para obtener el estado siguiente deseado para cada combinacin de estado/entrada.

Diseo
Derivar las ecuaciones de excitacin de la tabla de excitacin Derivar las ecuaciones de salida de la tabla de transicin/salida Dibujar el diagrama lgico que muestre los elementos de almacenamiento de las variables de estado y realice las ecuaciones requeridas de excitacin y salida.

Ejemplo 1
Enunciado del problema: En una seal, detectar tres 1 seguidos utilizando una mquina de Moore y biestables tipo D
Construir una tabla de estado/salida correspondiente a la descripcin o especificacin, mediante nombres mnemotcnicos para los estados. (Puede partirse del diagrama de estados correspondiente)
Construir plantilla para la tabla de estado.

Tres unos seguidos


SIGNIFICADO S
0

A
1

Estado inicial

INI

INI

UNO

Tres Unos seguidos


SIGNIFICADO S
0

A
1

Estado inicial Ha ingresado un 1

INI UNO

INI INI

UNO DOS

0 0

Tres unos segudos


SIGNIFICADO S
0

A
1

Estado inicial Ha ingresado un 1 Han ingresado dos 1s

INI UNO DOS

INI INI INI

UNO DOS TRES

0 0 0

Tres unos seguidos


SIGNIFICADO S
0

A
1

Estado inicial Ha ingresado un 1 Han ingresado dos 1s Han ingresado tres 1

INI UNO DOS TRES

INI INI INI INI

UNO DOS TRES CUATR O

0 0 0 1

Tres unos seguidos


SIGNIFICADO S
0

A
1

Estado inicial Ha ingresado un 1

INI UNO

INI INI

UNO DOS

0 0

Han ingresado dos 1s Han ingresado tres 1 Han ingresado 4 1s

DOS
TRES CUATRO

INI
INI INI

TRES
CUATR O TRES

0
1 1

Tres unos seguidos


Diagrama de estados
1 INI 0 0 1
CUATR O

UNO 1 0

DOS
TRES

Tres Unos seguidos


Minimizar el nmero de estados en la tabla de estado/salida(opcional)
SIGNIFICADO S
0

A
1

Estado inicial Ha ingresado un 1 Han ingresado dos 1s Han ingresado tres 1 Han ingresado 4 1s

INI UNO DOS TRES CUATRO

INI INI INI INI INI

UNO DOS TRES CUATR O TRES

0 0 0 1 1

Tres Unos seguidos


SIGNIFICADO S
0

A
1

Estado inicial Ha ingresado un 1 Han ingresado dos 1s Han ingresado tres 1 Han ingresado 4 1s

INI UNO DOS TRES TRES

INI INI INI INI INI

UNO DOS TRES TRES TRES

0 0 0 1 1

Tres Unos seguidos


SIGNIFICADO S
0

A
1

Estado inicial Ha ingresado un 1 Han ingresado dos 1s Han ingresado tres 1

INI UNO DOS TRES

INI INI INI INI

UNO DOS TRES TRES

0 0 0 1

Tres Unos seguidos


1

INI 0
0

UNO 1
0

DOS

1 TRES

Tres Unos seguidos


Elegir un conjunto de variables de estado y asignar combinaciones de variables de estado a cada uno de los estados.
Estado inicial solo 000 o solo 111 (estados repetitivos) minimizar el nmero de variables de estado que cambian maximizar el nmero de variables de estado que no cambian en un grupo de estados relacionados facilita el anlisis del circuito.

Tres Unos seguidos


Nombre del estado INI UNO DOS TRES Asignacin Compues Un solo Casi un 1 ta uno Q1-Q4 Q1-Q3 Q1-Q5 00 0001 000 01 0010 001 11 0100 010 10 1000 100

El ms simple 00 01 10 11

Tres Unos seguidos


Sustituir las combinaciones de variable de estado en la tabla de estado/salida para crear una tabla de transicin/salida que muestre la combinacin de variable de estado siguiente y la salida para cada combinacin de estado/salida

Tres Unos seguidos


SIGNIFICADO S
0

A
1

Estado inicial Ha ingresado un 1 Han ingresado dos 1s Han ingresado tres 1

00 01 11 10

INI INI INI INI

UNO DOS TRES TRES

0 0 0 1

Tres Unos seguidos


SIGNIFICADO S
0

A
1

Estado inicial Ha ingresado un 1 Han ingresado dos 1s Han ingresado tres 1

00 01 11 10

00 00 00 00

01 11 10 10

0 0 0 1

Tres Unos seguidos


Elegir el tipo de flip flop que har la memoria de estado.
Para este caso es D por solicitud del ejercicio

Construir una tabla de excitacin que muestre los valores de excitacin requeridos para obtener el estado siguiente deseado para cada combinacin de estado/entrada.

Tres Unos seguidos


Resumen de tablas de excitacin

Tres Unos seguidos


Derivar las ecuaciones de excitacin de la tabla de excitacin
SIGNIFICADO S Q2Q1
0

A
1

Q2*Q1*

Q2*Q1*

Estado inicial Ha ingresado un 1

00 01

00 00

01 11

Han ingresado dos 1s


Han ingresado tres 1

11
10

00
00

10
10

Tres Unos seguidos


Para D1 = Q1A+Q2A
A A

Para D2 = Q2A
A Q2Q1' mo Q2'Q1 m2 Q2Q1 m6 Q2Q1' m4 A m1 m3 m7 m5

Q2Q1' mo
Q2Q1 m2

m1
m3

Q2Q1 m6
Q2Q1' m4

m7
m5

Tres Unos seguidos


Derivar las ecuaciones de salida de la tabla de transicin/salida
SIGNIFICADO S
Q2Q1 00

Estado inicial

Ha ingresado un 1
Han ingresado dos 1s Han ingresado tres 1

01
11 10

0
0 1

Z= Q2Q1

Tres Unos seguidos


Dibujar el diagrama lgico que muestre los elementos de almacenamiento de las variables de estado y realice las ecuaciones requeridas de excitacin y salida.

Tres Unos seguidos


Elegir un conjunto de variables de estado y asignar combinaciones de variables de estado a cada uno de los estados. Nombre del estado INI UNO DOS TRES Asignacin Compues Un solo Casi un 1 ta uno Q1-Q4 Q1-Q3 Q1-Q5 00 0001 000 01 0010 001 11 0100 010 10 1000 100

El ms simple
00 01 10 11

Tres Unos seguidos


tabla de excitacin con los valores de excitacin para obtener el estado siguiente
SIGNIFICADO S Q2Q1 Estado inicial Ha ingresado un 1 Han ingresado dos 1s Han ingresado tres 1 00 01 10 11
0 Q2*Q1*

A
1 Q2*Q1*

00 00 00 00

01 10 11 11

0 0 0 1

Tres Unos seguidos


Derivar las ecuaciones de excitacin de la tabla de excitacin
SIGNIFICADO S A
0 Q2*Q1* 1 Q2*Q1*

Q2Q1
Estado inicial Ha ingresado un 1 Han ingresado dos 1s Han ingresado tres 1 00 01 10 11

00 00 00 00

01 10 11 11

Tres Unos seguidos


Para D2 = Q1A+Q2A
A Q2Q1' mo Q2Q1 m2 A m1 m3

D1 = Q1A+Q2A
A Q2Q1' mo Q2Q1 m2 Q2Q1 m6 Q2Q1' m4 A m1 m3 m7 m5

Q2Q1 m6
Q2Q1' m4

m7
m5

Ecuacin de salida
Z= Q2Q1
SIGNIFICADO S Q2Q1 00 01 10 11 Z

Estado inicial Ha ingresado un 1 Han ingresado dos 1s Han ingresado tres 1

0 0 0 1

Diagrama

Ejemplo 1

Ejemplo 2

Ejemplo 2

CLK

10

11

12

13

14

15

16

17

18

19

X Z

0 0 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0

EJEMPLO: MQUINA EXPENDEDORA DE CHICLE La mquina entrega un paquete de chicles despus de depositar $150. La mquina solo posee una ranura para insertar las monedas ($100, $50) No hay cambio o devolucin
Sensor
Monedas C
T

Expendedora Mquina

Abrir

Reset Clk

Mecanismo para liberar el producto

56

DIAGRAMA DE ESTADOS: MQUINA EXPENDEDORA


Tabular secuencias tpicas de entrada: Tres de cincuenta Cincuenta y cien Cien y cincuenta Cien y cien 2 de cincuenta y una de 100

Entradas: T(50), C(100), reset

Salida: Abrir
57

REDUCCIN DE ESTADOS

58

CODIFICACIN DE ESTADOS

59

IMPLEMENTACIN MQUINA EXPENDEDORA


Q1 Q0 00 CT 00 01 11 C 10 Q1 01 11 10 Q1 Q0 00 CT 00 T C 10 01 11 Q1 01 11 10 Q1 Q0 00 CT 00 T C 10 01 11 Q1 01 11 10

0 0 X 1

0 1 X 1

1 1 X 1
Q0

1 1 X 1

0 1 X 0

1 0 X 1

1 1 X 1
Q0

0 1 X 1

0 0 X 0

0 0 X 0

1 1 X 1
Q0

0 0 X 0
T

D1 = Q1 + C + Q 0T D0 = T Q 0 + Q 0T + Q1C + Q1T A BR IR = Q1Q 0


60

Вам также может понравиться