⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 control.vhd

📁 交通灯VHDL设计
💻 VHD
字号:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity control is
port(clk:in std_logic;
      C60: in std_logic;
      C20:in std_logic;
      C5: in std_logic;
      Q0: out std_logic;
       E60:out std_logic;
       E20: out std_logic;
       E5:out std_logic;
         Q1: out std_logic );
end control;
architecture behav of control is
type state_type is(a,b,c,d);
signal y_present,y_next: state_type;
begin
process(C60,C20,C5)
begin
if clk'event and clk='0' then
y_present<=y_next;

end if;
end process;
process(clk)
begin 
case y_present is
when a=>
if(C60='1' and C20='0' and C5='0')then
  y_next<=b;
else y_next<=a;
  end if;
E60<='0';
E20<='1';   
E5<='1';
Q1<='0';
Q0<='0';
when b=>
if(C5='1' and C20='0' and C60='0')then
  y_next<=c;
else y_next<=b;
  end if;
E60<='1';
E20<='1';   
E5<='0';
Q1<='0';
Q0<='1';

when c=>
if(C60='0' and C20='1' and C5='0')then
  y_next<=d;
else y_next<=c;
  end if;
E60<='1';
E20<='0';   
E5<='1';
Q1<='1';
Q0<='1';

when d=>
if(C60='0' and C20='0' and C5='1')then
  y_next<=a;
else y_next<=d;
  end if;
E60<='1';
E20<='1';   
E5<='0';
Q1<='1';
Q0<='0';
when others=>null;
end case;
end process;
end behav;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -