Почему VHDL дает мне ошибку 12004, хотя я все правильно объявил? - PullRequest
0 голосов
/ 29 марта 2019

Итак, я должен реализовать простую функцию F с минимальными затратами с использованием компонентов.Я написал то, что, как я считаю, является правильным путем в соответствии с заметками моего учителя, но я получаю ошибку Ошибка (12004): порт "out1" не существует в примитиве "AND2" экземпляра "U3", который, как я считаю, имеет что-тоделать с объявлением моих компонентов, но я не могу найти, что не так.Я только начал VHDL два дня назад, поэтому я новичок, если не сказать больше; p Любая помощь будет очень признательна, так как я не могу найти что-либо еще в Интернете. Причина, по которой у меня больше переменных, чем я использую, заключается в том, что я собираюсьдобавьте больше кода после того, как я решу эту ошибку.:)

library ieee, my_func;
USE ieee.std_logic_1164.all, my_func.basic_func.all;
ENTITY Ergasia IS
        PORT (X1,X2,X3,X4,X5:IN std_logic;
        F,G:out std_logic);
END Ergasia;
architecture structural of Ergasia is

        component AND2 
                port(in1, in2: in std_logic;
                        out1: out std_logic);
        end component;
        component AND3
                port(in1, in2, in3: in std_logic;
                        out1: out std_logic);
        end component;
        component OR3
                port(in1, in2, in3: in std_logic;
                        out1: out std_logic);
        end component;
        component NOT1
                port(in1: in std_logic;
                        out1: out std_logic);
        end component;
        signal X1_NOT, X2_NOT, X3_NOT, X4_NOT, X5_NOT, B1, B2, B3:std_logic;
begin
        U0: NOT1 port map (X1,X1_NOT);
        U1: NOT1 port map (X2,X2_NOT);
        U2: NOT1 port map (X3,X3_NOT);
        U3: AND2 port map (X1_NOT,X2_NOT,B1);
        U4: AND2 port map (X2, X3_NOT, B2);
        U5: AND3 port map (X1, X2, X5, B3);
        U6: OR3 port map (B1, B2, B3,G);
end structural;

Также мой basic_func - это:

...