Re: VHDL

-- 0001 VHDL - Multiplexer, Halfadder, Fulladder, Paralleladder, Coder, Decoder
-- without architecture and entity - this will be in 0002 - VHDL

-- Multiplexer

    signal a: bit_vector (3 downto 0);
    signal b: bit_vector (3 downto 0);
    signal c: bit_vector (3 downto 0);

    process (cout)
    begin
        a <= ain;
        b <= bin;
        if (clk='0') then
            c <= a;
        elseif (clk='1') then
            c <= b;
        end if;
        cout <= c;
    end process;

-- Adder

    signal a: bit;
    signal b: bit;
    signal c: bit;
    signal s: bit;

    process (cout, sout)
    begin
        a <= ain;
        b <= bin;
        c <= a xor b;
        s <= a and b;
        cout <= c;
        sout <= s;
    end process;

-- Fulladder

    signal a: bit;
    signal b: bit;
    signal c: bit;
    signal s0: bit;
    signal s1: bit;

    process (cout, sout)
    begin
        a <= ain;
        b <= bin;
        s0 <= sin;

        c <= a xor b xor s0;
        s1 <= (a and b) or (a or b) and c;

        cout <= c;
        sout <= s1;
    end process;