好的,所以在去年我的数字设计课中,我们被反复告诉编译器在给出许多不同的代码在结构上做同样的事情时会实现或产生相同的结构。今年,在我的计算机组织课上,我遇到了一个情况,并想评估别人的意见和知识。
据我所知,多路复用器可以工作,您可以获得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);
结束myMultiplexer;
所以在第一个中,在我看来,信号或电流将在同一条线上进入,而第二条信号或电流可以来自两个不同的东西。也许,我只是想;您可以使用2个单独的输入并构造一个信号,告诉它是向量位1,另一个是向量位0,然后将其发送到多路复用器S0。
任何人对此的看法都将受到赞赏。
答案 0 :(得分:1)
没有区别。第一个定义了一个signal
,其中包含两位。就你的问题而言,这仍然是两条“电线”。
你的第一种风格更传统(我认为) - 因为如果需要,它更容易扩展到更多位。