2017-12-27 44 views
-1

以下の画像によれば、出力ポートはF0〜F7Hであると言います。私の質問は、これらのポートのアドレスがどのように決定されるかです。たとえば、F0(アクティブロー)(Y0)は入力A0~A7の入力から決定されます。もしそうなら、これらの入力ポートはどのように数学的にF0に来るのですか?ポートアドレスのデコード方法は?

I/O port decoder

+0

[データシートを読む](https://www.futurlec.com/Datasheet/) 74ALS/74ALS138.pdf)は、プログラミングフォーラムでハードウェアに関する質問をしてみると便利です。 –

+0

このハードウェアの質問は、ソフトウェアの言語の問題を理解するのに役立ちます。私は真理値表を読んでも、それらのポートF0〜F7hが数学的にどのように導かれているかはまだ分かりません。 – thirstForKnowledge

+0

データシートには、知っておく必要があることがすべて表示されています。私がリンクしているデータシートの3ページの論理図は、各入力が各出力をどのように駆動するかを示しています。 –

答えて

1

74ALS138は1から8のデマルチプレクサで、0から7までの番号をとり、8本の出力ラインの1つをアクティブにします(アクティブロー)。

入力信号A、B、Cは、入力番号(2 = 8)をエンコードする3ビットで、G1、GA、GBはイネーブル信号です。
チップをイネーブルにするには、G1をハイにし、GAとGBをローにする必要があります。それ以外の組み合わせではチップがディスエーブルされます(すべての出力がハイです)。

G1をハイにするには、アドレスのビット4をハイにする必要があります。同様に、ビット5,6、および7はハイにする必要があります。
最後に、ビット3がローである必要があります。

これは、1111 0xxxという形式のアドレスを0f0hから0f7hの範囲で指定します。
最下位3ビットが出力ラインを選択します。 A、B及びCと出力との間のタイに関して

は、真理値表を用いて開始することができる:

A B C Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 
0 0 0 0 1 1 1 1 1 1 1 
0 0 1 1 0 1 1 1 1 1 1 
0 1 0 1 1 0 1 1 1 1 1 
0 1 1 1 1 1 0 1 1 1 1 
1 0 0 1 1 1 1 0 1 1 1 
1 0 1 1 1 1 1 1 0 1 1 
1 1 0 1 1 1 1 1 1 0 1 
1 1 1 1 1 1 1 1 1 1 0 

各出力Y Iが独立して計算されなければなりません。それらはそれぞれ正確に1回ゼロであるため、Karnaugh mapで最適化する必要はなく、多くのものがあるので、Maxtermsで作業することは確実に優れています。

そこでY0については、例えば式maxtermsを扱うとき(これは、和の積の入力変数が1であるIIF、各因子がネゲートされている)によりルールに

Y0 = A + B + C 

あります。
他の関係が

Y1 = A + B + C' 
Y2 = A + B' + C 
Y3 = A + B' + C' 
Y4 = A' + B + C 
Y5 = A' + B + C' 
Y6 = A' + B' + C 
Y7 = A' + B' + C' 

これはインクルードがイネーブル入力を考慮していないが、内部的に我々はY0のためにE = G1 * GA「* GB」を真理値表を取ることによって、単一のイネーブル信号Eを持つことができます

E A B C Y0 
0 0 0 0 1 
0 0 0 1 1 
0 0 1 0 1 
0 0 1 1 1 
0 1 0 0 1 
0 1 0 1 1 
0 1 1 0 1 
0 1 1 1 1 
1 0 0 0 0 
1 0 0 1 1 
1 0 1 0 1 
1 0 1 1 1 
1 1 0 0 1 
1 1 0 1 1 
1 1 1 0 1 
1 1 1 1 1 

これはちょうどY0 = E' + A + B + Cに変換されます。

あなたはDe Morgan's lawsによってX + Y === (X' * Y')'(X * Y)'NANDを呼び出すには、あなたが正確に74ALS138 datasheetで実装されているY0 = NAND(E, A', B', C')見ることを考慮した場合:

74ALS138 implementation with NAND logic

Datasheet courtesy of Matt Clark

+0

私のためにそれを分解していただきありがとうございます。今私はそれをはっきり理解する。 – thirstForKnowledge

1

データシートのテーブルは非常に明確なようだ:A0、A1、A2、およびA3が低く、A4、A5、A6、A7とが高い場合Y0がアクティブになります。 Y1は、A0が高い以外のすべての同じ条件下でアクティブです。

+0

私は真理値表を理解しています。私が理解できないことは、F0が真理値表からどのように派生したかです。 – thirstForKnowledge

0

Thanks for the comments to help me connect the dots in figuring out how the address is map to the input address

を210

住所が入力アドレスにどのようにマップされているかを把握するためのコメントをありがとう

関連する問題