MAQUINA DE ESTADO FINITO
(FSM)
Autómata finito
Modelo de Mealy
E
Lógica del
próximo
estado
Qt+1
M
E
M
O
R
I
A
Qt
Lógica
de salida
Ck
Qt+1 = f (E, Qt)
S = g (E, Qt)
S
Modelo de Moore
ELógica del
próximo
estado
M
E
M
O
R
I
A
Qt+1
Qt
Ck
Qt+1 = f (E, Qt)
S = g (E, Qt)
Lógica
de salida
S
Diagrama de
transición de estados
Entrada
Estado
presente
Estado
futuro
e1
q1
q1e2
q1
q2
e2
q2
q2
Detectar la secuencia 0-0-1
(por Moore)
En el ambiente ISE tenemos distintas
alternativas para describir una FSM:
!
!
!
Con el código VHDL
Con el editor de máquina deestado
Con captura de esquemas
Con VHDL
Declaración de la entidad
-- !!!! MAQUINA DE MOORE !!!!
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;entity Maq_sinc is
Port ( reset : in std_logic;
e : in std_logic;
ck : in std_logic;
s : out std_logic);
end Maq_sinc;
Con VHDL (contin.)
Declaración de la arquitectura
architecture Behavioral ofMaq_sinc is
type estados is (est1, est2, est3, est4);
signal est_actual: estados:= est1;
begin
process (reset, ck)
begin
if reset = '1' then est_actual<= est1 ;
elsif ck='1' and ck'event then
caseest_actual is
when est1 => if e='1' then est_actual <= est1; else est_actual <= est2;
end if;
when est2 => if e='1' then est_actual <= est1; else est_actual <= est3;
end if;
when est3 => if e='1' thenest_actual <= est4; else est_actual <= est3;
end if;
when est4 => if e='1' then est_actual <= est1; else est_actual <= est2;
end if;
end case;
end if;
end process;
process (est_actual)
begin
caseest_actual is
when est1 => s<='0';when est2 => s<='0';when est3 => s<='0';when est4 => s<='1';
end case;
end process;
end Behavioral;
Resultado de la simulación
SEMÁFORO
!
En la intersección de unacarretera y un camino vecinal se
instala un semáforo con el siguiente comportamiento:
!
!
!
!
!
En el estado inicial indica verde para la carretera y rojo en el camino
Existen sensores (sensor) que...
Regístrate para leer el documento completo.