在实现的VHDL代码中对多路复用器选择的观点和事实。

在实现的VHDL代码中对多路复用器选择的观点和事实。,vhdl,Vhdl,好的,在我去年的数字设计课上,我们反复被告知,当给定许多在结构上做相同事情的不同代码时,编译器将如何实现或产生相同的结构。今年在我的计算机组织课上,我遇到了一个情况,我想了解其他人的观点和知识 据我所知,多路复用器工作时,你会得到x个输入,根据选择器信号,你会输出其中一个输入。我知道,对于8个输入,你需要N个选择器位,这样2^N=8 我的大问题是,让选择者说话有什么区别或好处吗 entity myMultiplexer is Port ( S0 : in STD_LOGIC_vecto

好的,在我去年的数字设计课上,我们反复被告知,当给定许多在结构上做相同事情的不同代码时,编译器将如何实现或产生相同的结构。今年在我的计算机组织课上,我遇到了一个情况,我想了解其他人的观点和知识

据我所知,多路复用器工作时,你会得到x个输入,根据选择器信号,你会输出其中一个输入。我知道,对于8个输入,你需要N个选择器位,这样2^N=8

我的大问题是,让选择者说话有什么区别或好处吗

entity myMultiplexer is
    Port ( S0 : in  STD_LOGIC_vector(0 to 1);

           Sum : in  STD_LOGIC;

           myAnd : in  STD_LOGIC;
           myOr : in  STD_LOGIC;
           OpOut : out  STD_LOGIC);

end myMultiplexer;
其中S0是选择器,而不是让选择器像这样

entity myMultiplexer is
    Port ( 
       S0 : in  STD_LOGIC;
       S1 : in STD_LOGIC;

       Sum : in  STD_LOGIC;

       myAnd : in  STD_LOGIC;
       myOr : in  STD_LOGIC;
       OpOut : out  STD_LOGIC);
终端多路复用器

所以在第一个例子中,我觉得信号或电流会在同一根电线上输入,而第二个例子中,信号源可能来自两个不同的东西。也可能,我只是在想;您可以获取两个单独的输入,构造一个信号,告诉一个是矢量位1,另一个是矢量位0,然后将其发送到mux S0


任何人对此的看法都将不胜感激

无差异。第一个定义了一个包含两位的
信号。就你的问题而言,这仍然是两条“电线”


You first风格更为传统(在我看来),因为如果需要,可以更容易地扩展到更多的位。

-1不要征求意见。你试过合成你的两段代码吗?事实来自实验!