JH8CHUのホームページ> トランジスタ・パルス回路の解析 >NANDによる半加算器・全加算器

NANDによる半加算器・全加算器


本ページ作成。(2026/09/17)

  1. 回路の機能

    1. 半加算器
    2. 1bitの2進数の加算を行う回路です。
      下の桁からの桁上がりのない加算器を半加算器といいます。
      ハーフアダー(Harf Adder)とも言います。

    3. 全加算器
    4. 1bitの2進数の加算を行う回路です。
      下の桁からの桁上がりのある加算器を全加算器といいます。
      フルアダー(Full Adder)とも言います。

    5. 多bitの加算器
    6. 半加算器と全加算器を複数つないでいくと多bitの加算器を実現出来ます。

  2. 回路図

    1. 半加算器
    2. (1)NANDによる実現例


      (2)半加算器のシンボル例


    3. 全加算器
    4. (1)半加算器による実現例


      (2)全加算器のシンボル例


    5. 多bitの加算器


  3. 回路の動作

    1. 半加算器
    2. 最初に1bitの2進数の加算を考えます。
      ふたつの2進数の数AとBを加えるとき、AもBも0か1なので
      加算器の入力の組合わせは4通りしかありません。
      A  B  和 
      000
      011
      101
      1110

      A=1かつB=1のとき桁上がりが発生しました。
      よって、和を1桁で表現することは出来ないので、2桁用意します。
      1の位はSで表し、桁上りをCで表すと加算器の動作は下図となります。
      A  B  C  S 
      0000
      0101
      1001
      1110

      ここで1を論理値"H"に対応させ、0を論理値"L"に対応させると上の表は
      次のようになります。
      A  B  C  S 
      LLLL
      LHLH
      HLLH
      HHHL

      Cの実現の方が簡単なので先に考えます。
      A、B、Cの関係だけを取出すと下記となります。
      A  B  C 
      LLL
      LHL
      HLL
      HHH

      これは明らかにANDゲートの真理値表そのものです。
      よって、NANDを使うと次のようにCを実現することが出来ます。
      後段のNANDはインバータ(NOT)として使っています。


      次にSの動作の真理値表のみ書き出すと
      A  B  S 
      LLL
      LHH
      HLH
      HHL

      この真理値表は下図左のようにして実現出来ます。
      ちなみにこのような動作をする回路は排他的論理和と言い、時々必要になるので
      下図右のような専用のシンボルが使われます。
      排他的論理和はエクスクルーシブORとも言い、Ex-ORやXORなどと略されます。


      この回路をNANDだけで実現すると下図右のようになります。
      ごちゃごちゃするのでインバータ(NOT)はそのままにしてありますが
      もちろんインバータ(NOT)もNANDで実現出来ます。


      上図右のように書くと論理設計に慣れた人でもすぐには動作が理解出来ません(^^;
      通常はMIL記号を使って分かりやすく表現するのですが、それは
      ディジタル回路(2026/9/15時点未着手)にゆずり
      ここでの証明は真理値表で行います。
      A  B  g1  g2  S 
      LLHHL
      LHLHH
      HLHLH
      HHHHL

      ところでNANDで実現した回路を見るとNANDが5個必要になりますが
      下図右のように接続しても同じ動作が得られます。こちらはNANDが4個で済みます。
      (このような実現方法はややテクニカルかもしれません) (-_-?


      これも証明は真理値表で行います。
      A  B  G1  G2  G3  S 
      LLH HHL
      LHH HLH
      HLH LHH
      HHL HHL

      最後に以下、半加算器は下図のような四角形のシンボルで表すことにします。
      HAは半加算器(Harf Adder)の頭文字です。


    3. 全加算器
    4. 下の桁からの桁上がりを考慮した加算器です。
      下の桁からの桁上がりをCi、上の桁への桁上りをCoとします。
      AもBもCiも0か1なので加算器の入力の組合わせは8通りあります。
      A  B  Ci  Co  S 
      000 0  0 
      010 0  1 
      100 0  1 
      110 1  0 
      001 0  1 
      011 1  0 
      101 1  0 
      111 1  1 

      ここで1を論理値"H"に対応させ、0を論理値"L"に対応させると上の表は
      次のようになります。
      A  B  Ci  Co  S 
      LLL L  L 
      LHL L  H 
      HLL L  H 
      HHL H  L 
      LLH L  H 
      LHH H  L 
      HLH H  L 
      HHH H  H 

      S="H"になる条件に注目して論理回路に変換すると


      同様にCo="H"になる条件に注目して論理回路に変換すると


      Coについては論理が簡単化出来ます。
      (簡単化についてはディジタル回路(2026/9/15時点未着手) を参照してください。)


      全加算器については下図のように半加算器を用いて実現することも出来ます。


      証明は真理値表で行います。
      A  B  Ci  g1  s1  g2  S  Co 
      LLL L  L  L  L  L 
      LHL L  H  L  H  L 
      HLL L  H  L  H  L 
      HHL H  L  L  L  H 
      LLH L  L  L  H  L 
      LHH L  H  H  L  H 
      HLH L  H  H  L  H 
      HHH H  L  L  H  H 

      全加算器は下図のような四角形のシンボルで表すことにします。
      F.A.は全加算器(Full Adder)の頭文字です。


      なお、全加算器のCiを"L"に固定してしまえば、半加算器と同じものになります。


  4. 多bitの加算器


  5. 今後の課題

    1. とりあえず(?)なし

  6. 参考文献

    1. パルス回路の設計(昭和56年(1981) 第20版(改訂10版)) P-144〜149 論理回路、 猪飼國夫著、 CQ出版社
    2. ディジタル電子回路の基礎(2003 第1版第1刷) 6.1.加算回路、堀桂太郎著、東京電機大学出版局
    3. 入門電子回路 ディジタル編(平成19年(2007) 第1版第1刷) 5.7.加算回路、家村道雄監修、 オーム社

  7. 関連項目

    1. トランジスタ・パルス回路の解析− DTLによるNAND
    2. NANDの実現方法はバイポーラ・トランジスタである必要はなく
      FETやCMOSでも構わないので、NANDによるFFの実現は論理回路における
      一般的な理論になります。

  8. おまけ

    1. 全加算器をNANDで構成する
    2. いずれもド・モルガンの法則を適用すると変換出来ます。
      ド・モルガンの法則はディジタル回路(2026/9/15時点未着手) を参照。
      強調しておきますが、このような表現はまずしません。(MIL記号を使います)
      NANDのみで必要な回路を実現出来ることを示すために、あえてNANDの
      シンボルのみを使用して表現したものです。
      (1)Sの生成論理


      (2)Coの生成論理


      (3)簡単化したCoの生成論理


    3. トランジスタのNANDを多入力化する
    4. 4入力のNANDの実現例です。



JH8CHUのホームページ> トランジスタ・パルス回路の解析> NANDによる半加算器・全加算器


Copyright (C)2026 Masahiro.Matsuda(JH8CHU), all rights reserved.