mux4.vhd

来自「数字逻辑基础与Verilog设计,针对verilog语言的特点」· VHDL 代码 · 共 35 行

VHD
35
字号
LIBRARY IEEE;
USE IEEE.std_logic_1164.ALL;

ENTITY mux4 IS 
           PORT (d0  : IN  std_logic_vector(3 downto 0);
                 d1  : IN  std_logic_vector(3 DOWNTO 0);
                 d2  : IN  std_logic_vector(3 DOWNTO 0);
                 d3  : IN  std_logic_vector(3 DOWNTO 0);
	         sel : IN  std_logic_vector(1 DOWNTO 0);
		 q   : OUT std_logic_vector(3 DOWNTO 0));
END mux4;

ARCHITECTURE rtl_arc OF mux4 IS
BEGIN
     PROCESS(d0,d1,d2,d3,sel)
     VARIABLE  tmp  : integer RANGE 0 TO 15;
     BEGIN
              tmp := 0;
	      IF (sel(0) ='1') THEN
		  tmp := tmp+1;
              END IF;
              IF (sel(1) ='1') THEN
		  tmp := tmp+2;
              END IF;
              CASE tmp IS
                   WHEN 0 => q <= d0;
                   WHEN 1 => q <= d1;
                   WHEN 2 => q <= d2;
                   WHEN 3 => q <= d3;
                   WHEN OTHERS => q <= "ZZZZ";
              END CASE;
     END PROCESS;
END rtl_arc;

⌨️ 快捷键说明

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