📄 dongtai8duankou.vhd
字号:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
ENTITY dongtai8duankou IS
PORT(
clk : IN STD_LOGIC;
p1,p2,p3,p4,p5,p6,p7,p8 : IN STD_LOGIC_VECTOR(3 downto 0);
wei : OUT STD_LOGIC_VECTOR(7 downto 0);
duan : OUT STD_LOGIC_VECTOR(7 downto 0));
END ;
ARCHITECTURE a OF dongtai8duankou IS
SIGNAL count : STD_LOGIC_VECTOR(2 downto 0);
SIGNAL temp : STD_LOGIC_VECTOR(3 downto 0);
BEGIN
PROCESS (clk)
BEGIN
IF clk'event and clk='1' THEN
count<=count+1;
END IF;
END PROCESS ;
process(count)
begin
case count is
when "000"=>wei<="00000001";
when "001"=>wei<="00000010";
when "010"=>wei<="00000100";
when "011"=>wei<="00001000";
when "100"=>wei<="00010000";
when "101"=>wei<="00100000";
when "110"=>wei<="01000000";
when "111"=>wei<="10000000" ;
when others=> NULL;
end case;
end process;
process(count)
begin
case count is
when "000"=>temp<=p1(3 downto 0);
when "001"=>temp<=p2(3 downto 0);
when "010"=>temp<=p3(3 downto 0);
when "011"=>temp<=p4(3 downto 0);
when "100"=>temp<=p5(3 downto 0);
when "101"=>temp<=p6(3 downto 0);
when "110"=>temp<=p7(3 downto 0);
when "111"=>temp<=p8(3 downto 0);
when others=> NULL;
end case;
end process;
process(temp)
begin
case temp is
when "0000"=>duan<="11111100";
when "0001"=>duan<="01100000";
when "0010"=>duan<="11011010";
when "0011"=>duan<="11110010";
when "0100"=>duan<="01100110";
when "0101"=>duan<="10110110";
when "0110"=>duan<="10111110";
when "0111"=>duan<="11100000";
WHEN "1000"=>duan<="11111110";
WHEN "1001"=>duan<="11110110";
WHEN "1010"=>duan<="11101110";
WHEN "1011"=>duan<="10011100";
WHEN "1101"=>duan<="01111010";
WHEN "1110"=>duan<="10011110";
WHEN "1111"=>duan<="10001110";
WHEN OTHERS=>NULL;
end case;
end process;
END a;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -