Maquinas de Estado Finito

19

Transcript of Maquinas de Estado Finito

Page 1: Maquinas de Estado Finito
Page 2: Maquinas de Estado Finito

CIRCUITOCOMBINACIONAL

MEMORIA

ET

QT-ΔT QT

ST=f(ET,QT-ΔT)

Almacena el estado interno del sistema

DISEÑO DE SISTEMAS SECUENCIALES:

1.- Identificar los distintos estados internos y las transiciones entre ellos

2.- Diseñar el circuito combinacional para producir las transiciones internas y las señales de salida deseadas

Page 3: Maquinas de Estado Finito

Modelo matemático que define el funcionamiento de un sistema (máquina) secuencial síncrono

Máquina (autómata) de estados finitos

Elementos de una máquina de estados finitos:

E entradasS salidasQ estados funciones de salidaδ funciones de transición entre estados

Page 4: Maquinas de Estado Finito

Autómata de Moore

δ MEM

ET

QT

QT ST

CLK

QT+ΔT

ST = (QT)QT+ΔT = δ(ET, QT)

la salida solo depende de las variables de estado

LA SALIDA SÓLO CAMBIA EN LOS FLANCOS ACTIVOS DE LA SEÑAL DE

RELOJFunción de salida más sencilla

Page 5: Maquinas de Estado Finito

δ

MEM

ET

QT

QT

ST

CLK

QT+ΔT

ST = (ET, QT)QT+ΔT = δ(ET, QT)

Autómata de Mealy

la salida depende tanto de las variables de estado como de las señales de entrada

LA SALIDA PUEDE CAMBIAR EN EL INSTANTE EN QUE CAMBIEN LAS ENTRADAS,

INDEPENDIENTEMENTE DE LA SEÑAL DE RELOJ

Menos estados; menos circuitos de memoria

Page 6: Maquinas de Estado Finito

Descripción de sistemas: diagramas de estado

Cada estado se representa por un círculo

Cada transición se representa por flechas entre los estados:

Moore: la salida está definida únicamente por el estadoMealy: la salida está definida por el estado y las entradas

B/S2

E

A/S1 B

E/S

A

Transición entre el estado A y el B para un autómata de Moore

Transición entre el estado A y el B para un autómata de Mealy

Page 7: Maquinas de Estado Finito

Ejemplo: Análisis de un sistema secuencial (I)

S

CLK

E

Q1

Q1

J1

K1

Q2

Q2

J2

K2

2T1T QQE(t)S(t)

Función de salida:

Funciones de transición:

2T1TTT QQEJ1

TT EJ2 TT EK1

2TT QK2

Page 8: Maquinas de Estado Finito

Ejemplo: Análisis de un sistema secuencial (II)

Tabla de funcionamiento (tabla de verdad):

E Q1T Q2T J 1 K1 J 2 K2 Q1T+ΔT Q2T+ΔT ST

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

Page 9: Maquinas de Estado Finito

Ejemplo: Análisis de un sistema secuencial (III)

Tabla de transiciones:

estado en el instante

T

estado en el instante

T+ΔT/salida

Page 10: Maquinas de Estado Finito

Ejemplo: Análisis de un sistema secuencial (IV)

Tabla de estados: “Bautizamos” cada combinación de variables de estado

B

0/0A

D

C

1/0

X/0

0/0

1/1

0/01/0

Diagrama de estados:

entradasalida

estado

Page 11: Maquinas de Estado Finito

Diseño de un sistema secuencial

• Descripción del funcionamiento del sistema

• Tabla y diagrama de estados

• Minimización de estados

• Moore: mismas salidas y mismo estado

• Mealy: mismo estado

• Asignación de variables de estado

• Tabla de transiciones

• Tabla de excitación (tabla de verdad)

• Moore: una para las variables de estado y otra para las salidas

• Mealy: única

Page 12: Maquinas de Estado Finito

Diseño de un sistema secuencial: Ejemplo (I)

Se tiene una confluencia de dos vías férreas con el mismo sentido de circulación. Cada vía está dotada de un dispositivo que detecta si hay un vehículo en ella ( A y B) y de un semáforo (LA y LB), ambos a cierta distancia del punto de unión.

Cuando llega un vehículo a cualquiera de los detectores A o B debe activarse la luz de detención de la otra vía, LB o LA respectivamente, con el fin de detener a cualquier vehículo que llegue por esa vía hasta que el primero haya abandonado su detector.

• Descripción del funcionamiento del sistema:

A LA

LBB

Vía A

Vía B

Page 13: Maquinas de Estado Finito

• Diagrama y tabla de estados (Mealy)

Diseño de un sistema secuencial: Ejemplo (II)

1: Ningún vehículo2: Llega vehículo por B3: Llega vehículo por A4: Entró vehículo por A y llega por B5: Entró vehículo por B y llega por A

21

3

10/01

4

5

11/0100/00

10/01

01/10

00/0001/10

11/10

00/0001/10

11/10

11/01

10/01

En la máquina de estados de Mealy, las salidas cambian cuando lo hacen las entradas

Page 14: Maquinas de Estado Finito

• Diagrama y tabla de estados (Moore)

Diseño de un sistema secuencial: Ejemplo (III)

En la máquina de estados de Moore, las salidas sólo dependen de las variables de estado

1: Ningún vehículo2: Llega vehículo por B3: Llega vehículo por A4: Entró vehículo por A y llega por B5: Entró vehículo por B y llega por A

2/101/00

3/01

10

4/10

5/01

1100

10

01

0001

11

0001

11

11

10

Page 15: Maquinas de Estado Finito

Diseño de un sistema secuencial: Ejemplo (IV)

• Minimización de estados

Se pueden fusionar líneas de la tabla de estado que tengan los mismos números (estado) en las columnas y que tengan las mismas salidas (Moore) o distintas (Mealy)

Por Moore podemos fusionar los estados 2/4 y el 3/5

Por Mealy podemos fusionar los estados 1/2/4 y el 3/5

Asignamos la salida correspondiente al estado estable

Page 16: Maquinas de Estado Finito

• Asignación de variables de estado

Codificamos cada estado con las variables de estado necesarias para asignar un código diferente a cada estado.

Diseño de un sistema secuencial: Ejemplo (V)

Por Moore tenemos que diferenciar tres estados: necesitamos dos variables de estado.

Podemos asignar valores de las variables de estado con cualquier criterio. Aquí hemos hecho coincidir estos valores con las salidas

Por Mealy tenemos que diferenciar dos estados: necesitamos una variable de estado.

Page 17: Maquinas de Estado Finito

• Tabla de transiciones:

Diseño de un sistema secuencial: Ejemplo (VI)

Moore

Mealy

En la tabla de estados simplificada sustituimos cada estado por el valor de las variables de estado que le hemos asignado en la codificación

Valor de las variables de estado en el instante T

Valor de las variables de estado en el instante T+Δt para una entrada determinada

Page 18: Maquinas de Estado Finito

• Tabla de excitación (tabla de verdad)

Diseño de un sistema secuencial: Ejemplo (VII)

Por Moore tenemos dos tablas de verdad, una para las salidas en función exclusivamente de las variables de estado y otra para las variables de estado en función del estado anterior y de las entradas

Page 19: Maquinas de Estado Finito

• Tabla de excitación (tabla de verdad)

Diseño de un sistema secuencial: Ejemplo (VIII)

Por Mealy tenemos una única tabla de verdad