Beruflich Dokumente
Kultur Dokumente
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;
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;