2012-02-18 9 views
-1

昨年の私のデジタルデザインクラスでは、構造的に同じことをした多くの異なるコードが与えられたときに、コンパイラがどのようにして同じ構造を実現するかを繰り返し聞かされました。今私のコンピュータの組織のクラスで今年私は状況に来て、他の意見と知識を測定したいと思います。マルチプレクサに関する意見と事実は、実装されたVHDLコードで選択します。

マルチプレクサが動作することを理解しているので、x個の入力を取得し、セレクタ信号に応じてこれらの入力の1つを出力します。私は、2つのN = 8になるように、N個のセレクタビットを必要とする8つの入力に対して、それを立っている。私の大きな問題がある

、セレクタはこの

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); 

終わりのようにするhaveingとは対照的に、S0は、セレクタをある

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; 

を言うことが、セレクタを持つ任意の違いや利点がありますmyMultiplexer;

最初の1つでは、信号または電流が2番目のものと同様に2つの別々のものから来るような同じワイヤーに入ってくるように見えます。たぶん、私はちょうど考えていた。 2つの独立した入力を取り、それがベクトルのビット1であり、もう1つがベクトルのビット0であることを伝える信号を構築し、それをマルチプレクサS0に送ることができます。

これに関するAnyoneの視点は高く評価されます。

+3

-1意見を求めないでください。 2つのコードフラグメントを合成しようとしましたか?事実は実験から来た! – Philippe

答えて

1

違いはありません。第1のものは、2ビットを有する単一のsignalを定義する。あなたの質問の条件では、これはまだ2つの "ワイヤー"です。

最初のスタイルは、(必要に応じて)より多くのビットに拡張する方が簡単であるため、より一般的です(私が見るように)。

関連する問題