デジタル回路-K-Map法

前の章では、ブール仮説と定理を使用してブール関数を簡略化しました。これは時間のかかるプロセスであり、各ステップの後に簡略化された式を書き直す必要があります。

この困難を克服するために、 Karnaughブール関数を簡単に簡略化する方法を導入しました。この方法は、カルノー図法またはKマップ法として知られています。これはグラフィカルな方法であり、「n」変数の2n個のセルで構成されます。隣接するセルは、シングルビット位置のみが異なります。

2〜5変数のKマップ

K-Map法は、2変数のブール関数を5変数に最小化するのに最適です。ここで、2〜5個の変数のKマップについて1つずつ説明します。

2変数Kマップ

変数の数が2であるため、2つの変数K-mapのセルの数は4です。次の図は2 variable K-Map

  • 4つの隣接する最小項をグループ化する可能性は1つだけです。

  • 2つの隣接する最小項をグループ化する可能な組み合わせは{(m 0、m 1)、(m 2、m 3)、(m 0、m 2)および(m 1、m 3)}です。

3変数Kマップ

変数の数が3であるため、3つの変数K-mapのセルの数は8です。次の図は3 variable K-Map

  • 隣接する8つの最小項をグループ化する可能性は1つだけです。

  • 4つの隣接する最小項をグループ化する可能な組み合わせは{(m 0、m 1、m 3、m 2)、(m 4、m 5、m 7、m 6)、(m 0、m 1、m 4、m 5)、(m 1、m 3、m 5、m 7)、(m 3、m 2、m 7、m 6)および(m 2、m 0、m 6、m 4)}。

  • 2つの隣接する最小項をグループ化する可能な組み合わせは、{(m 0、m 1)、(m 1、m 3)、(m 3、m 2)、(m 2、m 0)、(m 4、m 5)です。 、(m 5、m 7)、(m 7、m 6)、(m 6、m 4)、(m 0、m 4)、(m 1、m 5)、(m 3、m 7)および( m 2、m 6)}。

  • x = 0の場合、3変数Kマップは2変数Kマップになります。

4変数Kマップ

変数の数が4であるため、4つの変数K-mapのセルの数は16です。次の図は4 variable K-Map

  • 16個の隣接する最小項をグループ化する可能性は1つだけです。

  • R 1、R 2、R 3、およびR 4が、それぞれ1行目、2行目、3行目、および4行目の最小項を表すとします。同様に、C 1、C 2、C 3及びC 4は第一列、第二列、3列と第4列の最小項をそれぞれ表します。8つの隣接する最小項をグループ化する可能な組み合わせは、{(R 1、R 2)、(R 2、R 3)、(R 3、R 4)、(R 4、R 1)、(C 1、C 2)です。 、(C 2、C 3)、(C 3、C 4)、(C 4、C 1)}。

  • w = 0の場合、4変数Kマップは3変数Kマップになります。

5変数Kマップ

変数の数が5であるため、5つの変数K-mapのセルの数は32です。次の図は次の図を示しています。 5 variable K-Map

  • 32個の隣接する最小項をグループ化する可能性は1つだけです。

  • 16個の隣接する最小項をグループ化する2つの可能性があります。すなわち、Mから分用語のグループ0 mまで15及びm 16 mまで31

  • v = 0の場合、5変数Kマップは4変数Kマップになります。

上記のすべてのKマップでは、最小用語表記のみを使用しました。同様に、Max用語表記のみを使用できます。

Kマップを使用したブール関数の最小化

ブール関数が「1」である入力の組み合わせを検討すると、ブール関数が得られます。 standard sum of products Kマップを単純化した後のフォーム。

同様に、ブール関数が「0」である入力の組み合わせを検討すると、ブール関数が得られます。 standard product of sums Kマップを単純化した後のフォーム。

これらに従ってください rules for simplifying K-maps 製品の標準的な合計フォームを取得するため。

  • ブール関数に存在する変数の数に基づいて、それぞれのKマップを選択します。

  • ブール関数が最小項の合計形式で指定されている場合は、Kマップのそれぞれの最小項セルに配置します。ブール関数が積の合計形式として指定されている場合は、指定された積項が有効であるK-mapのすべての可能なセルにそれらを配置します。

  • 隣接するものの最大数をグループ化する可能性を確認してください。それは2の累乗でなければなりません。最高の2の累乗から始めて、最低の2の累乗まで。最大電力はKマップで考慮される変数の数に等しく、最小電力はゼロです。

  • 各グループは、文字通りまたは1つの製品用語を提供します。それはとして知られていますprime implicant。主な関係者はessential prime implicant、少なくとも単一の「1」が他のグループでカバーされておらず、そのグループのみがカバーされている場合。

  • すべての主要な含意者と本質的な主要な含意者を書き留めます。簡略化されたブール関数には、すべての必須のプライム含意と、必要なプライム含意のみが含まれます。

