来自评论:end process;
和end behavioral;
library IEEE;
use IEEE.std_logic_1164.all;
Entity tiempoderetraso is
port (
reloj, auto, restablecer :in bit;
luz : in std_logic_vector(1 downto 0);
greenlight, timelateralgreenlight : in integer range 0 to 31;
cambio: out bit
);
end tiempoderetraso;
Architecture behavioral of tiempoderetraso is
begin
Process (reloj, restablecer, auto, cambio, greenlight, timelateralgreenlight, luz)
variable mach :integer range 0 to 31;
begin
If (restablecer = '0') then
mach := '0';
Else if(reloj = '1' and reloj 'event) then --con reloj de 1 Hz, tiempo en segundos.
if (mach ='0') then
case luz is
when "00" =>
If (auto ='0') then mach := '0'; --espera auto en camino lateral.
Else mach := greenlight-1; --establece tiempo para luz verde principal.
end if;
when "01" => mach := 5-1; --establece tiempo para luz ambar principal.
when "10" => mach := timelateralgreenlight -1; --establece tiempo para luz verde lateral.
when others => mach := 5-1; --establece tiempo para luz ambar lateral.
end case;
--else if mach = mach -1; --decrementa contador temporizador.
else
if (mach ='1') then
cambio <= '1';
else
cambio <= '0';
End if;
End if;
End if;
End Process;
end behavioral;