📄 ledwater.vhd
字号:
--跑马灯实验:利用计数器轮流点亮LED灯,实现各种动态效果。
-- 跑马灯实验:利用计数器轮流点亮LED灯,实现各种动态效果。
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY ledwater IS
PORT (
clk : IN std_logic;
rst : IN std_logic;
dataout : OUT std_logic_vector(11 DOWNTO 0));
END ledwater;
ARCHITECTURE arch OF ledwater IS
SIGNAL cnt : std_logic_vector(27 DOWNTO 0);
BEGIN
PROCESS(clk,rst)
BEGIN
IF(RST='0')THEN
CNT<="0000000000000000000000000000";
ELSIF(CLK'EVENT AND CLK='1')THEN
CNT<=CNT+1;
END IF;
END PROCESS;
PROCESS(CNT(27 DOWNTO 24))
BEGIN
CASE CNT(27 DOWNTO 24) IS
WHEN "0000" => DATAOUT<="011111111110";
WHEN "0001" => DATAOUT<="101111111101";
WHEN "0010" => DATAOUT<="110111111011";
WHEN "0011" => DATAOUT<="111011110111";
WHEN "0100" => DATAOUT<="111101101111";
WHEN "0101" => DATAOUT<="111110011111";
WHEN "0110" => DATAOUT<="111101101111";
WHEN "0111" => DATAOUT<="111011110111";
WHEN "1000" => DATAOUT<="110111111011";
WHEN "1001" => DATAOUT<="101111111101";
WHEN "1010" => DATAOUT<="011111111110";
WHEN "1011" => DATAOUT<="000000000000";
WHEN "1100" => DATAOUT<="111111111111";
WHEN "1101" => DATAOUT<="000000111111";
WHEN "1110" => DATAOUT<="111111000000";
WHEN "1111" => DATAOUT<="101010101010";
WHEN OTHERS =>
END CASE;
END PROCESS;
END arch;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -