📄 traffic_control.vhd
字号:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY traffic_control IS
PORT(
clk :IN STD_LOGIC;
c1,c2,c3 :OUT STD_LOGIC;
w1,w2,w3 :IN STD_LOGIC;
r1,r2 :OUT STD_LOGIC;
y1,y2 :OUT STD_LOGIC;
g1,g2 :OUT STD_LOGIC;
reset :IN STD_LOGIC);
END traffic_control;
ARCHITECTURE a OF traffic_control IS
TYPE STATE_SPACE IS(S0,S1,S2,S3);
SIGNAL state:STATE_SPACE;
BEGING
PROCESS(clk)
BEGIN
IF reset='1'THEN
state<=S0;
ELSIF(clk'EVENT AND clk='1')THEN
CASE state IS
WHEN S0=>
IF w1='1'THEN
state<=S1;
END IF;
WHEN S1=>
IF w2='1'THEN
state<=S2;
END IF;
WHEN S2=>
IF w3='1'THEN
state<=S3;
END IF;
WHEN S3=>
IF w2='1'THEN
state<=S0;
END IF;
END CASE;
END IF;
END PROCESS;
c1<='1' WHEN state=S0 ELSE '0';
c2<='1' WHEN state=S1 OR state=S3 ELSE '0';
c3<='1' WHEN state=S2 ELSE '0';
r1<='1' WHEN state=S1 OR state=S0 ELSE '0';
y1<='1' WHEN state=S3 ELSE '0';
g1<='1' WHEN state=S2 ELSE '0';
r2<='1' WHEN state=S2 OR state=S3 ELSE '0';
y2<='1' WHEN state=S1 ELSE '0';
g2<='1' WHEN state=S0 ELSE '0';
END a;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -