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

📄 ledshow.vhd

📁 交通灯的硬件描述语言设计
💻 VHD
字号:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY ledshow IS
	PORT(
		clk,urgen			: IN	STD_LOGIC;
		state				: IN	STD_LOGIC_VECTOR(1 DOWNTO 0);
		sub,set1,set2		: IN	STD_LOGIC;
		r1,g1,y1,r2,g2,y2	: OUT	STD_LOGIC;
		led1,led2			: OUT	STD_LOGIC_VECTOR(7 DOWNTO 0));
END ledshow;
ARCHITECTURE a OF ledshow IS
	SIGNAL count1,count2 : STD_LOGIC_VECTOR(7 DOWNTO 0);
	SIGNAL setstate1,setstate2 : STD_LOGIC_VECTOR(7 DOWNTO 0);
	SIGNAL tg1,tg2,tr1,tr2,ty1,ty2 : STD_LOGIC;
BEGIN
led1<="11111111" WHEN urgen='1' AND clk='0' ELSE count1;
led2<="11111111" WHEN urgen='1' AND clk='0' ELSE count2;
tg1<='1' WHEN state="00" AND urgen='0' ELSE '0';
ty1<='1' WHEN state="01" AND urgen='0' ELSE '0';
tr1<='1' WHEN state(1)='1' OR urgen='1' ELSE '0';
tg2<='1' WHEN state="10" AND urgen='0' ELSE '0';
ty2<='1' WHEN state="11" AND urgen='0' ELSE '0';
tr2<='1' WHEN state(1)='0' OR urgen='1' ELSE '0';
setstate1<=  "01000000" WHEN state="00" ELSE
		"00000101" WHEN state="01" ELSE
		"01000101" ;
setstate2<=  "01000000" WHEN state="10" ELSE
		"00000101" WHEN state="11" ELSE
		"01000101" ;
label2:
PROCESS (sub)
BEGIN
IF sub'event AND sub='1' THEN
IF set2='1' THEN
    count2<=setstate2;
ELSIF count2(3 DOWNTO 0)="0000" THEN count2<=count2-7; ELSE count2<=count2-1; END IF;
	g2<=tg2;
	r2<=tr2;
	y2<=ty2;
END IF;
END PROCESS label2;
label1:
PROCESS (sub)
BEGIN
IF sub'event AND sub='1' THEN
IF set1='1' THEN
    count1<=setstate1;
ELSIF count1(3 DOWNTO 0)="0000" THEN count1<=count1-7; ELSE count1<=count1-1; END IF;
	g1<=tg1;
	r1<=tr1;
	y1<=ty1;
END IF;
END PROCESS label1;
END a;

⌨️ 快捷键说明

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