Anda di halaman 1dari 10

2 Projeto de

sistemas digitais
Semforo
Alline Paula Santos Gonalves. Matrcula: 481719
Gabriel Magalhes. Matrcula:476418
Josaf Barbosa. Matrcula:476554
Problema:
Implemente um sistema com dois semforos, para controlar o trnsito
no cruzamento de duas avenidas de mo de direo nica. Cada
semforo possura trs lmpadas (verde amarela e vermelha).
Tambm dever ser implementado, para cada avenida, um circuito
para acionamento de um sinal de pedestres. O sinal de pedestre
consiste em uma lmpada verde que se acender quando no houver
trfego de veculos na respectiva avenida, o que permitir que os
pedestres atravessem com segurana.
O funcionamento do sistema dever ser similar ao funcionamento de
um sistema de semforos real.
Para atender s eventuais mudanas nos volumes de trfego nas duas
avenidas, o sistema dever permitir que se modifiquem, atravs do
acionamento de um nico boto, as relaes entre os tempos de
acendimento das lmpadas verdes e vermelhas, gerando, no mnimo
seis programaes diferentes. O nmero da programao atual (1, 2,
3, 4, 5 ou 6) dever ser apresentado em um display de sete
segmentos.

Gerador de pulso
Como selecionar o
programa?
De segundo a segundo...
-- Contador em Anel

library ieee;
use ieee.std_logic_1164.all;

-----------------------------------------------------

entity Cont_anel is
port (clock : in std_logic;
Inic : in std_logic; -- Comando para inicializao do contador
cont_en : in std_logic; -- Comando para mudana de estado
Q : buffer std_logic_vector(119 downto 0));
end entity Cont_anel;

-----------------------------------------------------

architecture comportamento of Cont_anel is
begin
process
variable temp: std_logic;
begin
wait until clock'event and clock='1' ;
if Inic='0' then
Q <= "10000000000000000000 ... 0000000000000000000000000000000000000000000000000000000000000000";
elsif cont_en='1' then
temp := Q(0);
Q(0) <= Q(1);
Q(1) <= Q(2);
Q(2) <= Q(3);
Q(3) <= Q(4);
Q(4) <= Q(5);
Q(5) <= Q(6);
...
Q(115) <= Q(116);
Q(116) <= Q(117);
Q(117) <= Q(118);
Q(118) <= Q(119);
Q(119) <= temp;
end if;
end process;
end comportamento;
Registrador
Multiplexador
Ativa/Desativa
Display
entity display is
port(
X, Y, Z: in bit;
a, b, c, d, e, f, g: out bit );
end display;

architecture equacoes of display is

begin

a <= (NOT X AND NOT Y AND NOT Z) OR
(Y AND Z);
b <= X;
c <= NOT X AND NOT Y AND Z;
d <= (NOT X AND NOT Y AND NOT Z) OR
(Y AND Z);
e <= NOT Z OR Y;
f <= (NOT X AND NOT Y) OR (NOT X AND
NOT Z);
g <= (NOT X AND NOT Y AND NOT Z);

end equacoes;

Anda mungkin juga menyukai