Sie sind auf Seite 1von 8

Vhdl

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity Sin_Titulo is
Port (
inicio: in std_logic;
ck: in std_logic;
E0: in std_logic;
S0: out std_logic
);
end Sin_Titulo;

architecture behavioral of Sin_Titulo is

type nombres_estados is (A, C, D, E, F, G, H, I, BA, BB);


signal estado: nombres_estados;
signal entrada_aux: std_logic_vector (0 downto 0);

begin

entrada_aux<=E0

process(inicio, ck)
begin
if inicio='1' then
estado<=A;
elsif ck='1' and ck'event then
case estado is
when A =>
case entrada_aux is
when '0' => estado<=A;
when '1' => estado<=BA;
when others => estado<=A;

end case;
when C =>
case entrada_aux is
when '0' => estado<=A;
when '1' => estado<=D;
when others => estado<=A;
end case;
when D =>
case entrada_aux is
when '0' => estado<=E;
when '1' => estado<=BA;
when others => estado<=A;
end case;
when E =>
case entrada_aux is
when '0' => estado<=F;
when '1' => estado<=D;
when others => estado<=A;
end case;
when F =>
case entrada_aux is
when '0' => estado<=A;
when '1' => estado<=G;
when others => estado<=A;
end case;
when G =>
case entrada_aux is
when '0' => estado<=H;
when '1' => estado<=BA;
when others => estado<=A;

end case;
when H =>
case entrada_aux is
when '0' => estado<=I;
when '1' => estado<=D;
when others => estado<=A;
end case;
when I =>
case entrada_aux is
when '0' => estado<=A;
when '1' => estado<=BB;
when others => estado<=A;
end case;
when BA =>
case entrada_aux is
when '0' => estado<=C;
when '1' => estado<=BA;
when others => estado<=A;
end case;
when BB =>
case entrada_aux is
when '0' => estado<=C;
when '1' => estado<=BA;
when others => estado<=A;
end case;
when others => estado<=A;
end case;
end if;
end process;

process(estado)
begin
case estado is
when A =>
S0<='0';
when C =>
S0<='0';
when D =>
S0<='0';
when E =>
S0<='0';
when F =>
S0<='0';
when G =>
S0<='0';
when H =>
S0<='0';
when I =>
S0<='0';
when BA =>
S0<='0';
when BB =>
S0<='1';
end case;
end process;

end behavioral;

Das könnte Ihnen auch gefallen