Forum Discussion

CKiel's avatar
CKiel
Icon for New Contributor rankNew Contributor
7 years ago

Error 10500

Library IEEE;

USE IEEE.NUMERIC_STD.ALL;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY mux4 IS

PORT(

mux_in_a:IN UNSIGNED(3 downto 0);

mux_in_b :IN UNSIGNED(3 downto 0);

mux_sel :IN STD_LOGIC;

mux_out :OUT UNSIGNED(3 downto 0);

);

END mux4;

ARCHITECTURE behavior OF mux4 IS

begin

if mux_sel='0' then mux_out <= mux_in_a

elsif mux_sel='1' then mux_out <= mux_in_b

end if;

end architecture behavior;

when i run this code i get the error

Error (10500): VHDL syntax error at mux4.vhd(12) near text ")"; expecting an identifier, or "constant", or "file", or "signal", or "variable"

2 Replies

  • sstrell's avatar
    sstrell
    Icon for Super Contributor rankSuper Contributor

    You have a semicolon (;) at the end of the mux_out port that should be removed.

  • KhaiChein_Y_Intel's avatar
    KhaiChein_Y_Intel
    Icon for Regular Contributor rankRegular Contributor

    Library IEEE;

    USE IEEE.NUMERIC_STD.ALL;

    USE IEEE.STD_LOGIC_1164.ALL;

    ENTITY mux4 IS

    PORT(

    mux_in_a:IN UNSIGNED(3 downto 0);

    mux_in_b :IN UNSIGNED(3 downto 0);

    mux_sel :IN STD_LOGIC;

    mux_out :OUT UNSIGNED(3 downto 0)

    );

    END mux4;

    ARCHITECTURE behavior OF mux4 IS

    begin

    process(mux_in_a, mux_in_b, mux_sel) begin

    if mux_sel='0' then mux_out <= mux_in_a;

    elsif mux_sel='1' then mux_out <= mux_in_b;

    end if;

    end process ;

    end behavior;