LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY encoder8_3 IS
PORT(RESET:IN STD_LOGIC;
INPUT:IN STD_LOGIC_VECTOR(7 DOWNTO 0);
OUTPUT:OUT STD_LOGIC_VECTOR(2 DOWNTO 0));
END encoder8_3;
ARCHITECTURE Behavioral OF encoder8_3 IS
BEGIN
PROCESS(RESET,INPUT)
BEGIN
IF(RESET='1') THEN
OUTPUT<="000";
ELSE
CASE INPUT IS
WHEN"00000001"=>OUTPUT<="000";
WHEN"00000010"=>OUTPUT<="001";
WHEN"00000100"=>OUTPUT<="010";
WHEN"00001000"=>OUTPUT<="011";
WHEN"00010000"=>OUTPUT<="100";
WHEN"00100000"=>OUTPUT<="101";
WHEN"01000000"=>OUTPUT<="110";
WHEN"10000000"=>OUTPUT<="111";
WHEN OTHERS=>OUTPUT<="000";
END CASE;
END IF;
END PROCESS;
END Behavioral;