Proyecto Parte 4

You might also like

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"77" => q <= "001"; y <= "100"; a <= "1010";--5..
when X"78" => q <= "001"; y <= "100"; a <= "1010";--5
when X"79" => q <= "001"; y <= "100"; a <= "1010";--5
when X"7A" => q <= "001"; y <= "100"; a <= "1010";--5
when X"7B" => q <= "001"; y <= "100"; a <= "1010";--5
when X"7C" => q <= "001"; y <= "100"; a <= "1010";--5
when X"7D" => q <= "001"; y <= "100"; a <= "1010";--5
when X"7E" => q <= "001"; y <= "100"; a <= "1010";--5
when X"7F" => q <= "001"; y <= "100"; a <= "1010";--5
when X"80" => q <= "001"; y <= "100"; a <= "1010";--5
when X"81" => q <= "001"; y <= "100"; a <= "1010";--5
when X"82" => q <= "001"; y <= "100"; a <= "1010";--5
when X"83" => q <= "001"; y <= "100"; a <= "1010";--5
when X"84" => q <= "001"; y <= "100"; a <= "1010";--5
when X"85" => q <= "001"; y <= "100"; a <= "1010";--5
when X"86" => q <= "001"; y <= "100"; a <= "1010";--5
when X"87" => q <= "001"; y <= "100"; a <= "1010";--5
when X"88" => q <= "001"; y <= "100"; a <= "1010";--5
when X"89" => q <= "001"; y <= "100"; a <= "1010";--5
when X"8A" => q <= "010"; y <= "100"; a <= "1010";--5 --AMARILLO
when X"8B" => q <= "100"; y <= "001"; a <= "1010";--5 N S verde 5 seg
when X"8C" => q <= "100"; y <= "001"; a <= "1010";--5
when X"8D" => q <= "100"; y <= "001"; a <= "1010";--5
when X"8E" => q <= "100"; y <= "001"; a <= "1010";--5
when X"8F" => q <= "100"; y <= "010"; a <= "1010";--5 AMARILLO

when X"90" => q <= "001"; y <= "100"; a <= "1011";--4 E O verde 20 seg
when X"91" => q <= "001"; y <= "100"; a <= "1011";--4
when X"92" => q <= "001"; y <= "100"; a <= "1011";--4
when X"93" => q <= "001"; y <= "100"; a <= "1011";--4
when X"94" => q <= "001"; y <= "100"; a <= "1011";--4
when X"95" => q <= "001"; y <= "100"; a <= "1011";--4
when X"96" => q <= "001"; y <= "100"; a <= "1011";--4
when X"97" => q <= "001"; y <= "100"; a <= "1011";--4
when X"98" => q <= "001"; y <= "100"; a <= "1011";--4
when X"99" => q <= "001"; y <= "100"; a <= "1011";--4
when X"9A" => q <= "001"; y <= "100"; a <= "1011";--4
when X"9B" => q <= "001"; y <= "100"; a <= "1011";--4
when X"9C" => q <= "001"; y <= "100"; a <= "1011";--4
when X"9D" => q <= "001"; y <= "100"; a <= "1011";--4
when X"9E" => q <= "001"; y <= "100"; a <= "1011";--4
when X"9F" => q <= "001"; y <= "100"; a <= "1011";--4
when X"A0" => q <= "001"; y <= "100"; a <= "1011";--4
when X"A1" => q <= "001"; y <= "100"; a <= "1011";--4
when X"A2" => q <= "001"; y <= "100"; a <= "1011";--4
when X"A3" => q <= "001"; y <= "100"; a <= "1011";--4
when X"A4" => q <= "010"; y <= "100"; a <= "1011";--4 AMARILLO
when X"A5" => q <= "100"; y <= "001"; a <= "1011";--4 N S verde 10 seg
when X"A6" => q <= "100"; y <= "001"; a <= "1011";--4
when X"A7" => q <= "100"; y <= "001"; a <= "1011";--4
when X"A8" => q <= "100"; y <= "001"; a <= "1011";--4
when X"A9" => q <= "100"; y <= "001"; a <= "1011";--4
when X"AA" => q <= "100"; y <= "001"; a <= "1011";--4
--when X"AB" => q <= "100"; y <= "001"; a <= "1011";--4
--when X"AC" => q <= "100"; y <= "001"; a <= "1011";--4
--when X"AD" => q <= "100"; y <= "001"; a <= "1011";--4
--when X"AE" => q <= "100"; y <= "001"; a <= "1011";--4
--when X"AF" => q <= "100"; y <= "010"; a <= "1011";--4 --AMARILLO

--when X"B0" => q <= "001"; y <= "100"; a <= "1100"; --2

--when X"B1" => q <= "001"; y <= "010"; a <= "1101";--3 E O verde 20 seg
--when X"B2" => q <= "001"; y <= "100"; a <= "1101";--3

when others => q <= "000"; y <= "000"; a <= "0000";

end case;
end if;
end process;

end arc;

You might also like