vhdl10.vhd

来自「程序提供了一种简单高效的模拟交通灯控制器的算法」· VHDL 代码 · 共 45 行

VHD
45
字号
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY vhdl10 IS
PORT( clk,reset: IN STD_LOGIC;
	  time : IN STD_LOGIC_VECTOR(2 DOWNTO 0);
        output : OUT STD_LOGIC_VECTOR(2 DOWNTO 0));
END ENTITY vhdl10;
ARCHITECTURE one OF vhdl10 IS
TYPE st IS (red,green,yellow);
SIGNAL c_st,n_st: st;

BEGIN

REG: PROCESS(reset,clk)
BEGIN
IF clk = '1' AND clk'EVENT THEN
IF reset = '1' THEN c_st <= red;
ELSE c_st <= n_st;
END IF;
END IF;
END PROCESS;
 
COM: PROCESS(c_st,time)
BEGIN
CASE c_st IS
WHEN red => 
IF time = "010" THEN n_st <= green;
output <= "010";
ELSE n_st <= red;
END IF;
WHEN green =>
IF time = "100" THEN n_st <= yellow;
output <= "100";
ELSE n_st <= green;
END IF;
WHEN yellow =>
IF time = "001" THEN n_st <= red;
ELSE n_st <= yellow;
output <= "001";
END IF;
END CASE;
END PROCESS;
END one;

⌨️ 快捷键说明

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