求救:高手帮忙编一个交通灯控制的VHDL程序

来源:百度知道 编辑:UC知道 时间:2024/05/11 13:42:42
编一个这样的程序:要求不多,但是我实在不会啊!
VHDL编写程序:交通灯控制 四个方向交通灯
初始 东南西北四个方向全红 维持5S
①东西红灯 南北绿灯 维持20S
②东西绿灯 南北红灯 维持20S
① ——→②维持20S
┖ 循环—┛

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY BYSJ IS
PORT(CLK:IN STD_LOGIC;
YA,YB,YR,XA,XB,XR:OUT STD_LOGIC_VECTOR(1 DOWNTO 0));
END;
ARCHITECTURE ART OF BYSJ IS
SIGNAL A:INTEGER RANGE 100 DOWNTO 0;
SIGNAL B:STD_LOGIC_VECTOR(5 DOWNTO 0);
BEGIN

PROCESS(CLK)IS
BEGIN
IF CLK'EVENT AND CLK='1' THEN
IF A=1 THEN
A<=100;
ELSIF A=0 THEN
A<=100;
ELSE A<=A-1;
END IF;
END IF;
END PROCESS;

PROCESS(CLK)IS
BEGIN
CASE A IS
WHEN 100 DOWNTO 71=>B<="010111";
WHEN 70 DOWNTO 51=>B<="111101";
WHEN 50 DOWNTO 21=>B<="111010";
WHEN 20 DOWNTO 1=>B<="101111";
WHEN OTHERS =>B<="010111";
END CASE;
END PROCESS;

YA(1)<=NOT CLK WHEN A<74 AND A>70 ELSE NOT B(5); <