
entity GRAY2BCD is
  port (GRAY : in bit_vector(3 downto 0);
        BCD : out bit_vector(3 downto 0));
end GRAY2BCD;

architecture CONCURRENT of GRAY2BCD is
begin
  BCD <= "0000" when GRAY = "0000" else
         "0001" when GRAY = "0001" else
         "0010" when GRAY = "0011" else
         "0011" when GRAY = "0010" else
         "0100" when GRAY = "0110" else
         "0101" when GRAY = "1110" else
         "0110" when GRAY = "1010" else
         "0111" when GRAY = "1011" else
         "1000" when GRAY = "1001" else
         "1001" when GRAY = "1000"; --else
--         "1111";
end CONCURRENT;

