📄 monitor.vhd
字号:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY monitor IS
PORT (A:IN STD_LOGIC_VECTOR(7 DOWNTO 0);
SIGN:IN STD_LOGIC;
Y0,Y1,S:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));
END monitor;
ARCHITECTURE behavior OF monitor IS
SIGNAL X:STD_LOGIC_VECTOR(3 DOWNTO 0);
SIGNAL Y:STD_LOGIC_VECTOR(3 DOWNTO 0);
SIGNAL R:STD_LOGIC;
BEGIN
PROCESS(SIGN,A)
BEGIN
X(3 DOWNTO 0)<=A(3 DOWNTO 0);
Y(3 DOWNTO 0)<=A(7 DOWNTO 4);
R<=SIGN;
CASE X IS WHEN "0000"=>Y0<="0000001";
WHEN "0001"=>Y0<="1001111";
WHEN "0010"=>Y0<="0010010";
WHEN "0011"=>Y0<="0000110";
WHEN "0100"=>Y0<="1001100";
WHEN "0101"=>Y0<="0100100";
WHEN "0110"=>Y0<="0100000";
WHEN "0111"=>Y0<="0001111";
WHEN "1000"=>Y0<="0000000";
WHEN "1001"=>Y0<="0000100";
WHEN "1010"=>Y0<="0001000";
WHEN "1011"=>Y0<="1100000";
WHEN "1100"=>Y0<="0110001";
WHEN "1101"=>Y0<="1000010";
WHEN "1110"=>Y0<="0110000";
WHEN "1111"=>Y0<="0111000";
WHEN OTHERS=>Y0<="1111111";
END CASE;
CASE Y IS
WHEN "0000"=>Y1<="0000001";
WHEN "0001"=>Y1<="1001111";
WHEN "0010"=>Y1<="0010010";
WHEN "0011"=>Y1<="0000110";
WHEN "0100"=>Y1<="1001100";
WHEN "0101"=>Y1<="0100100";
WHEN "0110"=>Y1<="0100000";
WHEN "0111"=>Y1<="0001111";
WHEN "1000"=>Y1<="0000000";
WHEN "1001"=>Y1<="0000100";
WHEN "1010"=>Y1<="0001000";
WHEN "1011"=>Y1<="1100000";
WHEN "1100"=>Y1<="0110001";
WHEN "1101"=>Y1<="1000010";
WHEN "1110"=>Y1<="0110000";
WHEN "1111"=>Y1<="0111000";
WHEN OTHERS=>Y1<="1111111";
END CASE;
CASE R IS
WHEN '0' =>S<="0000001";
WHEN '1' =>S<="1111110";
WHEN OTHERS=>S<="1111111";
END CASE;
END PROCESS;
END behavior;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -