Maq de Estado Finito
Maq de Estado Finito
Maq de Estado Finito
(FSM)
Autómata finito
Modelo de Mealy
MEMORIA
Lógica de salida
E Lógica del próximo estado
S
Qt+1 Qt
Ck
MEMORIA
Lógica de salida
E Lógica del próximo estadot+1
Q Qt S
Ck
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 of Maq_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
case est_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' then est_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
case est_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
entity FSM is
Port ( sensor : in
std_logic; reset : in
std_logic; clk : in
std_logic;
sem_carre : out std_logic_vector(2 downto 0);
sem_camino : out std_logic_vector(2 downto 0));
end FSM;
end Behavioral;
RESULTADO DE LA SIMULACIÓN