Note 1 −入力の組み合わせに対して出力が定義されていない場合、それらの出力値は次のように表されます。 don’t care symbol ‘x’。つまり、「0」または「1」のいずれかと見なすことができます。

Note 2−ドントケア用語も存在する場合は、Kマップのそれぞれのセルにドントケア 'x'を配置します。隣接するものの最大数をグループ化するのに役立つドントケア 'x'のみを考慮してください。そのような場合は、ドントケア値を「1」として扱います。

私たちにさせて simplify 次のブール関数、 f(W, X, Y, Z)= WX’Y’ + WY + W’YZ’ Kマップを使用します。

指定されたブール関数は、積の合計形式です。W、X、Y、Zの4つの変数があります。したがって、4 variable K-map。ザ・4 variable K-map 与えられた製品用語に対応するものを次の図に示します。

ここでは、K-mapの次のセルに1が配置されています。

  • 行4と列1および2の共通部分に共通するセルは、積項に対応します。 WX’Y’

  • 行3と4と列3と4の共通部分に共通するセルは、積項に対応します。 WY

  • 行1と2と列4の共通部分に共通するセルは、積項に対応します。 W’YZ’

隣接する16個または隣接する8個をグループ化する可能性はありません。4つの隣接するものをグループ化する3つの可能性があります。これらの3つのグループ化の後、グループ化されていないものが1つも残っていません。したがって、隣接する2つのグループをチェックする必要はありません。ザ・4 variable K-map これらの3つで groupings 次の図に示します。

ここでは、3つの主要な関係者WX '、WY&YZ'を取得しました。これらすべての主要な関係者はessential 以下の理由によります。

  • 2つ (m8 & m9)4行目のグループ化は、他のグループ化の対象にはなりません。4行目のグループ化のみがこれら2つの行をカバーします。

  • シングルワン (m15)正方形のグループ化は、他のグループ化ではカバーされません。正方形のグループだけがそれをカバーします。

  • 2つ (m2 & m6)4番目の列のグループ化は、他のグループ化の対象にはなりません。4番目の列のグループ化のみがこれら2つの列をカバーします。

したがって、 simplified Boolean function です

f = WX’ + WY + YZ’

これらに従ってください rules for simplifying K-maps 合計形式の標準積を取得するため。

  • ブール関数に存在する変数の数に基づいて、それぞれのKマップを選択します。

  • ブール関数が最大項形式の積として指定されている場合は、Kマップのそれぞれの最大項セルにゼロを配置します。ブール関数が合計形式の積として指定されている場合は、指定された合計項が有効であるK-mapのすべての可能なセルにゼロを配置します。

  • 隣接するゼロの最大数をグループ化する可能性を確認します。それは2の累乗でなければなりません。最高の2の累乗から始めて、最低の2の累乗まで。最大電力はKマップで考慮される変数の数に等しく、最小電力はゼロです。

  • 各グループは、リテラルまたは1つの合計項のいずれかを提供します。それはとして知られていますprime implicant。主な関係者はessential prime implicant、少なくとも単一の「0」が他のグループでカバーされておらず、そのグループのみがカバーされている場合。

  • すべての主要な含意者と本質的な主要な含意者を書き留めます。簡略化されたブール関数には、すべての必須のプライム含意と、必要なプライム含意のみが含まれます。

Note−ドントケア用語も存在する場合は、Kマップのそれぞれのセルにドントケア 'x'を配置します。隣接するゼロの最大数をグループ化するのに役立つドントケア 'x'のみを考慮してください。そのような場合は、ドントケア値を「0」として扱います。

私たちにさせて simplify 次のブール関数、$ f \ left(X、Y、Z \ right)= \ prod M \ left(0,1,2,4 \ right)$ K-mapを使用します。

指定されたブール関数は、最大項形式の積です。X、Y、Zの3つの変数があります。したがって、3つの変数K-mapが必要です。所与の最大用語はMである0、M 1、M 2およびM 4。3variable K-map 次の図に、指定された最大項に対応するゼロを示します。

8つの隣接するゼロまたは4つの隣接するゼロをグループ化する可能性はありません。2つの隣接するゼロをグループ化する可能性は3つあります。これらの3つのグループ化の後、グループ化されていないものとして残っている単一のゼロはありません。ザ・3 variable K-map これらの3つで groupings 次の図に示します。

ここでは、3つの主要な含意X + Y、Y + Z&Z + Xを取得しました。これらの主要な含意はすべて essential 各グループの1つのゼロは、個々のグループを除いて、他のグループではカバーされないためです。

したがって、 simplified Boolean function です

f = (X + Y).(Y + Z).(Z + X)

このように、K-map法を使用して、最大5変数のブール関数を簡単に簡略化できます。5つを超える変数の場合、Kマップを使用して関数を単純化することは困難です。なぜなら、cells Kマップで取得します doubled 新しい変数を含めることによって。

このため、隣接するもの(最小項)または隣接するゼロ(最大項)のチェックとグループ化は複雑になります。私たちは議論する予定ですTabular method 次の章では、Kマップ法の難しさを克服します。