Maquinas de estado

45
Maquinas de estado

Transcript of Maquinas de estado

Page 1: Maquinas de estado

Maquinas de estado

Page 2: Maquinas de estado

Maquinas de estado

• Definición• Clasificación• Maquinas de estado síncronas– Análisis – Diseño

Page 3: Maquinas de estado

Definición

• Son ciertos circuitos secuenciales que tienen un número determinado de estados (2n).

• Pueden ser:– retroalimentados (flip flops, biestables) o– máquinas sincrónicas temporizadas cuando utilizan

las primeras para crear circuitos cuyas entradas son examinadas y cuyas salidas cambian con respecto a una señal de reloj controlada.

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

Page 4: Maquinas de estado

Estructura

Lógica de estado

siguiente

F

Memoria de estado

Entrada reloj

Lógica de salida

G

Señal de reloj

Excitación Estado presente

Salidas

Page 5: Maquinas de estado

Estructura

• Lógica de estado siguiente(F): Una función de las entradas y del estado actual.

• Memoria de estados: Es un conjunto de n flip-flops que almacenan el estado presente de la máquina, que tiene 2n estados diferentes. La señal de reloj controla el cambio de estado en tales flip flops.

• La señal de reloj: dispone el funcionamiento de los flip-flops ya sea por disparo de flanco o por disparo de pulso

• Lógica de salida(G): Una función del estado actual y/o de las entradas

Page 6: Maquinas de estado

Clasificación

• Sincrónicas vs Asincrónicas• Máquinas de Moore• Máquina de Mealy

Page 7: Maquinas de estado

Maquina de Moore• Es la máquina de estado en la cual las salidas solo

dependen del estado presente

Lógica de estado

siguiente

F

Memoria de estado

Entrada reloj

Lógica de salida

G

Señal de reloj

ExcitaciónEstado presen

te

Salidas

Page 8: Maquinas de estado

Máquina de Mealy

• Es la máquina de estado en la cuál la salida depende tanto del estado presente como de las entradas externas

Page 9: Maquinas de estado

Máquina de Mealy

Lógica de estado

siguiente

F

Memoria de estado

Entrada reloj

Lógica de salida

G

Señal de reloj

Excitación Estado presente

Salidas

Page 10: Maquinas de estado

Maquinas de estado sincrónicas

• Las que poseen entrada de reloj en la memoria de estado

Page 11: Maquinas de estado

Análisis

• Asumiendo la definición formal de máquina de Mealy:– Estado siguiente = F(estado actual, entrada)– Salida = G(estado actual, entrada)

• La primera ecuación 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 máquina la determinan las dos mismas variables.

• El propósito del análisis de los circuitos secuenciales es determinar el estado siguiente y las funciones de salida para poder predecir el comportamiento del circuito.

Page 12: Maquinas de estado

Análisis

• 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 combinación posible de estado actual y entrada.

• Diagrama de estados que presente en forma gráfica la información anterior(opcional).

Page 13: Maquinas de estado

Diseño

