⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 monitor.vhd

📁 此程序能够实现4位二进制乘法
💻 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 + -