半加算回路構築の以前のチュートリアルでは、コンピューターが加算に1ビットの2進数0と1を使用し、SUMを作成して実行する方法を見てきました。今日は、全加算器回路の構築について学びます。
バイナリ加算器についての簡単なアイデアは次のとおりです。主に、半加算器と全加算器の2種類の加算器があります。半加算器では2ビットの2進数を加算できますが、2つの2進数と一緒に半加算器でキャリービットを加算することはできません。しかし、全加算器回路では、2つの2進数とともにキャリーインビットを追加できます。このチュートリアルの後半で説明する全加算器回路をカスケード接続することで、複数ビットの2進数を加算することもできます。また、IC 74LS283Nを使用して、全加算器回路を実際に示します。
全加算器回路:
したがって、半加算回路には、加算用の「キャリーイン」ビットを提供するスコープがないという大きな欠点があることがわかっています。全加算器構造の場合、実際に回路にキャリーイン入力を作成し、他の2つの入力AおよびBと加算することができます。したがって、全加算器回路の場合、3つの入力A、B、およびキャリーインがあります。最終出力SUMを取得して実行します。したがって、A + B + CARRY IN = SUMおよびCARRYOUTです。
数学によると、2つの半数を加算すると、完全な数が得られます。ここでは、全加算器回路の構築でも同じことが起こります。我々は2つの追加の半加算回路を余分に追加してORゲートと完全に取得する全加算器回路を。
全加算器回路の構築:
ブロック図を見てみましょう、
全加算器回路構造は上のブロック図に示されています。ここでは、2つの半加算回路がORゲートとともに追加されています。前半の加算器回路は左側にあり、2つのシングルビットバイナリ入力AとBを提供します。前の半加算器のチュートリアルで見たように、SUMとCarryoutの2つの出力を生成します。前半の加算回路のSUM出力は、後半の加算回路の入力にさらに提供されます。後半次回路の他の入力にキャリーインビットを提供しました。ここでも、SUM出力と実行ビットが提供されます。このSUM出力は、全加算器回路の最終出力です。一方、前半加算器回路からのキャリーアウトおよび第2加算器回路からのキャリーアウトは、さらにOR論理ゲートに提供される。 2つのキャリー出力の論理ORの後、全加算回路の最終的なキャリーを取得します。
最終実行は、最上位ビットまたはMSBを表します。
全加算器内の実際の回路を見ると、XORゲート とANDゲートを使用してORゲートが追加された2つの半加算器が表示されます。
上の画像では、ブロック図の代わりに実際の記号が示されています。前の半加算器のチュートリアルでは、XORゲートとANDゲートの2つの入力オプションを持つ2つの論理ゲートの真理値表を見てきました。ここでは、回路に追加のゲート、ORゲートが追加されています。
論理ゲートについて詳しくは、こちらをご覧ください。
全加算器回路の真理値表:
全加算回路の三つの入力との契約、真理値表はまた、3つの入力の列と2つの出力列で更新します。
キャリーイン |
入力A |
入力B |
和 |
実施する |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
ブール式で全加算器回路構造を表現することもできます。
SUMの場合、最初にA入力とB入力をXORし、次にキャリーインを使用して出力をXORします。したがって、合計は(A XOR B)XORCです。
(A⊕B)⊕キャリーインで表現することもできます。
さて、キャリーアウトの場合、それはA AND B ORキャリーイン(A XOR B)であり、さらにAB +(A⊕B)で表されます。
カスケード加算回路
ここでは、論理ゲートを備えたシングルビット加算回路の構築について説明しました。しかし、2つ以上のビット数を追加したい場合はどうでしょうか。
これが全加算回路の利点です。私たちはできる単一ビット全加算回路をカスケード接続して追加することができます2つの複数ビットのバイナリ番号を。このタイプのカスケード全加算器回路は、リップルキャリー加算器回路と呼ばれます。
リップルキャリー加算器回路の場合、各全加算器からのキャリーアウトは、次に重要な加算器回路のキャリーインです。キャリービットは次のステージにリップルするため、リップルキャリー加算器回路と呼ばれます。キャリービットは左から右に波及します(LSBからMSB)。
上記のブロック図では、2つの3ビットの2進数を追加しています。3つの全加算器回路がカスケード接続されていることがわかります。これらの3つの全加算器回路は、最終的なSUM結果を生成します。これは、3つの別々の半加算器回路からの3つの合計出力によって生成されます。キャリーアウトは、次の重要な加算回路に直接接続されています。最終加算回路の後、実行は最終実行ビットを提供します。
このタイプの回路にも制限があります。大きな数を追加しようとすると、不要な遅延が発生します。この遅延は、伝搬遅延と呼ばれます。2つの32ビットまたは64ビットの数値を加算している間、最終出力のMSBであるキャリーアウトビットは、前の論理ゲートの変更を待ちます。
この状況を克服するには、非常に高いクロック速度が必要です。ただし、この問題は、並列加算器を使用してAおよびB入力からキャリーインビットを生成するキャリールックアヘッドバイナリ加算回路を使用して解決できます。
全加算器回路の実際のデモンストレーション:
全加算器ロジックチップを使用し、それを使用して4ビットの2進数を加算します。IC74LS283Nを使用したTTL4ビット2進加算回路を使用します。
使用されるコンポーネント-
- 4ピンディップスイッチ2個
- 4個の赤色LED
- 1個の緑色のLED
- 8個の4.7k抵抗器
- 74LS283N
- 5個の1k抵抗器
- ブレッドボード
- 接続線
- 5Vアダプター
上の画像では、74LS283Nが示されています。74LS283Nは、キャリー先見機能を備えた4ビット全加算器TTLチップです。ピン配列を下の回路図に示します。
ピン16とピン8はそれぞれVCCとグランドです。ピン5、3、14、12は最初の4ビット番号(P)で、ピン5はMSB、ピン12はLSBです。一方、ピン6、2、15、11は2番目の4ビット番号であり、ピン6はMSB、ピン11はLSBです。ピン4、1、13、および10はSUM出力です。実行がない場合、ピン4はMSBであり、ピン10はLSBです。
DIPスイッチがオフ状態のときにロジック0を提供するために、すべての入力ピンで4.7kの抵抗が使用されます。抵抗により、ロジック1(バイナリビット1)からロジック0(バイナリビット0)に簡単に切り替えることができます。5V電源を使用しています。ディップスイッチがオンの場合、入力ピンは5Vで短絡します。SUMビットを表すために赤色のLEDを使用し、実行ビットを表すために緑色のLEDを使用しました。
また、2つの4ビット2進数を追加する方法を示した以下のデモンストレーションビデオも確認してください。