Я пытаюсь сделать ALU с компонентом сумматора, mux2 и mux4 с картой портов. Я написал ALU, он прошел компиляцию в порядке. Проблема в том, что когда я пытаюсь ввести значения в modelsim, сумматор работает нормально, но mux2 (sub_module) и mux4 (sub_module x2) не выдают результат. Меняю 2-3 раза код мультиплексора и проблема та же. Я получаю только значения UUUUUUUU для outY. Я минимизировал код.
Основное АЛУ свернуто
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity ALU7_minimal is
Port ( inpA : IN STD_LOGIC_VECTOR (7 downto 0) :="10110001";
inpB : IN STD_LOGIC_VECTOR (7 downto 0) :="00011001";
ALUS0 : in STD_LOGIC := '0';
outY : out STD_LOGIC_VECTOR (7 downto 0));
end ALU7_minimal;
architecture Behavioral of ALU7_minimal is
component sub_module
port(x,y : in STD_LOGIC_VECTOR (7 downto 0);
s: in STD_LOGIC;
z: out STD_LOGIC_VECTOR (7 downto 0));
end component;
begin
U0: sub_module port map (inpA, inpB, ALUS0, outY );
end Behavioral ;
мультиплексор2-1
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity sub_module is
port(x,y : in STD_LOGIC_VECTOR (7 downto 0);
s: in STD_LOGIC;
z: out STD_LOGIC_VECTOR (7 downto 0));
end sub_module ;
architecture Behavioral of sub_module is
begin
process (x,y,s) is
begin
if (s ='0') then
z <= x;
else
z <= y;
end if;
end process;
end Behavioral;
out0
управляется, но не используется в качестве входа, равно как иout12
. - person   schedule 27.05.2020