EDA的VHDL彩灯程序
发布网友
发布时间:2022-05-23 17:31
我来回答
共3个回答
热心网友
时间:2023-11-01 04:20
可以实现,不过需要你自己改改,只是九个灯的,分不分的没关系,主要是你的编程能得到提高:
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(8 DOWNTO 0));
END ;
ARCHITECTURE arch OF ledwater IS
SIGNAL cnt : std_logic_vector(16 DOWNTO 0);
SIGNAL dataout_tmp : std_logic_vector(8 DOWNTO 0);
BEGIN
PROCESS(clk,rst)
BEGIN
IF (NOT rst = '1') THEN
cnt <= "00000000000000000000000";
dataout_tmp <= "110011011"; --为0的bit位代表要点亮的LED的位置
ELSIF(clk'event and clk='1')THEN
cnt <= cnt + "00000000000000000000001";
IF (cnt = "11111111111111111111111") THEN
dataout_tmp(6 DOWNTO 0) <= dataout_tmp(8 DOWNTO 1);
dataout_tmp(8) <= dataout_tmp(0);
END IF;
END IF;
END PROCESS;
dataout <= dataout_tmp;
END ;
热心网友
时间:2023-11-01 04:21
FUNNY
估计没有你满意的答案了
热心网友
时间:2023-11-01 04:21
太难了点。