мультиплексор 8x1 с 4 2x1 мультиплексор & 1 4x1 - PullRequest
0 голосов
/ 09 июня 2019

код показа мультиплексора 8x1 с использованием 2x1 и 4x1. я пытаюсь этот код поставить, это показать ошибку, которая говорит, что нет никакого связывания по умолчанию для компонента "mux8x1". (Порт "I" не на объекте), и я не понимаю, где моя ошибка в коде, я проверяю это снова и снова, не нашел что-то не так, если кто-то может мне помочь, я буду благодарен, что

-- Code your design here
library IEEE;
use IEEE.std_logic_1164.all;

--declaration for 8x1
entity mux8x1 is   
    port( I : in std_logic_vector(7 downto 0); -- input that need 8x1
           s: in std_logic_vector(2 downto 0); --is the enable
           Y: out std_logic -- output of 8x1 is the output
    );
end mux8x1;

architecture behavioral of mux8x1 is
    signal f0,f1,f2,f3 : std_logic;
begin
    process(I,S)
    begin
        if s(0)='0' then 
            f0<=I(7);
            f1<=I(5);
            f2<=I(3);
            f3<=I(1);
        else 
            f0<=I(6);
            f1<=I(4);
            f2<=I(2);
            f3<=I(0);
        end if;

        if (s(1)='0' and s(0)='0')then
            Y<=f0;
            if (s(1)='0' and s(0)='1')then
                Y<=f1;
                if (s(1)='1' and s(0)='0')then
                    Y<=f2;
                    if (s(1)='1' and s(0)='1')then
                        Y<=f3;
                    end if;
                end if;
            end if;
        end if;
    end process;
end behavioral;

1 Ответ

0 голосов
/ 11 июня 2019
ARCHITECTURE behavior OF mux8x1 IS 
   COMPONENT mux8x1 is

У вашего тестового стенда должно быть другое имя, чем у тестируемого объекта / компонента, вот и все!
Переименуйте ваш тестовый стенд как mux8x1_tb
Что доказывает, что вы должны были разместить здесь код тестового стенда, чтобы мы могли вам помочь ...

...