リップルキャリー加算器:動作、タイプ、およびそのアプリケーション

問題を排除するために楽器を試してください





デジタルエレクトロニクス 2ビットの2進数の追加は、 半加算器 。また、入力シーケンスに3ビットシーケンスがある場合は、全加算器を使用して加算プロセスを完了することができます。ただし、入力シーケンスのビット数が多い場合は、半加算器を使用してプロセスを完了することができます。全加算器は加算演算を完了できないためです。したがって、これらの欠点は「リップルキャリー加算器」を使用することで克服できます。ユニークなタイプです 論理回路 デジタル操作でNビット数を加算するために使用されます。この記事では、リップルキャリー加算器とその動作の概要について説明します。

リップルキャリー加算器とは何ですか?

複数の全加算器の構造は、nビットのバイナリシーケンスの加算の結果を与える方法でカスケードされます。この加算器は、その構造にカスケード接続された全加算器を含むため、キャリーはリップルキャリー加算器回路のすべての全加算器ステージで生成されます。各全加算器ステージでのこれらのキャリー出力は、次の全加算器に転送され、キャリー入力として適用されます。このプロセスは、最後の全加算器ステージまで続きます。したがって、各キャリー出力ビットは、全加算器の次のステージにリップルされます。このため、「RIPPLECARRYADDER」と名付けられました。その最も重要な機能は、シーケンスが4ビットか5ビットか、またはいずれかであるかどうかに関係なく、入力ビットシーケンスを追加することです。




「このキャリー加算器で考慮すべき最も重要な点の1つは、キャリー出力が各全加算器ステージによって生成され、次のステージに転送された後にのみ最終出力がわかることです。したがって、このキャリー加算器を使用すると、結果が得られるまでに遅延が発生します。」

リップルキャリー加算器にはさまざまなタイプがあります。彼らです:



  • 4ビットリップルキャリー加算器
  • 8ビットリップルキャリー加算器
  • 16ビットリップルキャリー加算器

まず、4ビットのリップルキャリー加算器から始め、次に8ビットと16ビットのリップルキャリー加算器から始めます。

4ビットリップルキャリー加算器

次の図は、4ビットのリップルキャリー加算器を表しています。この加算器では、4つの全加算器がカスケード接続されています。 Coはキャリー入力ビットであり、常にゼロです。この入力キャリー「Co」が2つの入力シーケンスA1A2 A3A4とB1B2 B3 B4に適用されると、出力はS1 S2 S3S4で表され出力はC4になります。


4ビットRCA図

4ビットリップルキャリー加算器の動作

  • 2つの入力シーケンス0101と1010の例を見てみましょう。これらは、A4 A3 A2A1とB4B3 B2B1を表しています。
  • この加算器の概念に従って、入力キャリーは0です。
  • Ao&Boが入力キャリー0とともに最初の全加算器に適用される場合。
  • ここでA1 = 1 B1 = 0 Cin = 0
  • 合計(S1)とキャリー(C1)は、この加算器の合計とキャリーの式に従って生成されます。その理論によれば、Sum =A1⊕B1⊕CinおよびCarry =A1B1⊕B1Cin⊕CinA1の出力方程式
  • この式によると、最初の全加算器S1 = 1およびキャリー出力の場合、つまりC1 = 0です。
  • 次の入力ビットA2およびB2の場合と同様に、出力S2 = 1およびC2 = 0です。ここで重要な点は、第2ステージの全加算器が入力キャリーを取得することです。つまり、C1は初期ステージの全加算器の出力キャリーです。
  • このように、最終出力シーケンス(S4 S3 S2 S1)=(1 1 1 1)を取得し、出力キャリーC4 = 0
  • これは、このキャリー加算器に適用される場合の4ビット入力シーケンスの加算プロセスです。

8ビットリップルキャリー加算器

  • これは、カスケード形式で接続された8つの全加算器で構成されています。
  • 各全加算器キャリー出力は、入力キャリーとして次のステージの全加算器に接続されます。
  • 入力シーケンスは(A1 A2 A3 A4 A5 A6 A7 A8)および(B1 B2 B3 B4 B5 B6 B7 B8)で示され、関連する出力シーケンスは(S1 S2 S3 S4 S5 S6 S7 S8)で示されます。
  • 8ビットリップルキャリー加算器での加算プロセスは、4ビットリップルキャリー加算器で使用されるのと同じ原理です。つまり、2つの入力シーケンスからの各ビットが入力キャリーとともに加算されます。
  • これは、2つの8ビット2進数シーケンスを追加するときに使用されます。
8ビットリップルキャリー加算器

8ビットリップルキャリー加算器

