VHDL组件多路复用器在modelsim中不返回值

VHDL组件多路复用器在modelsim中不返回值,vhdl,modelsim,quartus,mux,Vhdl,Modelsim,Quartus,Mux,我正在尝试使用加法器制作ALU,使用端口映射制作mux2和mux4组件。 我已经写了ALU它通过编译OK。问题是,当我尝试在modelsim中给出值时,加法器工作正常,但mux2子_模块和mux4子_模块x2不给出输出。我替换了2-3倍的mux码,问题也是一样的。我只得到outY的uu值。 我已经最小化了代码 主ALU最小化 library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity ALU7_minimal is Port ( inpA : I

我正在尝试使用加法器制作ALU,使用端口映射制作mux2和mux4组件。 我已经写了ALU它通过编译OK。问题是,当我尝试在modelsim中给出值时,加法器工作正常,但mux2子_模块和mux4子_模块x2不给出输出。我替换了2-3倍的mux码,问题也是一样的。我只得到outY的uu值。 我已经最小化了代码

主ALU最小化

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 ;
mux2-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;
不需要过程

begin
with s select
    z <= x  when '0',
         y  when '1',
        'U' when others;

不需要过程

begin
with s select
    z <= x  when '0',
         y  when '1',
        'U' when others;


我的老师发现了同样的问题,仅供以后参考: 在运行模拟之前,需要将所有组件文件导入modelsim。悖论1位和8位的加法器工作正常,即使我没有导入它们,但mux2-1/4-1不会给出任何结果。当我导入所有组件文件而不仅仅是主程序时,ModelSim会正确显示结果。
感谢你们的时间和帮助,非常感谢。

仅供以后参考,供其他遇到同样问题的人参考。我的老师发现了: 在运行模拟之前,需要将所有组件文件导入modelsim。悖论1位和8位的加法器工作正常,即使我没有导入它们,但mux2-1/4-1不会给出任何结果。当我导入所有组件文件而不仅仅是主程序时,ModelSim会正确显示结果。
感谢您的时间和帮助,非常感谢。

提供一份详细的信息。根据使用从链接波形收集的输入提供的信息。注:U3加法器8位是未绑定的,不负责所有的“U”,out0是驱动的,但不用作输入,out12也是。我已经最小化了示例。现在,如果您只提供了一个可复制的示例。使用从链接的波形中收集的输入信息。考虑提供和使用测试台。你似乎做了一些程序上的错误。再次感谢。这正是问题所在。代码很简单,但仍然会产生错误。也许问题不在代码中,Modelsim中有一个设置需要查看?您知道我可以尝试使用相同代码的其他测试环境吗?请提供一个。根据使用从链接波形收集的输入提供的信息。注:U3加法器8位是未绑定的,不负责所有的“U”,out0是驱动的,但不用作输入,out12也是。我已经最小化了示例。现在,如果您只提供了一个可复制的示例。使用从链接的波形中收集的输入信息。考虑提供和使用测试台。你似乎做了一些程序上的错误。再次感谢。这正是问题所在。代码很简单,但仍然会产生错误。也许问题不在代码中,Modelsim中有一个设置需要查看?您知道我可以尝试相同代码的任何其他测试环境吗?请在您的答案中添加一些解释,以便其他人可以从itA并发分配语句中学习。并发分配语句被细化为具有等效顺序分配语句的过程。请在您的答案中添加一些解释,以便其他人可以从itA并发分配语句中学习赋值语句被细化为一个具有等效顺序赋值语句的过程。同样,问题不能从问题中复制。这对未来的读者有什么帮助呢?同样,这个问题也无法从这个问题中复制出来。这对未来的读者有什么帮助?