VHDL

Benutzeravatar
davidvajda.de
Site Admin
Beiträge: 1424
Registriert: Di Jul 18, 2023 8:36 pm
Wohnort: D-72072, Tübingen
Kontaktdaten:

Re: VHDL

Beitrag von davidvajda.de »

Code: Alles auswählen

-- 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;
Antworten