Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 2

library ieee;

use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;

entity semaforo is
port(
clk: in bit;
count: in std_logic_vector(7 downto 0);
q: out std_logic_vector(2 downto 0);--semaforo E O || R A V
y: out std_logic_vector(2 downto 0);--semaforo N S || R A V
a: out std_logic_vector(3 downto 0));--Calles
end semaforo;

architecture arc of semaforo is


begin
process(clk)
begin
if clk'event and clk = '1' then
case count is

--when X"5A" => q <= "100"; y <= "010"; a <= "0111";--4 --AMARILLO

when X"5B" => q <= "001"; y <= "100"; a <= "1000"; --2

when X"5C" => q <= "001"; y <= "100"; a <= "1001";--5 E O verde 20 seg
when X"5D" => q <= "001"; y <= "100"; a <= "1001";--5
when X"5E" => q <= "001"; y <= "100"; a <= "1001";--5
when X"5F" => q <= "001"; y <= "100"; a <= "1001";--5
when X"60" => q <= "001"; y <= "100"; a <= "1001";--5
when X"61" => q <= "001"; y <= "100"; a <= "1001";--5
when X"62" => q <= "001"; y <= "100"; a <= "1001";--5
when X"63" => q <= "001"; y <= "100"; a <= "1001";--5
when X"64" => q <= "001"; y <= "100"; a <= "1001";--5
when X"65" => q <= "001"; y <= "100"; a <= "1001";--5
when X"66" => q <= "001"; y <= "100"; a <= "1001";--5
when X"67" => q <= "001"; y <= "100"; a <= "1001";--5
when X"68" => q <= "001"; y <= "100"; a <= "1001";--5
when X"69" => q <= "001"; y <= "100"; a <= "1001";--5
when X"6A" => q <= "001"; y <= "100"; a <= "1001";--5
when X"6B" => q <= "001"; y <= "100"; a <= "1001";--5
when X"6C" => q <= "001"; y <= "100"; a <= "1001";--5
when X"6D" => q <= "001"; y <= "100"; a <= "1001";--5
when X"6E" => q <= "001"; y <= "100"; a <= "1001";--5
when X"6F" => q <= "001"; y <= "100"; a <= "1001";--5
when X"70" => q <= "010"; y <= "100"; a <= "1001";--5 --AMARILLO
when X"71" => q <= "100"; y <= "001"; a <= "1001";--5 N S verde 5 seg
when X"72" => q <= "100"; y <= "001"; a <= "1001";--5
when X"73" => q <= "100"; y <= "001"; a <= "1001";--5
when X"74" => q <= "100"; y <= "001"; a <= "1001";--5
when X"75" => q <= "100"; y <= "010"; a <= "1001";--5 AMARILLO

when X"76" => q <= "001"; y <= "100"; a <= "1010";--5 E O verde 20 seg
when X"77" => q <= "001"; y <= "100"; a <= "1010";--5
when others => q <= "000"; y <= "000"; a <= "0000";

end case;
end if;
end process;

end arc;

You might also like