entity behavioral is port (
Planta_Baja : in std_logic;
Piso_Uno : in std_logic;
Piso_Dos : in std_logic;
salidas : out std_logic_vector(1 downto 0) -- para polarizar el motor, tierra y voltaje por eso se require los dos bits
);
end behavioral
architecture AscMealy of behavioral is
type ascEstados is (PB, 1, 2);
signal Estados, prox_estados AscEstados;
begin
Process(Planta_Baja, Piso_Uno, Piso_Dos, Estado)
begin
Case PB =>
if (Planta_Baja = '1')then
Prox_estado <= 1;
else
Prox_estado <= PB;
endif;
case 1 =>
if (Piso_Uno = '1')then
Prox_estado <= 2;
else
prox_estado <= 1;
endif;
case 2 =>
if (Piso_Dos = '1')then
Prox_estado <= 1;
else
prox_estado <= 2;
endif;
end Process;
Process (reloj, Reset)
begin
if (Reset = '1')then
estado <= PB;
elsif (clk'event and clk = '1') then
estado <= Prox_estado;
end if;
end Process;
Process (Planta_Baja, Piso_Uno, Piso_Dos, Estado)
begin
case estado is
listan PB =>
if (Planta_Baja = '1') then
salidas <= '10'
else
salidas <= '00'
elsif;
end Process;
end architecture behavioral;
Planta_Baja : in std_logic;
Piso_Uno : in std_logic;
Piso_Dos : in std_logic;
salidas : out std_logic_vector(1 downto 0) -- para polarizar el motor, tierra y voltaje por eso se require los dos bits
);
end behavioral
architecture AscMealy of behavioral is
type ascEstados is (PB, 1, 2);
signal Estados, prox_estados AscEstados;
begin
Process(Planta_Baja, Piso_Uno, Piso_Dos, Estado)
begin
Case PB =>
if (Planta_Baja = '1')then
Prox_estado <= 1;
else
Prox_estado <= PB;
endif;
case 1 =>
if (Piso_Uno = '1')then
Prox_estado <= 2;
else
prox_estado <= 1;
endif;
case 2 =>
if (Piso_Dos = '1')then
Prox_estado <= 1;
else
prox_estado <= 2;
endif;
end Process;
Process (reloj, Reset)
begin
if (Reset = '1')then
estado <= PB;
elsif (clk'event and clk = '1') then
estado <= Prox_estado;
end if;
end Process;
Process (Planta_Baja, Piso_Uno, Piso_Dos, Estado)
begin
case estado is
listan PB =>
if (Planta_Baja = '1') then
salidas <= '10'
else
salidas <= '00'
elsif;
end Process;
end architecture behavioral;
Comments