2016-10-26 7 views
1

組み合わせ回路は、4ビット入力の1ビットの出現回数を数えるように設計する必要があります。しかしながら、入力1111は回路にとって無効な入力であり、そのような場合の出力は00となる。karnaughのマップ技法を使用する回路

このような回路に対する有効な入力は、出力11では1110であり、別の有効な入力は、出力10の1010であってもよい。

回路の真理値表を描く。 Karnaughマップを使用して回路を設計し、AND、OR、NOTゲートを使用して回路を描きます。

答えて

0

4ビット入力は最大4個の入力を持つことができるため、出力を3ビット長の2進数にエンコードすることができます。

真理値表は次のようになります。

w x y z y_2 y_1 y_0 
---------+------------- number of positive bits 
0 0 0 0 | 0 0 0 ~ 0 
0 0 0 1 | 0 0 1 ~ 1 
0 0 1 0 | 0 0 1 ~ 1 
0 0 1 1 | 0 1 0 ~ 2 
---------+------------- 
0 1 0 0 | 0 0 1 ~ 1 
0 1 0 1 | 0 1 0 ~ 2 
0 1 1 0 | 0 1 0 ~ 2 
0 1 1 1 | 0 1 1 ~ 3 
---------+------------- 
1 0 0 0 | 0 0 1 ~ 1 
1 0 0 1 | 0 1 0 ~ 2 
1 0 1 0 | 0 1 0 ~ 2 
1 0 1 1 | 0 1 1 ~ 3 
---------+------------- 
1 1 0 0 | 0 1 0 ~ 2 
1 1 0 1 | 0 1 1 ~ 3 
1 1 1 0 | 0 1 1 ~ 3 
1 1 1 1 | 1 0 0 ~ 4 

しかし!あなたのケースの出力は2ビットしかありません。あなたの仕様では、1111入力を00出力で無効と見なしています。今、あなたは出力機能y_1y_0を最小限にするためのさまざまなスタイルを使用することができますが、私はカルノーマップがあると思います

w x y z y_1 y_0 
---------+--------- number of positive bits 
0 0 0 0 | 0 0 ~ 0 
0 0 0 1 | 0 1 ~ 1 
0 0 1 0 | 0 1 ~ 1 
0 0 1 1 | 1 0 ~ 2 
---------+------------- 
0 1 0 0 | 0 1 ~ 1 
0 1 0 1 | 1 0 ~ 2 
0 1 1 0 | 1 0 ~ 2 
0 1 1 1 | 1 1 ~ 3 
---------+------------- 
1 0 0 0 | 0 1 ~ 1 
1 0 0 1 | 1 0 ~ 2 
1 0 1 0 | 1 0 ~ 2 
1 0 1 1 | 1 1 ~ 3 
---------+------------- 
1 1 0 0 | 1 0 ~ 2 
1 1 0 1 | 1 1 ~ 3 
1 1 1 0 | 1 1 ~ 3 
1 1 1 1 | 0 0 ~ invalid, showing zeros 

:したがって、あなたは、単に真理値表の中で最も重要な列を削除することができますし、他の変更はありませんこれに適しています。

各出力関数の真理値表の行を、インデックス(ゼロから索引付けされた表の行数)を使用するか、変数の組み合わせを比較して別のK-マップに転送します。

出力関数y_0の場合、最終的なKマップはこのように見えますが、これは最小のSOP(DNF;結合の論理和)関数であり、大きなグループ(項)は見付かりません。出力1ビットより0ビットより少ない場合があるので、私はPOS(選言の組み合わせCNF)を検索することを選択した出力の最上位ビットを

y_0 = ¬w·¬x·¬y·z + ¬w·x·¬y·¬z + ¬w·¬x·y·¬z + ¬w·x·y·z 
     + w·¬x·y·z + w·x·y·¬z + w·¬x·¬y·¬z + w·x·¬y·z 

K-map for the output function y_0

出力機能は、すべての右のビットをマークすることで説明したy_0でも同様に行うことができます。この場合、このK-MAP及び機能であろう:

y_1 = (w + x + y + z) · (w + x + y + ¬z) · (w + ¬x + y + z) 
     · (w + x + ¬y + z) · (¬w + ¬x + ¬y + ¬z) · (¬w + x + y + z) 

K-map for the output function y_1 before minimization

しかし、それはK-マップでこの出力関数を最小化することができる。

y_1 = (w + x + y) · (w + y + z) · (w + x + z) 
     · (¬w + ¬x + ¬y + ¬z) · (x + y + z) 

K-map for the output function y_1 after minimization

その後、右のゲートを使用するか、Rottのグリッドを使用してゲートのより適切な組み合わせに変換することができます。

関連する問題