library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity Aufgabe2 is
    Port ( btn_cod : in std_logic_vector(4 downto 0);
           led : out std_logic_vector(4 downto 0);
           seg7ca : out std_logic_vector(6 downto 0);
           seg7an : out std_logic_vector(3 downto 0));
end Aufgabe2;

architecture Behavioral of Aufgabe2 is
	signal tmp: std_logic_vector(1 downto 0);
begin
	-- Direktausgabe der Tasterwerte
	led <= btn_cod;

	-- die Ziffer der 7-Segmentanzeige k�nnen nur zeitlich
	-- nacheinander angesteuert werden. Auswahl durch das Signal
	-- seg7ca: 1 - ein; 0 - aus
	-- Nachfolgende Zuweisung bewirkt, dass nur die rechten Ziffer
	-- eingeschaltet ist und auch nur, wenn eine Taste gedr�ckt ist
	seg7an <= "000" & btn_cod(4);
	
	-- Die Auswahl der einzelnen Segment erfolgt �ber die Signale
	-- seg7ca. Die nachfolgende Zuordnung zwischen Tastereingabe
	-- und Ausgabe ist willk�rlich gew�hlt und soll entsprechend 
	-- Aufgabestellung ver�ndert werden.
	
	tmp(0)<= btn_cod(1) xor btn_cod(0);
	tmp(1)<= btn_cod(3) xor btn_cod(2);

	with tmp select
	seg7ca <=	"0111000" when "00",
			"0111110" when "01",
			"1111001" when "10",
			"1110111" when others;

end Behavioral;