2012-02-18 16 views
-1

好的,所以在去年的數字設計課上,我們被反覆告知編譯器在結構上做了許多不同的代碼時,如何實現或產生相同的結構。現在在我的計算機組織課上,今年我遇到了一種情況,想要衡量別人的觀點和知識。關於實現的VHDL代碼中多路複用器選擇的意見和事實。

正如我理解一個多路複用器工作,你得到x個輸入,並根據選擇器信號/ s你輸出其中一個輸入。我認爲,對於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。

任何人在這方面的觀點將不勝感激。

+3

-1不要徵求意見。 你是否試圖綜合你的兩個代碼片段?事實來自實驗! – Philippe 2012-02-22 16:49:18

回答

1

沒有區別。第一個定義了一個帶有兩個位的單個signal。在你的問題中,這仍然是兩個「電線」。

你的第一種風格比較傳統(正如我所見) - 因爲如果需要,擴展到更多位更容易。