• Construir una tabla de estado/salida correspondiente a la descripción o especificación, mediante nombres mnemotécnicos para los estados. (Puede partirse del diagrama de estados correspondiente.

• Minimizar el número 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.

Page 14: Maquinas de estado

Diseño• Sustituir las combinaciones de variable de estado

en la tabla de estado/salida para crear una tabla de transición/salida que muestre la combinación de variable de estado siguiente y la salida para cada combinación de estado/salida

• Elegir el tipo de flip flop que hará la memoria de estado.

• Construir una tabla de excitación que muestre los valores de excitación requeridos para obtener el estado siguiente deseado para cada combinación de estado/entrada.

Page 15: Maquinas de estado

Diseño

• Derivar las ecuaciones de excitación de la tabla de excitación

• Derivar las ecuaciones de salida de la tabla de transición/salida

• Dibujar el diagrama lógico que muestre los elementos de almacenamiento de las variables de estado y realice las ecuaciones requeridas de excitación y salida.

Page 16: Maquinas de estado

Ejemplo 1

• Enunciado del problema: En una señal, detectar tres “1” seguidos

utilizando una máquina de Moore y biestables tipo D– Construir una tabla de estado/salida

correspondiente a la descripción o especificación, mediante nombres mnemotécnicos para los estados. (Puede partirse del diagrama de estados correspondiente)• Construir plantilla para la tabla de estado.

Page 17: Maquinas de estado

Tres unos seguidos

SIGNIFICADO S A Z

0 1

Estado inicial INI INI UNO 0

Page 18: Maquinas de estado

Tres Unos seguidos

SIGNIFICADO S A Z

0 1

Estado inicial INI INI UNO 0

Ha ingresado un 1 UNO INI DOS 0

Page 19: Maquinas de estado

Tres unos segudos

SIGNIFICADO S A Z

0 1

Estado inicial INI INI UNO 0

Ha ingresado un 1 UNO INI DOS 0

Han ingresado dos 1s

DOS INI TRES 0

Page 20: Maquinas de estado

Tres unos seguidos

SIGNIFICADO S A Z

0 1

Estado inicial INI INI UNO 0

Ha ingresado un 1 UNO INI DOS 0

Han ingresado dos 1s

DOS INI TRES 0

Han ingresado tres 1

TRES INI CUATRO

1

Page 21: Maquinas de estado

Tres unos seguidos

SIGNIFICADO S A Z

0 1

Estado inicial INI INI UNO 0

Ha ingresado un 1 UNO INI DOS 0

Han ingresado dos 1s

DOS INI TRES 0

Han ingresado tres 1

TRES INI CUATRO

1

Han ingresado 4 “1s”

CUATRO INI TRES 1

Page 22: Maquinas de estado

Tres unos seguidos

• Diagrama de estados

INI UNO

DOS

TRES

CUATRO

1

1

11

0

0

0

1

Page 23: Maquinas de estado

Tres Unos seguidos

– Minimizar el número de estados en la tabla de estado/salida(opcional)

SIGNIFICADO S A Z

0 1

Estado inicial INI INI UNO 0

Ha ingresado un 1 UNO INI DOS 0

Han ingresado dos 1s

DOS INI TRES 0

Han ingresado tres 1

TRES INI CUATRO

1

Han ingresado 4 “1s”

CUATRO INI TRES 1

Page 24: Maquinas de estado

Tres Unos seguidos

SIGNIFICADO S A Z

0 1

Estado inicial INI INI UNO 0

Ha ingresado un 1 UNO INI DOS 0

Han ingresado dos 1s

DOS INI TRES 0

Han ingresado tres 1

TRES INI TRES 1

Han ingresado 4 “1s”

TRES INI TRES 1

Page 25: Maquinas de estado

Tres Unos seguidos

SIGNIFICADO S A Z

0 1

Estado inicial INI INI UNO 0

Ha ingresado un 1 UNO INI DOS 0

Han ingresado dos 1s

DOS INI TRES 0

Han ingresado tres 1

TRES INI TRES 1

Page 26: Maquinas de estado

Tres Unos seguidos

INI UNO

DOS

TRES

1

1

1

0

0

0

1

Page 27: Maquinas de estado

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 número de variables de estado que cambian • maximizar el número de variables de estado que no

cambian en un grupo de estados relacionados • facilita el análisis del circuito.

Page 28: Maquinas de estado

Tres Unos seguidos

Nombre del

estado

AsignaciónEl más simple

Compuesta

Q1-Q3

Un solo uno

Q1-Q5

Casi un 1Q1-Q4

INIUNODOSTRES

00011011

00011110

0001001001001000

000001010100

Page 29: Maquinas de estado

Tres Unos seguidos

• Sustituir las combinaciones de variable de estado en la tabla de estado/salida para crear una tabla de transición/salida que muestre la combinación de variable de estado siguiente y la salida para cada combinación de estado/salida

Page 30: Maquinas de estado

Tres Unos seguidos

SIGNIFICADO S A Z

0 1

Estado inicial 00 INI UNO 0

Ha ingresado un 1 01 INI DOS 0

Han ingresado dos 1s

11 INI TRES 0

Han ingresado tres 1

10 INI TRES 1

Page 31: Maquinas de estado

Tres Unos seguidos

SIGNIFICADO S A Z

0 1

Estado inicial 00 00 01 0

Ha ingresado un 1 01 00 11 0

Han ingresado dos 1s

11 00 10 0

Han ingresado tres 1

10 00 10 1

Page 32: Maquinas de estado

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 excitación que muestre los valores de excitación requeridos para obtener el estado siguiente deseado para cada combinación de estado/entrada.

Page 33: Maquinas de estado

Tres Unos seguidos

• Resumen de tablas de excitación

Page 34: Maquinas de estado

Tres Unos seguidos

• Derivar las ecuaciones de excitación de la tabla de excitación

SIGNIFICADO S

Q2Q1

A

0Q2

*Q1*

1Q2

*Q1*

Estado inicial 00 00 01

Ha ingresado un 1 01 00 11

Han ingresado dos 1s 11 00 10

Han ingresado tres 1 10 00 10

Page 35: Maquinas de estado

Tres Unos seguidos

A’ A

D2‘D1' mo m1

D2'D1 m2 m3

D2D1 m6 m7

D2D1' m4 m5

Para Q1* = Q1A+Q2A

Page 36: Maquinas de estado

Tres Unos seguidos

• Para Q2* = Q2´A

A’ A

D2‘D1' mo m1

D2'D1 m2 m3

D2D1 m6 m7

D2D1' m4 m5

Page 37: Maquinas de estado

Tres Unos seguidos

• Derivar las ecuaciones de salida de la tabla de transición/salida

SIGNIFICADO S

Q2Q1

Z

Estado inicial 00 0

Ha ingresado un 1 01 0

Han ingresado dos 1s

11 0

Han ingresado tres 1 10 1

Z= D2D1´

Page 38: Maquinas de estado

Tres Unos seguidos

• Dibujar el diagrama lógico que muestre los elementos de almacenamiento de las variables de estado y realice las ecuaciones requeridas de excitación y salida.

Page 39: Maquinas de estado

Tres Unos seguidos

Nombre del

estado

AsignaciónEl más simple

Compuesta

Q1-Q3

Un solo uno

Q1-Q5

Casi un 1Q1-Q4

INIUNODOSTRES

00011011

00011110

0001001001001000

000001010100

• Elegir un conjunto de variables de estado y asignar combinaciones de variables de estado a cada uno de los estados.

Page 40: Maquinas de estado

Tres Unos seguidos• tabla de excitación con los valores de excitación

para obtener el estado siguiente

SIGNIFICADO S

Q2Q1

A Z

0Q2

*Q1*

1Q2

*Q1*

Estado inicial 00 00 01 0

Ha ingresado un 1 01 00 10 0

Han ingresado dos 1s

10 00 11 0

Han ingresado tres 1

11 00 11 1

Page 41: Maquinas de estado

• Derivar las ecuaciones de excitación de la tabla de excitación

SIGNIFICADO S

Q2Q1

A

0Q2

*Q1*

1Q2

*Q1*

Estado inicial 00 00 01

Ha ingresado un 1 01 00 10

Han ingresado dos 1s

10 00 11

Han ingresado tres 1

11 00 11

Page 42: Maquinas de estado

• Para Q2* = Q1A+Q2A

A’ A

Q2‘Q1' mo m1

Q2‘Q1 m2 m3

Q2Q1 m6 m7

Q2Q1' m4 m5

Page 43: Maquinas de estado

• Q1* = Q1´A+Q2A

A’ A

Q2‘Q1' mo m1

Q2‘Q1 m2 m3

Q2Q1 m6 m7

Q2Q1' m4 m5

Page 44: Maquinas de estado

Ecuación de salida

SIGNIFICADO S

Q2Q1

Z

Estado inicial 00 0

Ha ingresado un 1 01 0

Han ingresado dos 1s

10 0

Han ingresado tres 1 11 1

Z= Q2Q1

Page 45: Maquinas de estado

Diagrama