SlideShare una empresa de Scribd logo
1 de 17
Descargar para leer sin conexión
F.S.M. Máquinas de Estado Finitas Julio de 2014
Ing. Marcelo Casasnovas Centro C.U.D.A.R.
CENTRO UNIVERSITARIO DE DESARROLLO DE AUTOMATIZACIÓN Y ROBÓTICA 1
+
Máquinas de Estado Finitas
Las máquinas de estado pueden ser:
SÍNCRONAS: Necesitan de la intervención de un pulso de reloj. Si la entrada participa
también en la salida se denomina Máquina de estado de Mealy, y si no participa se
denomina de Moore.
ASÍNCRONAS: No necesitan de la intervención de un pulso de reloj. Estos circuitos
evolucionan cuando cambian las entradas.
Una máquina de estado finita o FSM representa un sistema como un conjunto de
estados, transiciones entre estos estados, que dependen de las entradas,
conjuntamente con las salidas y las entradas asociadas.
De modo tal que una máquina de estado es una representación, de un circuito
secuencial particular.
Cualquier circuito con memoria puede ser considerado como una FSM. Aún una
computadora puede ser considerada como una gran FSM.
El diseño de una FSM involucra lo siguiente:
• Definición de estados.
• Definición de transición entre estados (dependientes de las entradas de la
máquina).
• Optimización/minimización.
Definición de términos
Diagrama de estado: ilustra la forma y funcionamiento de la máquina de estado.
Usualmente se dibuja como un diagrama de burbujas y flechas.
Estado: un conjunto identificable y único de valores medidos en diversos puntos de
un sistema digital.
Ramificación: El cambio del estado presente al estado siguiente.
Estado siguiente: es el estado hacia el cual la máquina de estado realiza la siguiente
transición, determinada por las entradas presentes cuando el dispositivo es
secuenciado por un clock.
Máquina de Moore: es una máquina de estado que determina sus salidas solamente
dependiendo de los estados presentes de la máquina.
Máquina de Mealy: es una máquina de estado que determina sus salidas
dependiendo de los estados presentes de la máquina y de las entradas.
F.S.M. Máquinas de Estado Finitas Julio de 2014
Ing. Marcelo Casasnovas Centro C.U.D.A.R.
CENTRO UNIVERSITARIO DE DESARROLLO DE AUTOMATIZACIÓN Y ROBÓTICA 2
Estado presente y estado siguiente:
Para un estado determinado existe un número finito de posibles estados siguientes.
Para cada ciclo de reloj la máquina de estado se ramifica al estado siguiente. Uno de
los posibles estados siguientes se convierte en el nuevo estado presente.
Dependiendo de las entradas presentes en el ciclo de reloj.
Diagrama 1
En un diagrama correcto, todas las posibles transiciones serán visibles incluyendo
lazos realimentados en el mismo estado. En el diagrama 1 se puede deducir que si el
estado presente es el Estado 2, el estado previo es el Estado 1 o el Estado 2 y el
próximo estado debe ser 2, 3 o 4.
Máquinas de Moore y Mealy
Ambos tipos de máquinas siguen las características de las máquinas de estado pero
difieren en la forma en que las salidas son producidas.
Máquina de Moore:
Las salidas son independientes de las entradas. Las salidas se producen
efectivamente desde dentro del estado de la máquina. Se define como maquina tipo
Moore si sus salidas solo dependen del estado de la máquina.
Máquina de Mealy: las salidas pueden ser determinadas por el estado presente
solamente, o por el estado presente y las entradas presentes, es decir las salidas se
producen dependiendo de cómo la máquina realiza una transición de un estado a
otro.
Estado 2
Estado 1
Estado 3 Estado 4
F.S.M. Máquinas de Estado Finitas Julio de 2014
Ing. Marcelo Casasnovas Centro C.U.D.A.R.
CENTRO UNIVERSITARIO DE DESARROLLO DE AUTOMATIZACIÓN Y ROBÓTICA 3
MODELO DE MÁQUINAS
Diagrama de Flujo
Máquina de Moore Máquina de Mealy
Máquina de estado de Moore
Diagrama general
Entradas
Lógica
combinacional
Para determinar
estado
Estado presente
Banco de registro
Lógica
combinacional
Para determinar la
salida basada en el
estado presente
Salidas
Entradas
Lógica
combinacional
Para determinar
estado
Estado presente
Banco de registro
Lógica
combinacional
Para determinar la
salida basada en el
estado presente y
las entradas
presentes
Salidas
F.S.M. Máquinas de Estado Finitas Julio de 2014
Ing. Marcelo Casasnovas Centro C.U.D.A.R.
CENTRO UNIVERSITARIO DE DESARROLLO DE AUTOMATIZACIÓN Y ROBÓTICA 4
Diagrama a nivel Flip Flop y compuertas
Máquina de estado de Mealy
Diagrama general
Diagrama a nivel Flip Flop y compuertas
F.S.M. Máquinas de Estado Finitas Julio de 2014
Ing. Marcelo Casasnovas Centro C.U.D.A.R.
CENTRO UNIVERSITARIO DE DESARROLLO DE AUTOMATIZACIÓN Y ROBÓTICA 5
Diagrama de Máquina de estado de Moore
Condición de salida
que resulta de estar Condición de entrada
en un estado presente que debe existir con el
en particular fin de que se ejecuten
esas transiciones desde
el Estado 1
La salida en una Máquina de estado de Moore se muestra dentro de la burbuja de
estado, debido a que la salida se mantiene igual, mientras la máquina se mantenga
en ese estado. La salida puede ser arbitrariamente compleja pero debe ser la misma
cada vez que la máquina entra a ese estado.
Estado 1
q, r
Estado 2
x, y
a, b
i, j
Estado 1
Salida 1
Estado 2
Salida 2
Transición
Condición 1
Transición
Condición 2
F.S.M. Máquinas de Estado Finitas Julio de 2014
Ing. Marcelo Casasnovas Centro C.U.D.A.R.
CENTRO UNIVERSITARIO DE DESARROLLO DE AUTOMATIZACIÓN Y ROBÓTICA 6
Diagrama de Máquina de estado de Mealy
Condición de salida Condición de entrada
que resulta de estar que debe existir para
en un estado presente ejecutar estas
en particular transiciones desde el
Estado 1
La máquina de Mealy genera las salidas basada en:
• El estado presente.
• Las entradas a la máquina.
De modo de ser capaz de generar diversos patrones diferentes de señales de salida
para el mismo estado, dependiendo de las entradas presentes en el ciclo de reloj.
Las salidas son mostradas sobre las transiciones del momento que están
determinadas de la misma manera que el estado siguiente.
Estado 1
Estado 2
a, b
q,r
i, j
x,y
Estado 1 Estado 2
Transición Condición 1 /
Salida 1
Transición Condición 2 /
Salida 2
F.S.M. Máquinas de Estado Finitas Julio de 2014
Ing. Marcelo Casasnovas Centro C.U.D.A.R.
CENTRO UNIVERSITARIO DE DESARROLLO DE AUTOMATIZACIÓN Y ROBÓTICA 7
Diferencias entre Mealy y Moore
Las FSM Mealy y Moore pueden ser funcionalmente equivalentes.
Las FSM Mealy tienen una mejor descripción y usualmente requieren de un número
menor de estados y menor área de circuito.
Mealy calcula las salidas tan pronto como se produce un cambio en las entradas.
Mealy responde un ciclo de reloj antes que el equivalente Moore.
Las FSM Moore no posee un camino de lógica combinacional entre entradas y
salidas.
Ejemplo de FSM Moore
Detección de la secuencia 10.
Reset
Significado de los estados:
S0: No se encuentra ningún elemento de la secuencia.
S1: aparece un “1”.
S2 Se detecta la secuencia “10”.
Ejemplo de FSM Mealy
Detección de la secuencia 10.
S0/0 S1 / 0 S2 / 1
0
0
0
1
1
1
S0 S1
0 / 0 1 / 0 1 / 0
Reset
0 / 1
F.S.M. Máquinas de Estado Finitas Julio de 2014
Ing. Marcelo Casasnovas Centro C.U.D.A.R.
CENTRO UNIVERSITARIO DE DESARROLLO DE AUTOMATIZACIÓN Y ROBÓTICA 8
Significado de los estados:
S0: No se encuentra ningún elemento de la secuencia.
S1 Se detecta la secuencia “10”.
Diagrama de tiempos del ejemplo 1
Ejemplo de máquina expendedora de gaseosa
• Toma solamente monedas de 25 centavos y $1.
• No retiene más de $1.
• La gaseosa cuesta $0.75.
• Posibles acciones(entradas):
- Depositar $0.25 (25)
- Depositar $1 ($).
- Presionar el botón para pedir gaseosa (gaseosa).
- Presionar el botón para pedir devolución del dinero (vuelto).
• Estado: descripción del seteo interno de la máquina, por ej. cuánto dinero ha
sido depositado y no gastado.
• Estados finitos: 0, 25, 50, 75, 100.
• Reglas: determinar cuántas entradas pueden cambiar el estado.
F.S.M. Máquinas de Estado Finitas Julio de 2014
Ing. Marcelo Casasnovas Centro C.U.D.A.R.
CENTRO UNIVERSITARIO DE DESARROLLO DE AUTOMATIZACIÓN Y ROBÓTICA 9
F.S.M. Máquinas de Estado Finitas Julio de 2014
Ing. Marcelo Casasnovas Centro C.U.D.A.R.
CENTRO UNIVERSITARIO DE DESARROLLO DE AUTOMATIZACIÓN Y ROBÓTICA 10
MÁQUINAS DE ESTADO EN VHDL
Como se explicó anteriormente existen dos tipos:
• Moore.
• Mealy.
FSM Moore:
• La salida depende solamente del estado actual.
• Las salidas asociadas con cada estado, son establecidas en la transición del
clock.
FSM Mealy:
• La salida depende de las entradas y del estado actual.
• Las salidas son establecidas durante las transiciones.
F.S.M. Máquinas de Estado Finitas Julio de 2014
Ing. Marcelo Casasnovas Centro C.U.D.A.R.
CENTRO UNIVERSITARIO DE DESARROLLO DE AUTOMATIZACIÓN Y ROBÓTICA 11
Código VHDL para una FSM
• Una FSM puede ser fácilmente descripta por medio del PROCESS.
• Las herramientas de síntesis interpretan una la descripción de unas FSM si
se siguen ciertas reglas:
- Las transiciones de estados deben ser descriptas en un PROCESS sensible
solamente a las señales de CLOCK y RESET asíncrono.
- Las salidas descriptas como sentencias concurrentes fuera del PROCESS.
FSM Moore reconocimiento de secuencia 10
S0/ 0 S1 / 0 S2/1
0 0
0
1
1
1
type state is (S0, S1, S2);
signal Moore_state: state;
U_Moore: process(clock, reset)
Begin
if(reset = ‘1’) then
Moore_state <= S0;
elsif (clock = ‘1’ and clock’event) then
case Moore_state is
when S0 =>
if input = ‘1’ then Moore_state <= S1; end if;
when S1 =>
if input = ‘0’ then Moore_state <= S2; end if;
when S2 =>
if input = ‘0’ then Moore_state <= S0;
else Moore_state <= S1; end if;
end case;
end if;
End process;
Output <= ‘1’ when Moore_state = S2 else ‘0’;
F.S.M. Máquinas de Estado Finitas Julio de 2014
Ing. Marcelo Casasnovas Centro C.U.D.A.R.
CENTRO UNIVERSITARIO DE DESARROLLO DE AUTOMATIZACIÓN Y ROBÓTICA 12
FSM Mealy reconocimiento de secuencia 10
S0 S1
0 / 0 1 / 0
1 / 0
0 / 1
reset
type state is (S0, S1);
signal Mealy_state: state;
U_Mealy: process(clock, reset)
Begin
if(reset = ‘1’) then
Mealy_state <= S0;
elsif (clock = ‘1’ and clock’event) then
case Mealy_state is
when S0 =>
if input = ‘1’ then Mealy_state <= S1; end if;
when S1 =>
if input = ‘0’ then Mealy_state <= S0; end if;
end case;
end if;
End process;
Output <= ‘1’ when (Mealy_state = S1 and input = ‘0’) else ‘0’;
F.S.M. Máquinas de Estado Finitas Julio de 2014
Ing. Marcelo Casasnovas Centro C.U.D.A.R.
CENTRO UNIVERSITARIO DE DESARROLLO DE AUTOMATIZACIÓN Y ROBÓTICA 13
Ejemplo 2 FSM Moore:
C z 1
=
⁄
Reset
B z 0
=
⁄
A z 0
=
⁄
w 0
=
w 1
=
w 1
=
w 0
=
w 0
= w 1
=
Present Next state Output
state w =0 w =1 z
A A B 0
B A C 0
C A C 1
F.S.M. Máquinas de Estado Finitas Julio de 2014
Ing. Marcelo Casasnovas Centro C.U.D.A.R.
CENTRO UNIVERSITARIO DE DESARROLLO DE AUTOMATIZACIÓN Y ROBÓTICA 14
Código VHDL
USE ieee.std_logic_1164.all;
ENTITY simple IS
PORT ( Clock, Resetn, w : IN STD_LOGIC ;
z: OUT STD_LOGIC ) ;
END simple;
ARCHITECTURE Behavior OF simple IS
TYPE State_type IS (A, B, C) ;
SIGNAL y: State_type;
BEGIN
PROCESS (Resetn, Clock)
BEGIN
IF Resetn = '0' THEN
y <= A;
ELSIF (Clock'EVENT AND Clock = '1') THEN
CASE y IS
WHEN A =>
IF w = '0' THEN
y <= A;
ELSE
y <= B;
END IF;
WHEN B =>
IF w = '0' THEN
y <= A;
ELSE
y <= C;
END IF;
WHEN C =>
IF w = '0' THEN
y <= A;
ELSE
y <= C;
END IF;
END CASE;
END IF;
END PROCESS;
z <= '1' WHEN y = C ELSE '0';
END Behavior;
F.S.M. Máquinas de Estado Finitas Julio de 2014
Ing. Marcelo Casasnovas Centro C.U.D.A.R.
CENTRO UNIVERSITARIO DE DESARROLLO DE AUTOMATIZACIÓN Y ROBÓTICA 15
Código alternativo
ARCHITECTURE Behavior OF simple IS
TYPE State_type IS (A, B, C);
SIGNAL y_present, y_next: State_type;
BEGIN
PROCESS (w, y_present)
BEGIN
CASE y_present IS
WHEN A =>
IF w = '0' THEN
y_next <= A;
ELSE
y_next <= B;
END IF;
WHEN B =>
IF w = '0' THEN
y_next <= A;
ELSE
y_next <= C;
END IF;
WHEN C =>
IF w = '0' THEN
y_next <= A;
ELSE
y_next <= C;
END IF;
END CASE;
END PROCESS;
PROCESS (Clock, Resetn)
BEGIN
IF Resetn = '0' THEN
y_present <= A;
ELSIF (Clock'EVENT AND Clock = '1') THEN
y_present <= y_next;
END IF;
END PROCESS;
z <= '1' WHEN y_present = C ELSE '0';
END Behavior;
F.S.M. Máquinas de Estado Finitas Julio de 2014
Ing. Marcelo Casasnovas Centro C.U.D.A.R.
CENTRO UNIVERSITARIO DE DESARROLLO DE AUTOMATIZACIÓN Y ROBÓTICA 16
Ejemplo 2 FSM Mealy
A
w 0
= z 0
=
⁄
w 1
= z 1
=
⁄
B
w 0
= z 0
=
⁄
Res
w 1
= z 0
=
⁄
Present
Next state Output z
state
w = 0 w = 1 w = 0 w = 1
A A B 0 0
B A B 0 1
F.S.M. Máquinas de Estado Finitas Julio de 2014
Ing. Marcelo Casasnovas Centro C.U.D.A.R.
CENTRO UNIVERSITARIO DE DESARROLLO DE AUTOMATIZACIÓN Y ROBÓTICA 17
Código VHDL
LIBRARY ieee;
USE ieee.std_logic_1164.all;
ENTITY mealy IS
PORT (Clock, Resetn, w: IN STD_LOGIC;
z: OUT STD_LOGIC) ;
END mealy;
ARCHITECTURE Behavior OF mealy IS
TYPE State_type IS (A, B);
SIGNAL y: State_type;
BEGIN
PROCESS (Resetn, Clock)
BEGIN
IF Resetn = '0' THEN
y <= A;
ELSIF (Clock'EVENT AND Clock = '1') THEN
CASE y IS
WHEN A =>
IF w = '0' THEN y <= A;
ELSE y <= B;
END IF;
WHEN B =>
IF w = '0' THEN y <= A;
ELSE y <= B;
END IF;
END CASE;
END IF;
END PROCESS;
with y select
z <= w when B,
z <= ‘0’ when others;
END Behavior;

Más contenido relacionado

Similar a Electrónica digital: Maquinas de estado

Circuito secuencial sincronico sd ii
Circuito secuencial sincronico sd iiCircuito secuencial sincronico sd ii
Circuito secuencial sincronico sd iiVelmuz Buzz
 
Electrónica digital: Maquina de estados finitos I
Electrónica digital: Maquina de estados finitos I Electrónica digital: Maquina de estados finitos I
Electrónica digital: Maquina de estados finitos I SANTIAGO PABLO ALBERTO
 
Electrónica digital: Análisis de diseño de circuitos secuenciales
Electrónica digital: Análisis de diseño de circuitos secuenciales Electrónica digital: Análisis de diseño de circuitos secuenciales
Electrónica digital: Análisis de diseño de circuitos secuenciales SANTIAGO PABLO ALBERTO
 
Apuntes circuitos secuenciales
Apuntes circuitos secuencialesApuntes circuitos secuenciales
Apuntes circuitos secuencialeskgconchis
 
Taller 4 josue stanley lazo rivera
Taller 4 josue stanley lazo riveraTaller 4 josue stanley lazo rivera
Taller 4 josue stanley lazo rivera1000028858888
 
Maquinas de estado con VHDL - electronica digital - circuitos secuenciales
Maquinas de estado con VHDL - electronica digital  - circuitos secuencialesMaquinas de estado con VHDL - electronica digital  - circuitos secuenciales
Maquinas de estado con VHDL - electronica digital - circuitos secuencialesJulioCesar858585
 
Electrónica digital: tema IV maquinas de estado finito
Electrónica digital: tema IV maquinas de estado finitoElectrónica digital: tema IV maquinas de estado finito
Electrónica digital: tema IV maquinas de estado finitoSANTIAGO PABLO ALBERTO
 
Electrónica digital: Maquinas de estado finito en VHDL
Electrónica digital: Maquinas de estado finito en VHDLElectrónica digital: Maquinas de estado finito en VHDL
Electrónica digital: Maquinas de estado finito en VHDLSANTIAGO PABLO ALBERTO
 
Circuitos secuenciales
Circuitos secuencialesCircuitos secuenciales
Circuitos secuencialesjuan130591
 
Electrónica digital: Maquina de estado finitas (FSM´s)
Electrónica digital: Maquina de estado finitas (FSM´s)Electrónica digital: Maquina de estado finitas (FSM´s)
Electrónica digital: Maquina de estado finitas (FSM´s)SANTIAGO PABLO ALBERTO
 
Preinforme control motores AC
Preinforme control motores ACPreinforme control motores AC
Preinforme control motores ACLautaro Narvaez
 
Electrónica digital: Análisis de síntesis de circuitos secuenciales
Electrónica digital: Análisis de síntesis de circuitos secuencialesElectrónica digital: Análisis de síntesis de circuitos secuenciales
Electrónica digital: Análisis de síntesis de circuitos secuencialesSANTIAGO PABLO ALBERTO
 
automatas finitos
 automatas finitos automatas finitos
automatas finitosAnel Sosa
 
Presentacion 2 - Maquinas de Estado Finito
Presentacion 2 - Maquinas de Estado FinitoPresentacion 2 - Maquinas de Estado Finito
Presentacion 2 - Maquinas de Estado Finitojunito86
 
Contador de 0 a 7 flip flop tipo D
Contador de 0 a 7 flip flop tipo DContador de 0 a 7 flip flop tipo D
Contador de 0 a 7 flip flop tipo DCristian Rodriguez
 
Automatismo de control para el acceso a un garaje
Automatismo de control para el acceso a un garajeAutomatismo de control para el acceso a un garaje
Automatismo de control para el acceso a un garajeJomicast
 

Similar a Electrónica digital: Maquinas de estado (20)

Circuito secuencial sincronico sd ii
Circuito secuencial sincronico sd iiCircuito secuencial sincronico sd ii
Circuito secuencial sincronico sd ii
 
Electrónica digital: Maquina de estados finitos I
Electrónica digital: Maquina de estados finitos I Electrónica digital: Maquina de estados finitos I
Electrónica digital: Maquina de estados finitos I
 
Electrónica digital: Análisis de diseño de circuitos secuenciales
Electrónica digital: Análisis de diseño de circuitos secuenciales Electrónica digital: Análisis de diseño de circuitos secuenciales
Electrónica digital: Análisis de diseño de circuitos secuenciales
 
trabajo final
trabajo finaltrabajo final
trabajo final
 
Apuntes circuitos secuenciales
Apuntes circuitos secuencialesApuntes circuitos secuenciales
Apuntes circuitos secuenciales
 
Taller 4 josue stanley lazo rivera
Taller 4 josue stanley lazo riveraTaller 4 josue stanley lazo rivera
Taller 4 josue stanley lazo rivera
 
Td apunte8
Td apunte8Td apunte8
Td apunte8
 
Maquinas de estado con VHDL - electronica digital - circuitos secuenciales
Maquinas de estado con VHDL - electronica digital  - circuitos secuencialesMaquinas de estado con VHDL - electronica digital  - circuitos secuenciales
Maquinas de estado con VHDL - electronica digital - circuitos secuenciales
 
Electrónica digital: tema IV maquinas de estado finito
Electrónica digital: tema IV maquinas de estado finitoElectrónica digital: tema IV maquinas de estado finito
Electrónica digital: tema IV maquinas de estado finito
 
Bitacora3
Bitacora3Bitacora3
Bitacora3
 
Electrónica digital: Maquinas de estado finito en VHDL
Electrónica digital: Maquinas de estado finito en VHDLElectrónica digital: Maquinas de estado finito en VHDL
Electrónica digital: Maquinas de estado finito en VHDL
 
Circuitos secuenciales
Circuitos secuencialesCircuitos secuenciales
Circuitos secuenciales
 
Electrónica digital: Maquina de estado finitas (FSM´s)
Electrónica digital: Maquina de estado finitas (FSM´s)Electrónica digital: Maquina de estado finitas (FSM´s)
Electrónica digital: Maquina de estado finitas (FSM´s)
 
Preinforme control motores AC
Preinforme control motores ACPreinforme control motores AC
Preinforme control motores AC
 
Tema4 lógica secuencial
Tema4 lógica secuencialTema4 lógica secuencial
Tema4 lógica secuencial
 
Electrónica digital: Análisis de síntesis de circuitos secuenciales
Electrónica digital: Análisis de síntesis de circuitos secuencialesElectrónica digital: Análisis de síntesis de circuitos secuenciales
Electrónica digital: Análisis de síntesis de circuitos secuenciales
 
automatas finitos
 automatas finitos automatas finitos
automatas finitos
 
Presentacion 2 - Maquinas de Estado Finito
Presentacion 2 - Maquinas de Estado FinitoPresentacion 2 - Maquinas de Estado Finito
Presentacion 2 - Maquinas de Estado Finito
 
Contador de 0 a 7 flip flop tipo D
Contador de 0 a 7 flip flop tipo DContador de 0 a 7 flip flop tipo D
Contador de 0 a 7 flip flop tipo D
 
Automatismo de control para el acceso a un garaje
Automatismo de control para el acceso a un garajeAutomatismo de control para el acceso a un garaje
Automatismo de control para el acceso a un garaje
 

Más de SANTIAGO PABLO ALBERTO

Manual de teoría y practica electroneumática avanzada
Manual de teoría y practica electroneumática avanzadaManual de teoría y practica electroneumática avanzada
Manual de teoría y practica electroneumática avanzadaSANTIAGO PABLO ALBERTO
 
Programacion de PLC basado en Rslogix 500 por Roni Domínguez
Programacion de PLC basado en Rslogix 500 por Roni Domínguez Programacion de PLC basado en Rslogix 500 por Roni Domínguez
Programacion de PLC basado en Rslogix 500 por Roni Domínguez SANTIAGO PABLO ALBERTO
 
Programación de microcontroladores PIC en C con Fabio Pereira
Programación de microcontroladores PIC en  C con Fabio PereiraProgramación de microcontroladores PIC en  C con Fabio Pereira
Programación de microcontroladores PIC en C con Fabio PereiraSANTIAGO PABLO ALBERTO
 
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...SANTIAGO PABLO ALBERTO
 
Programación de autómatas PLC OMRON CJ/CP1
Programación de  autómatas PLC OMRON CJ/CP1Programación de  autómatas PLC OMRON CJ/CP1
Programación de autómatas PLC OMRON CJ/CP1SANTIAGO PABLO ALBERTO
 
Manual del sistema del controlador programable S7-200 SMART
Manual del sistema del controlador programable S7-200 SMARTManual del sistema del controlador programable S7-200 SMART
Manual del sistema del controlador programable S7-200 SMARTSANTIAGO PABLO ALBERTO
 
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...SANTIAGO PABLO ALBERTO
 
PLC y Electroneumática: Electricidad y Automatismo eléctrico por Luis Miguel...
PLC y Electroneumática: Electricidad y Automatismo eléctrico por  Luis Miguel...PLC y Electroneumática: Electricidad y Automatismo eléctrico por  Luis Miguel...
PLC y Electroneumática: Electricidad y Automatismo eléctrico por Luis Miguel...SANTIAGO PABLO ALBERTO
 
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...SANTIAGO PABLO ALBERTO
 
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...SANTIAGO PABLO ALBERTO
 
Electrónica digital: Introducción a la Lógica Digital - Teoría, Problemas y ...
Electrónica digital:  Introducción a la Lógica Digital - Teoría, Problemas y ...Electrónica digital:  Introducción a la Lógica Digital - Teoría, Problemas y ...
Electrónica digital: Introducción a la Lógica Digital - Teoría, Problemas y ...SANTIAGO PABLO ALBERTO
 

Más de SANTIAGO PABLO ALBERTO (20)

secuencia electroneumática parte 1
secuencia electroneumática parte 1secuencia electroneumática parte 1
secuencia electroneumática parte 1
 
secuencia electroneumática parte 2
secuencia electroneumática parte 2secuencia electroneumática parte 2
secuencia electroneumática parte 2
 
Manual de teoría y practica electroneumática avanzada
Manual de teoría y practica electroneumática avanzadaManual de teoría y practica electroneumática avanzada
Manual de teoría y practica electroneumática avanzada
 
Programacion de PLC basado en Rslogix 500 por Roni Domínguez
Programacion de PLC basado en Rslogix 500 por Roni Domínguez Programacion de PLC basado en Rslogix 500 por Roni Domínguez
Programacion de PLC basado en Rslogix 500 por Roni Domínguez
 
Programación de microcontroladores PIC en C con Fabio Pereira
Programación de microcontroladores PIC en  C con Fabio PereiraProgramación de microcontroladores PIC en  C con Fabio Pereira
Programación de microcontroladores PIC en C con Fabio Pereira
 
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...
 
Arduino: Arduino de cero a experto
Arduino: Arduino de cero a expertoArduino: Arduino de cero a experto
Arduino: Arduino de cero a experto
 
Fisica I
Fisica IFisica I
Fisica I
 
Quimica.pdf
Quimica.pdfQuimica.pdf
Quimica.pdf
 
Manual básico PLC OMRON
Manual básico PLC OMRON Manual básico PLC OMRON
Manual básico PLC OMRON
 
Programación de autómatas PLC OMRON CJ/CP1
Programación de  autómatas PLC OMRON CJ/CP1Programación de  autómatas PLC OMRON CJ/CP1
Programación de autómatas PLC OMRON CJ/CP1
 
Manual del sistema del controlador programable S7-200 SMART
Manual del sistema del controlador programable S7-200 SMARTManual del sistema del controlador programable S7-200 SMART
Manual del sistema del controlador programable S7-200 SMART
 
Catálogo de PLC S7-200 SMART
Catálogo de PLC S7-200 SMART Catálogo de PLC S7-200 SMART
Catálogo de PLC S7-200 SMART
 
PLC: Automatismos industriales
PLC: Automatismos industrialesPLC: Automatismos industriales
PLC: Automatismos industriales
 
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...
 
PLC y Electroneumática: Electricidad y Automatismo eléctrico por Luis Miguel...
PLC y Electroneumática: Electricidad y Automatismo eléctrico por  Luis Miguel...PLC y Electroneumática: Electricidad y Automatismo eléctrico por  Luis Miguel...
PLC y Electroneumática: Electricidad y Automatismo eléctrico por Luis Miguel...
 
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...
 
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...
 
PLC: Motor Dahlander
PLC: Motor DahlanderPLC: Motor Dahlander
PLC: Motor Dahlander
 
Electrónica digital: Introducción a la Lógica Digital - Teoría, Problemas y ...
Electrónica digital:  Introducción a la Lógica Digital - Teoría, Problemas y ...Electrónica digital:  Introducción a la Lógica Digital - Teoría, Problemas y ...
Electrónica digital: Introducción a la Lógica Digital - Teoría, Problemas y ...
 

Último

subestaciones electricas, distribucion de energia
subestaciones electricas, distribucion de energiasubestaciones electricas, distribucion de energia
subestaciones electricas, distribucion de energiazaydaescalona
 
Diagramas de Tiempo.pptpara electronica aplicada
Diagramas de Tiempo.pptpara electronica aplicadaDiagramas de Tiempo.pptpara electronica aplicada
Diagramas de Tiempo.pptpara electronica aplicadaSantiago Luis Gómez
 
1.1 Los 14 principios del Toyota Way -2024.pdf
1.1 Los 14 principios del Toyota Way -2024.pdf1.1 Los 14 principios del Toyota Way -2024.pdf
1.1 Los 14 principios del Toyota Way -2024.pdfThe16Frame
 
Diseño digital - M. Morris Mano - 3ed.pdf
Diseño digital - M. Morris Mano - 3ed.pdfDiseño digital - M. Morris Mano - 3ed.pdf
Diseño digital - M. Morris Mano - 3ed.pdfssuserf46a26
 
ESFUERZO EN VIGAS SESIÓN 5 PROBLEMA RESUELTOS.pdf
ESFUERZO EN VIGAS SESIÓN 5 PROBLEMA RESUELTOS.pdfESFUERZO EN VIGAS SESIÓN 5 PROBLEMA RESUELTOS.pdf
ESFUERZO EN VIGAS SESIÓN 5 PROBLEMA RESUELTOS.pdfSegundo Silva Maguiña
 
Responsabilidad de padres con sus hijos (1).pptx
Responsabilidad de padres con sus hijos (1).pptxResponsabilidad de padres con sus hijos (1).pptx
Responsabilidad de padres con sus hijos (1).pptxROSARIODELPILARMERIN
 
Trabajo de cristalografia. año 2024 mes de mayo
Trabajo de cristalografia. año 2024 mes de mayoTrabajo de cristalografia. año 2024 mes de mayo
Trabajo de cristalografia. año 2024 mes de mayoAntonioCardenas58
 
ESPECIFICACIONES TECNICAS MURO DE CONTENCION.docx
ESPECIFICACIONES TECNICAS MURO DE CONTENCION.docxESPECIFICACIONES TECNICAS MURO DE CONTENCION.docx
ESPECIFICACIONES TECNICAS MURO DE CONTENCION.docxAnonymousk8JgrnuMSr
 
Cuestionario 20222222222222222222222224.pdf
Cuestionario 20222222222222222222222224.pdfCuestionario 20222222222222222222222224.pdf
Cuestionario 20222222222222222222222224.pdffredyflores58
 
herrramientas de resistividad para registro de pozos.pptx
herrramientas de resistividad para registro de pozos.pptxherrramientas de resistividad para registro de pozos.pptx
herrramientas de resistividad para registro de pozos.pptxDiegoSuarezGutierrez
 
UNIDAD III Esquemas de comunicacion pptx
UNIDAD III Esquemas de comunicacion pptxUNIDAD III Esquemas de comunicacion pptx
UNIDAD III Esquemas de comunicacion pptxElybe Hernandez
 
Ciclo de Refrigeracion aplicado a ToniCorp.pptx
Ciclo de Refrigeracion aplicado a ToniCorp.pptxCiclo de Refrigeracion aplicado a ToniCorp.pptx
Ciclo de Refrigeracion aplicado a ToniCorp.pptxUniversidad de Guayaquil
 
DIAGRAMAS PID automatizacion y control.ppt
DIAGRAMAS PID automatizacion y control.pptDIAGRAMAS PID automatizacion y control.ppt
DIAGRAMAS PID automatizacion y control.pptalisonsarmiento4
 
CONCEPTOS BASICOS DE ROBOTICA, CLASES DE ROBOTS
CONCEPTOS BASICOS DE ROBOTICA, CLASES DE ROBOTSCONCEPTOS BASICOS DE ROBOTICA, CLASES DE ROBOTS
CONCEPTOS BASICOS DE ROBOTICA, CLASES DE ROBOTSrobinarielabellafern
 
PRACTICAS_DE_AUTOMATIZACION_industrial (1).pdf
PRACTICAS_DE_AUTOMATIZACION_industrial (1).pdfPRACTICAS_DE_AUTOMATIZACION_industrial (1).pdf
PRACTICAS_DE_AUTOMATIZACION_industrial (1).pdfjorge477728
 
REGLA DE PROBABILIDADES Y REGLA DE BAYES.pptx
REGLA DE PROBABILIDADES  Y REGLA DE BAYES.pptxREGLA DE PROBABILIDADES  Y REGLA DE BAYES.pptx
REGLA DE PROBABILIDADES Y REGLA DE BAYES.pptxJhonLeon59
 
expo unidad5 metodologia de los sistemas blandos .pptx
expo unidad5 metodologia de los sistemas blandos .pptxexpo unidad5 metodologia de los sistemas blandos .pptx
expo unidad5 metodologia de los sistemas blandos .pptxeduardo1sauceda7
 
DIFERENCIA DE COMPRESION Y TENSION EN UN CUERPO
DIFERENCIA DE COMPRESION Y TENSION EN UN CUERPODIFERENCIA DE COMPRESION Y TENSION EN UN CUERPO
DIFERENCIA DE COMPRESION Y TENSION EN UN CUERPOSegundo Silva Maguiña
 

Último (20)

subestaciones electricas, distribucion de energia
subestaciones electricas, distribucion de energiasubestaciones electricas, distribucion de energia
subestaciones electricas, distribucion de energia
 
Diagramas de Tiempo.pptpara electronica aplicada
Diagramas de Tiempo.pptpara electronica aplicadaDiagramas de Tiempo.pptpara electronica aplicada
Diagramas de Tiempo.pptpara electronica aplicada
 
1.1 Los 14 principios del Toyota Way -2024.pdf
1.1 Los 14 principios del Toyota Way -2024.pdf1.1 Los 14 principios del Toyota Way -2024.pdf
1.1 Los 14 principios del Toyota Way -2024.pdf
 
Diseño digital - M. Morris Mano - 3ed.pdf
Diseño digital - M. Morris Mano - 3ed.pdfDiseño digital - M. Morris Mano - 3ed.pdf
Diseño digital - M. Morris Mano - 3ed.pdf
 
ESFUERZO EN VIGAS SESIÓN 5 PROBLEMA RESUELTOS.pdf
ESFUERZO EN VIGAS SESIÓN 5 PROBLEMA RESUELTOS.pdfESFUERZO EN VIGAS SESIÓN 5 PROBLEMA RESUELTOS.pdf
ESFUERZO EN VIGAS SESIÓN 5 PROBLEMA RESUELTOS.pdf
 
Responsabilidad de padres con sus hijos (1).pptx
Responsabilidad de padres con sus hijos (1).pptxResponsabilidad de padres con sus hijos (1).pptx
Responsabilidad de padres con sus hijos (1).pptx
 
Trabajo de cristalografia. año 2024 mes de mayo
Trabajo de cristalografia. año 2024 mes de mayoTrabajo de cristalografia. año 2024 mes de mayo
Trabajo de cristalografia. año 2024 mes de mayo
 
ESPECIFICACIONES TECNICAS MURO DE CONTENCION.docx
ESPECIFICACIONES TECNICAS MURO DE CONTENCION.docxESPECIFICACIONES TECNICAS MURO DE CONTENCION.docx
ESPECIFICACIONES TECNICAS MURO DE CONTENCION.docx
 
Cuestionario 20222222222222222222222224.pdf
Cuestionario 20222222222222222222222224.pdfCuestionario 20222222222222222222222224.pdf
Cuestionario 20222222222222222222222224.pdf
 
herrramientas de resistividad para registro de pozos.pptx
herrramientas de resistividad para registro de pozos.pptxherrramientas de resistividad para registro de pozos.pptx
herrramientas de resistividad para registro de pozos.pptx
 
UNIDAD III Esquemas de comunicacion pptx
UNIDAD III Esquemas de comunicacion pptxUNIDAD III Esquemas de comunicacion pptx
UNIDAD III Esquemas de comunicacion pptx
 
Ciclo de Refrigeracion aplicado a ToniCorp.pptx
Ciclo de Refrigeracion aplicado a ToniCorp.pptxCiclo de Refrigeracion aplicado a ToniCorp.pptx
Ciclo de Refrigeracion aplicado a ToniCorp.pptx
 
DIAGRAMAS PID automatizacion y control.ppt
DIAGRAMAS PID automatizacion y control.pptDIAGRAMAS PID automatizacion y control.ppt
DIAGRAMAS PID automatizacion y control.ppt
 
CONCEPTOS BASICOS DE ROBOTICA, CLASES DE ROBOTS
CONCEPTOS BASICOS DE ROBOTICA, CLASES DE ROBOTSCONCEPTOS BASICOS DE ROBOTICA, CLASES DE ROBOTS
CONCEPTOS BASICOS DE ROBOTICA, CLASES DE ROBOTS
 
PRACTICAS_DE_AUTOMATIZACION_industrial (1).pdf
PRACTICAS_DE_AUTOMATIZACION_industrial (1).pdfPRACTICAS_DE_AUTOMATIZACION_industrial (1).pdf
PRACTICAS_DE_AUTOMATIZACION_industrial (1).pdf
 
Convocatoria de Becas Caja de Ingenieros_UOC 2024-25
Convocatoria de Becas Caja de Ingenieros_UOC 2024-25Convocatoria de Becas Caja de Ingenieros_UOC 2024-25
Convocatoria de Becas Caja de Ingenieros_UOC 2024-25
 
50870516-hidroponia. descargado en novppt
50870516-hidroponia. descargado en novppt50870516-hidroponia. descargado en novppt
50870516-hidroponia. descargado en novppt
 
REGLA DE PROBABILIDADES Y REGLA DE BAYES.pptx
REGLA DE PROBABILIDADES  Y REGLA DE BAYES.pptxREGLA DE PROBABILIDADES  Y REGLA DE BAYES.pptx
REGLA DE PROBABILIDADES Y REGLA DE BAYES.pptx
 
expo unidad5 metodologia de los sistemas blandos .pptx
expo unidad5 metodologia de los sistemas blandos .pptxexpo unidad5 metodologia de los sistemas blandos .pptx
expo unidad5 metodologia de los sistemas blandos .pptx
 
DIFERENCIA DE COMPRESION Y TENSION EN UN CUERPO
DIFERENCIA DE COMPRESION Y TENSION EN UN CUERPODIFERENCIA DE COMPRESION Y TENSION EN UN CUERPO
DIFERENCIA DE COMPRESION Y TENSION EN UN CUERPO
 

Electrónica digital: Maquinas de estado

  • 1. F.S.M. Máquinas de Estado Finitas Julio de 2014 Ing. Marcelo Casasnovas Centro C.U.D.A.R. CENTRO UNIVERSITARIO DE DESARROLLO DE AUTOMATIZACIÓN Y ROBÓTICA 1 + Máquinas de Estado Finitas Las máquinas de estado pueden ser: SÍNCRONAS: Necesitan de la intervención de un pulso de reloj. Si la entrada participa también en la salida se denomina Máquina de estado de Mealy, y si no participa se denomina de Moore. ASÍNCRONAS: No necesitan de la intervención de un pulso de reloj. Estos circuitos evolucionan cuando cambian las entradas. Una máquina de estado finita o FSM representa un sistema como un conjunto de estados, transiciones entre estos estados, que dependen de las entradas, conjuntamente con las salidas y las entradas asociadas. De modo tal que una máquina de estado es una representación, de un circuito secuencial particular. Cualquier circuito con memoria puede ser considerado como una FSM. Aún una computadora puede ser considerada como una gran FSM. El diseño de una FSM involucra lo siguiente: • Definición de estados. • Definición de transición entre estados (dependientes de las entradas de la máquina). • Optimización/minimización. Definición de términos Diagrama de estado: ilustra la forma y funcionamiento de la máquina de estado. Usualmente se dibuja como un diagrama de burbujas y flechas. Estado: un conjunto identificable y único de valores medidos en diversos puntos de un sistema digital. Ramificación: El cambio del estado presente al estado siguiente. Estado siguiente: es el estado hacia el cual la máquina de estado realiza la siguiente transición, determinada por las entradas presentes cuando el dispositivo es secuenciado por un clock. Máquina de Moore: es una máquina de estado que determina sus salidas solamente dependiendo de los estados presentes de la máquina. Máquina de Mealy: es una máquina de estado que determina sus salidas dependiendo de los estados presentes de la máquina y de las entradas.
  • 2. F.S.M. Máquinas de Estado Finitas Julio de 2014 Ing. Marcelo Casasnovas Centro C.U.D.A.R. CENTRO UNIVERSITARIO DE DESARROLLO DE AUTOMATIZACIÓN Y ROBÓTICA 2 Estado presente y estado siguiente: Para un estado determinado existe un número finito de posibles estados siguientes. Para cada ciclo de reloj la máquina de estado se ramifica al estado siguiente. Uno de los posibles estados siguientes se convierte en el nuevo estado presente. Dependiendo de las entradas presentes en el ciclo de reloj. Diagrama 1 En un diagrama correcto, todas las posibles transiciones serán visibles incluyendo lazos realimentados en el mismo estado. En el diagrama 1 se puede deducir que si el estado presente es el Estado 2, el estado previo es el Estado 1 o el Estado 2 y el próximo estado debe ser 2, 3 o 4. Máquinas de Moore y Mealy Ambos tipos de máquinas siguen las características de las máquinas de estado pero difieren en la forma en que las salidas son producidas. Máquina de Moore: Las salidas son independientes de las entradas. Las salidas se producen efectivamente desde dentro del estado de la máquina. Se define como maquina tipo Moore si sus salidas solo dependen del estado de la máquina. Máquina de Mealy: las salidas pueden ser determinadas por el estado presente solamente, o por el estado presente y las entradas presentes, es decir las salidas se producen dependiendo de cómo la máquina realiza una transición de un estado a otro. Estado 2 Estado 1 Estado 3 Estado 4
  • 3. F.S.M. Máquinas de Estado Finitas Julio de 2014 Ing. Marcelo Casasnovas Centro C.U.D.A.R. CENTRO UNIVERSITARIO DE DESARROLLO DE AUTOMATIZACIÓN Y ROBÓTICA 3 MODELO DE MÁQUINAS Diagrama de Flujo Máquina de Moore Máquina de Mealy Máquina de estado de Moore Diagrama general Entradas Lógica combinacional Para determinar estado Estado presente Banco de registro Lógica combinacional Para determinar la salida basada en el estado presente Salidas Entradas Lógica combinacional Para determinar estado Estado presente Banco de registro Lógica combinacional Para determinar la salida basada en el estado presente y las entradas presentes Salidas
  • 4. F.S.M. Máquinas de Estado Finitas Julio de 2014 Ing. Marcelo Casasnovas Centro C.U.D.A.R. CENTRO UNIVERSITARIO DE DESARROLLO DE AUTOMATIZACIÓN Y ROBÓTICA 4 Diagrama a nivel Flip Flop y compuertas Máquina de estado de Mealy Diagrama general Diagrama a nivel Flip Flop y compuertas
  • 5. F.S.M. Máquinas de Estado Finitas Julio de 2014 Ing. Marcelo Casasnovas Centro C.U.D.A.R. CENTRO UNIVERSITARIO DE DESARROLLO DE AUTOMATIZACIÓN Y ROBÓTICA 5 Diagrama de Máquina de estado de Moore Condición de salida que resulta de estar Condición de entrada en un estado presente que debe existir con el en particular fin de que se ejecuten esas transiciones desde el Estado 1 La salida en una Máquina de estado de Moore se muestra dentro de la burbuja de estado, debido a que la salida se mantiene igual, mientras la máquina se mantenga en ese estado. La salida puede ser arbitrariamente compleja pero debe ser la misma cada vez que la máquina entra a ese estado. Estado 1 q, r Estado 2 x, y a, b i, j Estado 1 Salida 1 Estado 2 Salida 2 Transición Condición 1 Transición Condición 2
  • 6. F.S.M. Máquinas de Estado Finitas Julio de 2014 Ing. Marcelo Casasnovas Centro C.U.D.A.R. CENTRO UNIVERSITARIO DE DESARROLLO DE AUTOMATIZACIÓN Y ROBÓTICA 6 Diagrama de Máquina de estado de Mealy Condición de salida Condición de entrada que resulta de estar que debe existir para en un estado presente ejecutar estas en particular transiciones desde el Estado 1 La máquina de Mealy genera las salidas basada en: • El estado presente. • Las entradas a la máquina. De modo de ser capaz de generar diversos patrones diferentes de señales de salida para el mismo estado, dependiendo de las entradas presentes en el ciclo de reloj. Las salidas son mostradas sobre las transiciones del momento que están determinadas de la misma manera que el estado siguiente. Estado 1 Estado 2 a, b q,r i, j x,y Estado 1 Estado 2 Transición Condición 1 / Salida 1 Transición Condición 2 / Salida 2
  • 7. F.S.M. Máquinas de Estado Finitas Julio de 2014 Ing. Marcelo Casasnovas Centro C.U.D.A.R. CENTRO UNIVERSITARIO DE DESARROLLO DE AUTOMATIZACIÓN Y ROBÓTICA 7 Diferencias entre Mealy y Moore Las FSM Mealy y Moore pueden ser funcionalmente equivalentes. Las FSM Mealy tienen una mejor descripción y usualmente requieren de un número menor de estados y menor área de circuito. Mealy calcula las salidas tan pronto como se produce un cambio en las entradas. Mealy responde un ciclo de reloj antes que el equivalente Moore. Las FSM Moore no posee un camino de lógica combinacional entre entradas y salidas. Ejemplo de FSM Moore Detección de la secuencia 10. Reset Significado de los estados: S0: No se encuentra ningún elemento de la secuencia. S1: aparece un “1”. S2 Se detecta la secuencia “10”. Ejemplo de FSM Mealy Detección de la secuencia 10. S0/0 S1 / 0 S2 / 1 0 0 0 1 1 1 S0 S1 0 / 0 1 / 0 1 / 0 Reset 0 / 1
  • 8. F.S.M. Máquinas de Estado Finitas Julio de 2014 Ing. Marcelo Casasnovas Centro C.U.D.A.R. CENTRO UNIVERSITARIO DE DESARROLLO DE AUTOMATIZACIÓN Y ROBÓTICA 8 Significado de los estados: S0: No se encuentra ningún elemento de la secuencia. S1 Se detecta la secuencia “10”. Diagrama de tiempos del ejemplo 1 Ejemplo de máquina expendedora de gaseosa • Toma solamente monedas de 25 centavos y $1. • No retiene más de $1. • La gaseosa cuesta $0.75. • Posibles acciones(entradas): - Depositar $0.25 (25) - Depositar $1 ($). - Presionar el botón para pedir gaseosa (gaseosa). - Presionar el botón para pedir devolución del dinero (vuelto). • Estado: descripción del seteo interno de la máquina, por ej. cuánto dinero ha sido depositado y no gastado. • Estados finitos: 0, 25, 50, 75, 100. • Reglas: determinar cuántas entradas pueden cambiar el estado.
  • 9. F.S.M. Máquinas de Estado Finitas Julio de 2014 Ing. Marcelo Casasnovas Centro C.U.D.A.R. CENTRO UNIVERSITARIO DE DESARROLLO DE AUTOMATIZACIÓN Y ROBÓTICA 9
  • 10. F.S.M. Máquinas de Estado Finitas Julio de 2014 Ing. Marcelo Casasnovas Centro C.U.D.A.R. CENTRO UNIVERSITARIO DE DESARROLLO DE AUTOMATIZACIÓN Y ROBÓTICA 10 MÁQUINAS DE ESTADO EN VHDL Como se explicó anteriormente existen dos tipos: • Moore. • Mealy. FSM Moore: • La salida depende solamente del estado actual. • Las salidas asociadas con cada estado, son establecidas en la transición del clock. FSM Mealy: • La salida depende de las entradas y del estado actual. • Las salidas son establecidas durante las transiciones.
  • 11. F.S.M. Máquinas de Estado Finitas Julio de 2014 Ing. Marcelo Casasnovas Centro C.U.D.A.R. CENTRO UNIVERSITARIO DE DESARROLLO DE AUTOMATIZACIÓN Y ROBÓTICA 11 Código VHDL para una FSM • Una FSM puede ser fácilmente descripta por medio del PROCESS. • Las herramientas de síntesis interpretan una la descripción de unas FSM si se siguen ciertas reglas: - Las transiciones de estados deben ser descriptas en un PROCESS sensible solamente a las señales de CLOCK y RESET asíncrono. - Las salidas descriptas como sentencias concurrentes fuera del PROCESS. FSM Moore reconocimiento de secuencia 10 S0/ 0 S1 / 0 S2/1 0 0 0 1 1 1 type state is (S0, S1, S2); signal Moore_state: state; U_Moore: process(clock, reset) Begin if(reset = ‘1’) then Moore_state <= S0; elsif (clock = ‘1’ and clock’event) then case Moore_state is when S0 => if input = ‘1’ then Moore_state <= S1; end if; when S1 => if input = ‘0’ then Moore_state <= S2; end if; when S2 => if input = ‘0’ then Moore_state <= S0; else Moore_state <= S1; end if; end case; end if; End process; Output <= ‘1’ when Moore_state = S2 else ‘0’;
  • 12. F.S.M. Máquinas de Estado Finitas Julio de 2014 Ing. Marcelo Casasnovas Centro C.U.D.A.R. CENTRO UNIVERSITARIO DE DESARROLLO DE AUTOMATIZACIÓN Y ROBÓTICA 12 FSM Mealy reconocimiento de secuencia 10 S0 S1 0 / 0 1 / 0 1 / 0 0 / 1 reset type state is (S0, S1); signal Mealy_state: state; U_Mealy: process(clock, reset) Begin if(reset = ‘1’) then Mealy_state <= S0; elsif (clock = ‘1’ and clock’event) then case Mealy_state is when S0 => if input = ‘1’ then Mealy_state <= S1; end if; when S1 => if input = ‘0’ then Mealy_state <= S0; end if; end case; end if; End process; Output <= ‘1’ when (Mealy_state = S1 and input = ‘0’) else ‘0’;
  • 13. F.S.M. Máquinas de Estado Finitas Julio de 2014 Ing. Marcelo Casasnovas Centro C.U.D.A.R. CENTRO UNIVERSITARIO DE DESARROLLO DE AUTOMATIZACIÓN Y ROBÓTICA 13 Ejemplo 2 FSM Moore: C z 1 = ⁄ Reset B z 0 = ⁄ A z 0 = ⁄ w 0 = w 1 = w 1 = w 0 = w 0 = w 1 = Present Next state Output state w =0 w =1 z A A B 0 B A C 0 C A C 1
  • 14. F.S.M. Máquinas de Estado Finitas Julio de 2014 Ing. Marcelo Casasnovas Centro C.U.D.A.R. CENTRO UNIVERSITARIO DE DESARROLLO DE AUTOMATIZACIÓN Y ROBÓTICA 14 Código VHDL USE ieee.std_logic_1164.all; ENTITY simple IS PORT ( Clock, Resetn, w : IN STD_LOGIC ; z: OUT STD_LOGIC ) ; END simple; ARCHITECTURE Behavior OF simple IS TYPE State_type IS (A, B, C) ; SIGNAL y: State_type; BEGIN PROCESS (Resetn, Clock) BEGIN IF Resetn = '0' THEN y <= A; ELSIF (Clock'EVENT AND Clock = '1') THEN CASE y IS WHEN A => IF w = '0' THEN y <= A; ELSE y <= B; END IF; WHEN B => IF w = '0' THEN y <= A; ELSE y <= C; END IF; WHEN C => IF w = '0' THEN y <= A; ELSE y <= C; END IF; END CASE; END IF; END PROCESS; z <= '1' WHEN y = C ELSE '0'; END Behavior;
  • 15. F.S.M. Máquinas de Estado Finitas Julio de 2014 Ing. Marcelo Casasnovas Centro C.U.D.A.R. CENTRO UNIVERSITARIO DE DESARROLLO DE AUTOMATIZACIÓN Y ROBÓTICA 15 Código alternativo ARCHITECTURE Behavior OF simple IS TYPE State_type IS (A, B, C); SIGNAL y_present, y_next: State_type; BEGIN PROCESS (w, y_present) BEGIN CASE y_present IS WHEN A => IF w = '0' THEN y_next <= A; ELSE y_next <= B; END IF; WHEN B => IF w = '0' THEN y_next <= A; ELSE y_next <= C; END IF; WHEN C => IF w = '0' THEN y_next <= A; ELSE y_next <= C; END IF; END CASE; END PROCESS; PROCESS (Clock, Resetn) BEGIN IF Resetn = '0' THEN y_present <= A; ELSIF (Clock'EVENT AND Clock = '1') THEN y_present <= y_next; END IF; END PROCESS; z <= '1' WHEN y_present = C ELSE '0'; END Behavior;
  • 16. F.S.M. Máquinas de Estado Finitas Julio de 2014 Ing. Marcelo Casasnovas Centro C.U.D.A.R. CENTRO UNIVERSITARIO DE DESARROLLO DE AUTOMATIZACIÓN Y ROBÓTICA 16 Ejemplo 2 FSM Mealy A w 0 = z 0 = ⁄ w 1 = z 1 = ⁄ B w 0 = z 0 = ⁄ Res w 1 = z 0 = ⁄ Present Next state Output z state w = 0 w = 1 w = 0 w = 1 A A B 0 0 B A B 0 1
  • 17. F.S.M. Máquinas de Estado Finitas Julio de 2014 Ing. Marcelo Casasnovas Centro C.U.D.A.R. CENTRO UNIVERSITARIO DE DESARROLLO DE AUTOMATIZACIÓN Y ROBÓTICA 17 Código VHDL LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY mealy IS PORT (Clock, Resetn, w: IN STD_LOGIC; z: OUT STD_LOGIC) ; END mealy; ARCHITECTURE Behavior OF mealy IS TYPE State_type IS (A, B); SIGNAL y: State_type; BEGIN PROCESS (Resetn, Clock) BEGIN IF Resetn = '0' THEN y <= A; ELSIF (Clock'EVENT AND Clock = '1') THEN CASE y IS WHEN A => IF w = '0' THEN y <= A; ELSE y <= B; END IF; WHEN B => IF w = '0' THEN y <= A; ELSE y <= B; END IF; END CASE; END IF; END PROCESS; with y select z <= w when B, z <= ‘0’ when others; END Behavior;