--======================================================== -- Design units : nMUX_four (Entity, Architecture) -- -- File name : nMUX_four.vhd -- -- Purpose : n-bit 4:1 multiplexer -- -- Limitations : - -- -- Library : IEEE -- -- Dependencies : - -- -- Author : Claus-Juergen Thomas, REFT -- -- Simulator : Synopsys V3.2a on SUN SPARCstation 10 -- ----------------------------------------------------------- -- Revision list -- Version Author Date Changes -- -- v1.0 cjt 04.07.1996 new --========================================================= LIBRARY ieee; USE ieee.std_logic_1164.all; USE work.ELEMpack.all; ENTITY nMUX_four IS GENERIC(N : POSITIVE := 4); PORT(A : IN std_logic_vector(N-1 DOWNTO 0); -- Data in 0 B : IN std_logic_vector(N-1 DOWNTO 0); -- Data in 1 C : IN std_logic_vector(N-1 DOWNTO 0); -- Data in 2 D : IN std_logic_vector(N-1 DOWNTO 0); -- Data in 3 S0 : IN std_logic; -- Select input 0 S1 : IN std_logic; -- Select input 1 Y : OUT std_logic_vector(N-1 DOWNTO 0)); -- Data out END nMUX_four; --============================ARCHITECTURE================== ARCHITECTURE Behavior OF nMUX_four IS BEGIN main: PROCESS (A,B,C,D,S0,S1) BEGIN IF S1 = '0' THEN IF S0 = '0' THEN Y <= A; ELSE Y <= B; END IF; ELSE IF S0 = '0' THEN Y <= C; ELSE Y <= D; END IF; END IF; END PROCESS; END Behavior;