LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY add_to_ssd IS
    PORT (
        a, b : IN STD_LOGIC_VECTOR (1 DOWNTO 0);
        y : OUT STD_LOGIC_vector (6 DOWNTO 0));
END add_to_ssd;

ARCHITECTURE Hybrid OF add_to_ssd IS

    COMPONENT fa
        PORT (
            a, b, cin : IN STD_LOGIC;
            s, cout : OUT STD_LOGIC);
    END COMPONENT;

    SIGNAL r : std_logic_vector(2 DOWNTO 0);
    CONSTANT cin : std_logic := '0';
    SIGNAL c : std_logic;

BEGIN
    a1 : fa PORT MAP(a(0), b(0), cin, r(0), c);
    a2 : fa PORT MAP(a(1), b(1), c, r(1), r(2));

    y <= "1111110" WHEN r = "000" ELSE
        "0110000" WHEN r = "001" ELSE
        "1101101" WHEN r = "010" ELSE
        "1111001" WHEN r = "011" ELSE
        "0110011" WHEN r = "100" ELSE
        "1011011" WHEN r = "101" ELSE
        "1011111" WHEN r = "110" ELSE
        "1110000" WHEN r = "111";

END Hybrid;