📄 cnt15.vhd
字号:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY CNT15 IS
PORT(SB,SM,CLK,EN15:IN STD_LOGIC;
DOUT15M,DOUT15B:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));
END ENTITY CNT15;
ARCHITECTURE one OF CNT15 IS
SIGNAL CNT5B:STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
U1:PROCESS(SB,SM,CLK,EN15) IS
BEGIN
IF SB='0' OR SM='0' THEN
CNT5B<=CNT5B-CNT5B-1;
ELSIF(CLK'EVENT AND CLK='1') THEN
IF EN15='1' THEN
CNT5B<=CNT5B+1;
ELSIF EN15='0' THEN
CNT5B<=CNT5B-CNT5B-1;
END IF;
END IF;
END PROCESS U1;
U2:PROCESS(CNT5B) IS
BEGIN
CASE CNT5B IS
WHEN "0000"=>DOUT15B<="00010101";DOUT15M<="00100000";
WHEN "0001"=>DOUT15B<="00010100";DOUT15M<="00011001";
WHEN "0010"=>DOUT15B<="00010011";DOUT15M<="00011000";
WHEN "0011"=>DOUT15B<="00010010";DOUT15M<="00010111";
WHEN "0100"=>DOUT15B<="00010001";DOUT15M<="00010110";
WHEN "0101"=>DOUT15B<="00010000";DOUT15M<="00010101";
WHEN "0110"=>DOUT15B<="00001001";DOUT15M<="00010100";
WHEN "0111"=>DOUT15B<="00001000";DOUT15M<="00010011";
WHEN "1000"=>DOUT15B<="00000111";DOUT15M<="00010010";
WHEN "1001"=>DOUT15B<="00000110";DOUT15M<="00010001";
WHEN "1010"=>DOUT15B<="00000101";DOUT15M<="00010000";
WHEN "1011"=>DOUT15B<="00000100";DOUT15M<="00001001";
WHEN "1100"=>DOUT15B<="00000011";DOUT15M<="00001000";
WHEN "1101"=>DOUT15B<="00000010";DOUT15M<="00000111";
WHEN "1110"=>DOUT15B<="00000001";DOUT15M<="00000101";
WHEN OTHERS=>DOUT15B<="00000000";DOUT15M<="00000000";
END CASE;
END PROCESS U2;
END ARCHITECTURE one;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -