1.5.論理演算

1. 論理演算とは

 論理演算は、真または偽の2つの値(通常、1と0で表される)を持つデータ(論理値)に対して行われる演算のことを指します。これらの演算は、プログラミングやデジタル回路設計などの分野で広く利用されています。

2. 論理積:AND

 両方の入力が真の場合にのみ真を返します。これを表にして表したものを真理値表といいます。

AB\(A \cdot B\)
000
010
100
111

3. 論理和:OR

 どちらかの入力が真の場合に真を返します。

AB\(A + B\)
000
011
101
111

4. 論理否定:NOT

 入力の真偽を反転させます。

A\(\bar{A}\)
01
10

5. 排他的論理和:XOR

 2つの入力が異なる場合に真を返します。

AB\(A \oplus B\)
000
011
101
110

6. 否定的論理積:NAND

 AND演算の結果を否定したものです。つまり、両方の入力が真の場合にのみ偽を返し、それ以外の場合は真を返します。

AB\(\overline{A \cdot B}\)
001
011
101
110

7. 否定的論理和:NOR

 OR演算の結果を否定したものです。つまり、どちらかの入力が真の場合に偽を返し、両方の入力が偽の場合にのみ真を返します。

AB\(\overline{A + B}\)
001
010
100
110

8. 等価演算:XNOR

 XOR演算の結果を否定したものです。つまり、2つの入力が同じ場合に真を返します。

AB\(A \odot B\)
001
010
100
111

9. NANDとNORの特徴

9.1. 普遍性

 NANDゲートやNORゲートだけを使用して、他のすべての論理ゲート(AND、OR、NOT、XORなど)を構築することができます。この性質から、これらは「普遍ゲート」とも呼ばれます。

9.2. デジタル回路

 NANDやNORは、デジタル回路の設計において基本的な構成要素として使用されることが多いです。特に、集積回路の設計において、NANDやNORのみを使用して複雑な論理関数を実現することが一般的です。(次項、ドモルガンの法則参照)

10. ドモルガンの法則

10.1. ドモルガンの法則とは?

 ドモルガンの法則は、論理演算に関する2つの基本的な等式を示す法則です。この法則は、論理回路の設計や論理式の簡単化において非常に有用です。具体的には、次の2つの等式が成り立ちます。

 \(\overline{A \cdot B} = \bar{A} + \bar{B}\)

 \(\overline{A + B} = \bar{A} \cdot \bar{B}\)

  1. 第一の法則は、AND演算の結果を否定することは、各入力を個別に否定してからOR演算を行うことと等価であることを示しています。
  2. 第二の法則は、OR演算の結果を否定することは、各入力を個別に否定してからAND演算を行うことと等価であることを示しています。

10.2. ドモルガンの法則の応用

  • 論理式の簡単化:ドモルガンの法則を使用すると、論理式をより簡単な形に変換することができます。これは、デジタル回路の設計やプログラムの最適化に役立ちます。
  • 論理ゲートの変換:ドモルガンの法則を利用して、特定の論理ゲート(例:NAND、NOR)のみを使用して、他の論理ゲートの動作を模倣する回路を設計することができます。

11. カルノー図

11.1. 組み合わせ回路の加法標準形

 組み合わせ回路の加法標準形(Canonical Sum-of-Products Form、SOP形式)は、論理関数を表現するための一般的な方法の一つです。この形式では、論理関数は複数の積項(AND演算の組み合わせ)の論理和(OR演算)として表現されます。

11.2. 加法標準形の特徴

  1. 各積項は、入力変数またはその否定からなります。
  2. 論理関数の出力が1となるすべての入力組み合わせに対応する積項が存在します。
  3. 各積項は、その積項が1となる特定の入力組み合わせのみを表現します。

11.3. 加法標準形の例

 考える論理関数が以下の真理値表を持つとします。

AB出力
000
011
101
110

 この論理関数の加法標準形は以下のようになります。

 \(F(A,B) = \bar{A} \cdot B + A \cdot \bar{B} \)

 ここで、

  • \(\bar{A} \cdot B\)は、Aが0かつBが1のときに1となる積項を表しています。
  • \(A \cdot \bar{B} \)は、Aが1かつBが0のときに1となる積項を表しています。

 これらの積項をOR演算で組み合わせることで、元の論理関数が得られます。

11.4. カルノー図

 上記の論理演算をカルノー図で表現すると以下のようになります。

 カルノー図は、変数の数が少ない場合は有効です。変数が5つ以上になると図が複雑になるため扱いが難しくなります。また、人間が手動で作業をおこなうためミスが入り込む余地があります。そのため、カルノー図は、小規模な論理関数の最小化に非常に有効なツールですが、変数の数が多い場合や複雑な関数の場合には、他の最小化手法やツールを検討することが推奨されます。

11.5. カルノー図の例

AP-H26秋問1、AM1-H26秋問1より

 上図で①の領域は

 \( \bar{A} \cdot \bar{B} \cdot \bar{C} \cdot \bar{D} + \bar{A} \cdot \bar{B} \cdot C \cdot \bar{D} \)

 =\( \bar{A} \cdot \bar{B} \cdot \bar{D} \cdot ( \bar{C} + C) \)

 = \( \bar{A} \cdot \bar{B} \cdot \bar{D} \)

 となります。

 ②の領域は、①と同様に計算していくと

 \( \bar{A} \cdot B \cdot (\bar{C} \cdot D + C \cdot D) + A \cdot B \cdot ( \bar{C} \cdot D + C \cdot D ) \)

 = \( \bar{A} \cdot B \cdot D + A \cdot B \cdot D \)

 = \( B \cdot D \)

となります。

 よって、このカルノー図と等価な論理式は上記2つの論理積の論理和をとって、\( \bar{A} \cdot \bar{B} \cdot \bar{D} + B \cdot D \)となります。