asp.net和asp:跪求VHDL的交通灯源程序

来源:百度文库 编辑:中科新闻网 时间:2024/04/29 23:42:14
能编译,仿真成功的

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);
YR(1)<=NOT CLK WHEN A<74 AND A>70 ELSE NOT B(3);
XB(1)<=NOT CLK WHEN A<54 AND A>50 ELSE NOT B(1);
XA(1)<=NOT CLK WHEN A<24 AND A>20 ELSE NOT B(2);
XR(1)<=NOT CLK WHEN A<24 AND A>20 ELSE NOT B(0);
YB(1)<=NOT CLK WHEN A<4 AND A>0 ELSE NOT B(4);
YA(0)<=B(5);
YB(0)<=B(4);
YR(0)<=B(3);
XA(0)<=B(2);
XB(0)<=B(1);
XR(0)<=B(0);
END ARCHITECTURE ART;