library ieee; use ieee.std_logic_1164.all; ENTITY Multiplexer IS -- No carry in or carry out for demonstration purposes PORT ( Input0 : IN STD_LOGIC_VECTOR(3 downto 0); Input1 : IN STD_LOGIC_VECTOR(3 downto 0); Input2 : IN STD_LOGIC_VECTOR(3 downto 0); Input3 : IN STD_LOGIC_VECTOR(3 downto 0); Input4 : IN STD_LOGIC; Control : IN STD_LOGIC_VECTOR(1 downto 0); Output1 : OUT STD_LOGIC_VECTOR(3 downto 0); Output2 : OUT STD_LOGIC ); END Multiplexer; ARCHITECTURE Procedural of Multiplexer IS BEGIN PROCESS (Input0, Input1, Input2, Input3,Input4, Control) BEGIN CASE Control is when "00" => Output1 <= Input0; when "01" => Output1 <= Input1; when "10" => Output1 <= Input2; when others => Output1<= Input3; END CASE; CASE Control is when "00" => Output2 <= '0'; when "01" => Output2 <= '0'; when "10" => Output2 <= '0'; when others => Output2 <= Input4; END CASE; END PROCESS; END Procedural;