16ビットリップルキャリー加算器

  • これは、カスケード形式で接続された16個の全加算器で構成されています。
  • 各全加算器キャリー出力は、入力キャリーとして次のステージの全加算器に接続されます。
  • 入力シーケンスは(A1…..A16)および(B1……B16)で示され、関連する出力シーケンスは(S1……..S16)で示されます。
  • 16ビットリップルキャリー加算器での加算プロセスは、4ビットリップルキャリー加算器で使用されるのと同じ原理です。つまり、2つの入力シーケンスの各ビットが入力キャリーとともに加算されます。
  • これは、2つの16ビット2進数シーケンスを追加するときに使用されます。
16ビットリップルキャリー加算器

16ビットリップルキャリー加算器

リップルキャリー加算器の真理値表

以下の真理値表は、リップルキャリー加算器のすべての入力の可能な組み合わせの出力値を示しています。

A1 A2 A3 A4 B4 B3 B2 B1 S4 S3 S2 S1

運ぶ

0

000000000000
010001001000

0

1

000100000001
101010100100

1

110011001000

1

111011101100

1

111111111110

1

リップルキャリー加算器VHDLコード

VHDL(VHSIC HDL)は、ハードウェア記述言語です。それはデジタルデザイン言語です。このキャリー加算器のVHDLコードを以下に示します。

ライブラリIEEE
IEEE.STD_LOGIC_1164.ALLを使用します

エンティティRipplecarryadderは
ポート(A:STD_LOGIC_VECTOR内(3から0)
B:STD_LOGIC_VECTOR内(3から0まで)
Cin:STD_LOGICで
S:アウトSTD_LOGIC_VECTOR(3から0)
Cout:out STD_LOGIC)
Ripplecarryadderを終了します

アーキテクチャRipplecarryadderの動作は次のとおりです—全加算器VHDLコードコンポーネント宣言
コンポーネントfull_adder_vhdl_code
ポート(A:STD_LOGIC内
B:STD_LOGIC内
Cin:STD_LOGICで
S:アウトSTD_LOGIC
Cout:out STD_LOGIC)
エンドコンポーネント

—中間キャリー宣言
信号c1、c2、c3:STD_LOGIC

ベギン

—ポートマッピング全加算器4回
FA1:full_adder_vhdl_codeポートマップ(A(0)、B(0)、Cin、S(0)、c1)
FA2:full_adder_vhdl_codeポートマップ(A(1)、B(1)、c1、S(1)、c2)
FA3:full_adder_vhdl_codeポートマップ(A(2)、B(2)、c2、S(2)、c3)
FA4:full_adder_vhdl_codeポートマップ(A(3)、B(3)、c3、S(3)、Cout)

行動を終了する

リップルキャリー加算器Verilogコード

Verilogコードはハードウェア記述言語です。設計と検証の目的で、RTL段階のデジタル回路で使用されます。このキャリー加算器のVerilogコードを以下に示します。

モジュールripple_carry_adder(a、b、cin、sum、cout)
入力[03:0] a
入力[03:0] b
入力シン
出力[03:0]合計
出力cout
ワイヤー[2:0] c
fulladd a1(a [0]、b [0]、cin、sum [0]、c [0])
fulladd a2(a [1]、b [1]、c [0]、sum [1]、c [1])
fulladd a3(a [2]、b [2]、c [1]、sum [2]、c [2])
fulladd a4(a [3]、b [3]、c [2]、sum [3]、cout)
エンドモジュール
fulladdモジュール(A、B、CIN、和、COUT)
入力a、b、cin
出力合計、cout
合計を割り当てる=(a ^ b ^ cin)
cout =((a&b)|(b&cin)|(a&cin))を割り当てます

リップルキャリー加算器アプリケーション

リップルキャリー加算器アプリケーションには、次のものがあります。

  • これらのキャリー加算器は、主にnビットの入力シーケンスに加えて使用されます。
  • これらのキャリー加算器は、デジタル信号処理および マイクロプロセッサ

リップルキャリー加算器の利点

リップルキャリー加算器の利点は次のとおりです。

  • このキャリー加算器には、正確な結果を得るためにnビットシーケンスの加算プロセスを実行できるなどの利点があります。
  • この加算器の設計は複雑なプロセスではありません。

リップルキャリー加算器 入力ビットシーケンスが大きい場合に、半加算器と全加算器が加算演算を実行しない場合の代替手段です。ただし、ここでは、入力ビットシーケンスがいくらか遅れて出力されます。デジタル回路のように、回路が遅延のある出力を出す場合は好ましくありません。これは、キャリー先見加算回路によって克服できます。