Skip to main content

Posts

Showing posts from September, 2013

Maquina de Mealy Ejemplo: Ascensor

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
sal…

Maquina Moore Ejemplo: Ascensor

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 AscMoore of behavioral is
type ascEstados is (PB, 1, 2);
signal Estados, prox_estados AscEstados;
begin
Process(init, PB_UP, P1_UP, P1_DOwN, P2, P2_DOWN)
signal estado, prox_edo : AscMoore;
begin
Process (estado,Planta_Baja, Planta_Un, Planta_Dos)
begin
case estado is
when init =>
if Planta_Baja='1' then
Prox_estado <= PB_UP
else
Prox_estado <=init;
endif;

when PB_UP => prox_estado <= P1_UP;

when P1_UP =>
if Piso_Uno='1' then
Prox_estado <= P1_UP;
else
Prox_estado <= P1_DOWN;
endif;
when P1_DOWN => Prox_estado <= init;



Process (estado)
begin
case estado is
when init => salidas <= "00";
when PB_UP => salidas <= "10";
when P1_UP => salidas <= "10";
when P1_DOWN =…