全加算器:効率的なマルチビット2進加算器の構築
2つ以上の2進数を加算する場合、単一のハーフアダーでは不十分です。従来のアプローチ(新しいビット幅ごとに真理値表を作成)は正確ですが遅いです。全加算器は、キャリーインという第3入力を扱うことで、設計を迅速かつ確実にスケールさせます。
2ビット加算を考えます:
11 + 11 ------- 110中央列には3入力が必要:
a, b, キャリーイン C_in。2入力アダーをビルディングブロックとして、和ビットとキャリーアウトを生成する3入力アダーを構築できます。
数学的に、Σ = a + b + C_in かつ Σ_1 = a + b ならば、Σ = Σ_1 + C_in。以下の画像はこの構成のロジック図を示します。


3入力和の真理値表を検証:
Cin + a + b = ? 0 + 0 + 0 = 0 0 + 0 + 1 = 1 0 + 1 + 0 = 1 0 + 1 + 1 = 10 1 + 0 + 0 = 1 1 + 0 + 1 = 10 1 + 1 + 0 = 10 1 + 1 + 1 = 11低位ビットは3入力のXORで正しく生成されます。高位キャリーは、
a + b がキャリーを生成(C_1)するか、a + b が和ビットを生成しかつキャリーインが1のときに現れます。したがってキャリーアウトロジックは C_out = C_1 OR (Σ_1 AND C_in)。 

一部アプリケーションでは、最終ORゲートをXORゲートに置き換えると、機能を変えずにゲートを1つ削減し、伝播遅延を低減できます。
2つの全加算器をカスケード接続すれば、2ビット数を効率的に加算できます。以下は2ビットアダー用の2全加算器配線図:


ここで A_0 と A_1 はオペランドAの低位・高位ビット、Bも同様。出力 Σ_0 と Σ_1 が2ビット和を形成し、C_out が次段へ伝播します。
2ビットアダーはゲートから直接構築可能ですが、両ビット位置に全加算器を使用すると大規模設計が合理化され、カスケード接続が容易になります。このアプローチは自然にスケール:4ビットアダーは2つの2ビットアダーをキャリーで連結、8ビットアダーは2つの4ビットアダー、以下同様。
以下は全加算器から構築した8ビットアダーの例:

各「2+」ブロックは2ビットアダー、各「4+」ブロックは4ビットアダーを表し、結合した8ビットアダーはモノリシックな8ビット設計と同等結果を達成。トレードオフは、階層設計ではキャリーチェーンを通じた追加伝播遅延が発生するのに対し、単一段の積和実装は設計複雑性を犠牲に高速タイミングを提供する可能性があることです。
大規模組み合わせ回路では、設計者は通常、モジュール式構築(設計容易だが潜在的に低速)とモノリシック設計(高速伝播だが合成が複雑)の間で選択します。全加算器アプローチはモジュール性を例証し、段階的検証と再利用を可能にします。
関連ワークシート:
- 2進数学回路ワークシート
産業技術