-- +-----------------------------+ -- | Library: multiplexer | -- | designer : Tim Pagden | -- | opened: 7 Jul 1998 | -- | edit by JK 19/05/08 | -- +-----------------------------+ -- Function: N-bit demultiplexer library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; entity demux_generic is generic ( in_width : integer := 1 ); port ( a : in std_logic_vector(in_width-1 downto 0); enable : in std_logic; y : out std_logic_vector((2 ** in_width)-1 downto 0) ); end demux_generic; architecture behaviour of demux_generic is begin demux_a_to_y: process (a, enable) begin y <= (others => '0'); if enable = '1' then y(to_integer(unsigned(a))) <= '1'; end if; end process; end behaviour;