library IEEE; use IEEE.std_logic_1164.all; entity shifting_hex is port ( binary_number : in std_logic_vector (3 downto 0); display_ssd0 : out std_logic_vector (6 downto 0); display_ssd1 : out std_logic_vector (6 downto 0); display_ssd2 : out std_logic_vector (6 downto 0); display_ssd3 : out std_logic_vector (6 downto 0); display_ssd4 : out std_logic_vector (6 downto 0); display_ssd5 : out std_logic_vector (6 downto 0); display_ssd6 : out std_logic_vector (6 downto 0); display_ssd7 : out std_logic_vector (6 downto 0) ); end shifting_hex; architecture arch of shifting_hex is begin process (binary_number) begin if (binary_number="0000") then --0 display_ssd7 <= "1000000"; display_ssd6 <= "1111001"; display_ssd5 <= "0100100"; display_ssd4 <= "0110000"; display_ssd3 <= "0011001"; display_ssd2 <= "0010010"; display_ssd1 <= "0000010"; display_ssd0 <= "1111000"; elsif (binary_number="0001") then --1 display_ssd7 <= "1111001"; display_ssd6 <= "0100100"; display_ssd5 <= "0110000"; display_ssd4 <= "0011001"; display_ssd3 <= "0010010"; display_ssd2 <= "0000010"; display_ssd1 <= "1111000"; display_ssd0 <= "0000000"; elsif (binary_number="0010") then --2 display_ssd7 <= "0100100"; display_ssd6 <= "0110000"; display_ssd5 <= "0011001"; display_ssd4 <= "0010010"; display_ssd3 <= "0000010"; display_ssd2 <= "1111000"; display_ssd1 <= "0000000"; display_ssd0 <= "0010000"; elsif (binary_number="0011") then --3 display_ssd7 <= "0110000"; display_ssd6 <= "0011001"; display_ssd5 <= "0010010"; display_ssd4 <= "0000010"; display_ssd3 <= "1111000"; display_ssd2 <= "0000000"; display_ssd1 <= "0010000"; display_ssd0 <= "0001000"; elsif (binary_number="0100") then --4 display_ssd7 <= "0011001"; display_ssd6 <= "0010010"; display_ssd5 <= "0000010"; display_ssd4 <= "1111000"; display_ssd3 <= "0000000"; display_ssd2 <= "0010000"; display_ssd1 <= "0001000"; display_ssd0 <= "0000011"; elsif (binary_number="0101") then --5 display_ssd7 <= "0010010"; display_ssd6 <= "0000010"; display_ssd5 <= "1111000"; display_ssd4 <= "0000000"; display_ssd3 <= "0010000"; display_ssd2 <= "0001000"; display_ssd1 <= "0000011"; display_ssd0 <= "1000110"; elsif (binary_number="0110") then --6 display_ssd7 <= "0000010"; display_ssd6 <= "1111000"; display_ssd5 <= "0000000"; display_ssd4 <= "0010000"; display_ssd3 <= "0001000"; display_ssd2 <= "0000011"; display_ssd1 <= "1000110"; display_ssd0 <= "0100001"; elsif (binary_number="0111") then --7 display_ssd7 <= "1111000"; display_ssd6 <= "0000000"; display_ssd5 <= "0010000"; display_ssd4 <= "0001000"; display_ssd3 <= "0000011"; display_ssd2 <= "1000110"; display_ssd1 <= "0100001"; display_ssd0 <= "0000110"; elsif (binary_number="1000") then --8 display_ssd7 <= "0000000"; display_ssd6 <= "0010000"; display_ssd5 <= "0001000"; display_ssd4 <= "0000011"; display_ssd3 <= "1000110"; display_ssd2 <= "0100001"; display_ssd1 <= "0000110"; display_ssd0 <= "0001110"; elsif (binary_number="1001") then --9 display_ssd7 <= "0010000"; display_ssd6 <= "0001000"; display_ssd5 <= "0000011"; display_ssd4 <= "1000110"; display_ssd3 <= "0100001"; display_ssd2 <= "0000110"; display_ssd1 <= "0001110"; display_ssd0 <= "1000000"; elsif (binary_number="1010") then --A display_ssd7 <= "0001000"; display_ssd6 <= "0000011"; display_ssd5 <= "1000110"; display_ssd4 <= "0100001"; display_ssd3 <= "0000110"; display_ssd2 <= "0001110"; display_ssd1 <= "1000000"; display_ssd0 <= "1111001"; else display_ssd7 <= "1000000"; display_ssd6 <= "1111001"; display_ssd5 <= "0100100"; display_ssd4 <= "0110000"; display_ssd3 <= "0011001"; display_ssd2 <= "0010010"; display_ssd1 <= "0000010"; display_ssd0 <= "1111000"; end if; end process; end arch;