// это 4: 1 mux
Library ieee;
use ieee.std_logic_1164.all;
ENTITY fourMux IS
PORT(B : IN BIT_VECTOR (0 to 3);
sel : IN BIT_VECTOR(0 to 1);
clk : IN BIT;
output : OUT BIT);
END fourMux;
ARCHITECTURE example OF fourMux IS
BEGIN
PROCESS (clk)
VARIABLE temp : BIT;
BEGIN
IF(clk = '1') THEN
IF sel = "00" THEN
temp := B (0);
ELSIF sel = "01" THEN
temp := B (1);
ELSIF sel = "10" THEN
temp := B (2);
ELSE
temp := B (3);
END IF;
output <= temp AFTER 5ns;
END IF;
END PROCESS;
END example;
// это полный сумматор
Library ieee;
use ieee.std_logic_1164.all;
entity fullAdders is
port(x,y,Cin :in std_logic;
sum, Cout:out std_logic);
end fullAdders;
architecture level of fullAdders is
begin
sum <= (x xor y xor Cin);
Cout <= (x and y) or (x and Cin) or (x and Cin);
end level;
// четырехбитный сумматор
entity Fourbit is
port(a,b :in bit_vector(3 downto 0);
Cin :in bit;
Cout, sum :out bit);
end Fourbit;
architecture struct of Fourbit is
component fullAdders
port(x,y,Cin :in bit;
Cout, sum :out bit);
end component;
component fourMux
port( A,B,C,D : in STD_LOGIC;
S0,S1: in STD_LOGIC;
Z: out STD_LOGIC);
end component;
Это то, что я до сих пор.и я не понимаю, как использовать мой fourMux с полным сумматором?любое предложение?Что мне делать отсюда?Я пытаюсь использовать карту портов из компонента, но она не работает.