dout_mux.vhd

来自「8255的vhdl代码」· VHDL 代码 · 共 53 行

VHD
53
字号
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;

ENTITY dout_mux IS
   PORT(
      DOUTSelect  : IN std_logic_vector (2 DOWNTO 0);
      ControlReg  : IN std_logic_vector (7 DOWNTO 0);
      PortAInReg  : IN std_logic_vector (7 DOWNTO 0);
      PAIN        : IN std_logic_vector (7 DOWNTO 0);
      PortBInReg  : IN std_logic_vector (7 DOWNTO 0);
      PBIN        : IN std_logic_vector (7 DOWNTO 0);
      PortCStatus : IN std_logic_vector (7 DOWNTO 0);
      DOUT        : OUT std_logic_vector(7 DOWNTO 0)
   );

END dout_mux;


ARCHITECTURE rtl OF dout_mux IS

   BEGIN
      mux_proc : PROCESS( DOUTSelect, PAIN, PortAInReg, PBIN, PortBInReg, PortCStatus, ControlReg, DOUTSelect)
         BEGIN

            CASE DOUTSelect IS

               WHEN "000" => 
                   DOUT <= PAIN;

               WHEN "001" =>                
                   DOUT <= PortAInReg;

               WHEN "010" =>                
                   DOUT <= PBIN;

               WHEN "011" =>                
                   DOUT <= PortBInReg;

               WHEN "100" =>                
                   DOUT <= PortCStatus;

               WHEN "110" =>                
                   DOUT <= ControlReg;

               WHEN OTHERS =>
                   DOUT <= "11111111";

             END CASE;

      END PROCESS mux_proc;

   END rtl;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?