library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; library std; use std.textio.all; -------------------------------------------------------------------------------- entity priority_encoder is generic ( SEL_W : integer := 16; CODE_W : integer := 4); port ( sel : in std_logic_vector (SEL_W-1 downto 0); code : out std_logic_vector (CODE_W-1 downto 0)); end entity priority_encoder; -------------------------------------------------------------------------------- architecture behavioral of priority_encoder is -------------------------------------------------------------------------------- begin process (sel) is begin code <= (others => '-'); for i in 0 to SEL_W-1 loop if sel(i) = '1' then code <= conv_std_logic_vector(i, CODE_W); end if; end loop; end process; end architecture behavioral;