高分求基于VHDL的交通灯控制器的设计

来源:百度知道 编辑:UC知道 时间:2024/05/12 15:41:36
要求:在十字路口,交通灯按正常状态依次点亮红黄绿灯,交警可以根据路口车辆情况分别设置红、绿、黄灯持续点亮时间。在红、绿灯点亮时,能够显示其点亮持续的时间。最好能有详细的设计方案。先谢谢各位大侠相助!

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity hx is
port(clk:in std_logic;
A1,B1,C1,D1,A2,B2,C2,D2:out std_logic;
AR,AY,AG,BR,BY,BG,oe:out std_logic);
end hx;
architecture arch of hx is
type states is(s3,s2,s1,s0);
signal state:states:=s0;
signal next_state1:states:=s0;
signal count:std_logic_vector(2 downto 0);
signal count0:std_logic_vector(3 downto 0);
signal count1:std_logic_vector(3 downto 0);
signal data0:std_logic_vector(3 downto 0);
signal data1:std_logic_vector(3 downto 0);
signal light:std_logic_vector(5 downto 0);
signal en,load,carry:std_logic;
begin
p1:process(clk,load)
begin
if(rising_edge(clk))then
if load='1' then
count0<=data0;
elsif count0="0000"then
count0<="1001";
else
count0<=count0-'1';
end if;
end if;
end proces