Ripple Carry Adder: działanie, typy i zastosowania

Ripple Carry Adder: działanie, typy i zastosowania

W Elektronika cyfrowa dodawanie dwubitowych liczb binarnych jest możliwe przy użyciu pół sumatora . A jeśli sekwencja wejściowa ma sekwencję trzech bitów, to proces dodawania można zakończyć przy użyciu pełnego sumatora. Ale jeśli liczba bitów jest większa w sekwencji wejściowej, proces można zakończyć za pomocą półsumatora. Ponieważ pełny sumator nie może ukończyć operacji dodawania. Dlatego te wady można wyeliminować za pomocą „Ripple Carry Adder”. To wyjątkowy typ obwód logiczny używany do dodawania liczb N-bitowych w operacjach cyfrowych. W tym artykule opisano omówienie tego, co jest sumatorem ripple-carry i jego działania.



Co to jest dodatek Ripple Carry Adder?

Struktura wielu pełnych sumatorów jest ułożona kaskadowo w sposób dający wyniki dodania n-bitowej sekwencji binarnej. Ten sumator zawiera w swojej strukturze kaskadowe pełne sumatory, więc przeniesienie będzie generowane na każdym etapie pełnego sumatora w obwodzie sumatora przenoszenia tętnienia. Te przeniesione dane wyjściowe na każdym etapie pełnego sumatora są przekazywane do następnego pełnego sumatora i tam stosowane jako wejście przeniesienia. Ten proces trwa do ostatniego pełnego etapu dodawania. Tak więc każdy wyjściowy bit przeniesienia jest falowany do następnego etapu pełnego sumatora. Z tego powodu nosi nazwę „RIPPLE CARRY ADDER”. Najważniejszą jego cechą jest dodawanie wejściowych sekwencji bitów, niezależnie od tego, czy sekwencja jest 4-bitowa, czy 5-bitowa, czy dowolna.


„Jednym z najważniejszych punktów, które należy wziąć pod uwagę w tym sumatorze przenoszenia, jest to, że ostateczne wyjście jest znane dopiero po wygenerowaniu wyników przeniesienia przez każdy pełny stopień sumatora i przekazaniu ich do następnego etapu. Tak więc wystąpi opóźnienie w uzyskaniu wyniku przy użyciu tego sumatora przeniesień ”.





Istnieją różne typy sumatorów przenoszenia tętnienia. Oni są:

  • 4-bitowy dodatek ripple-carry
  • 8-bitowy dodatek ripple-carry
  • 16-bitowy dodatek ripple-carry

Najpierw zaczniemy od 4-bitowego sumatora ripple-carry, a następnie 8-bitowego i 16-bitowego dodawania ripple-carry.



4-bitowy dodatek Ripple Carry

Poniższy diagram przedstawia 4-bitowy sumator przenoszenia tętnień. W tym sumatorze cztery pełne sumatory są połączone kaskadowo. Co jest bitem wejściowym przenoszenia i zawsze wynosi zero. Gdy to wejściowe przeniesienie „Co” zostanie zastosowane do dwóch sekwencji wejściowych A1 A2 A3 A4 i B1 B2 B3 B4, wówczas wyjście jest reprezentowane przez S1 S2 S3 S4 i wyjściowe przenoszenie C4.


4-bitowy schemat RCA

Działanie 4-bitowego dodatku Ripple Carry Adder

  • Weźmy przykład dwóch sekwencji wejściowych 0101 i 1010. Reprezentują one A4, A3 A2 A1 i B4 B3 B2 B1.
  • Zgodnie z tą koncepcją sumatora przeniesienie wejściowe wynosi 0.
  • Kiedy Ao i Bo są stosowane na pierwszym pełnym sumatorze wraz z przeniesieniem wejściowym 0.
  • Tutaj A1 = 1 B1 = 0 Cin = 0
  • Suma (S1) i przeniesienie (C1) zostaną wygenerowane zgodnie z równaniami Sum and Carry tego sumatora. Zgodnie z jego teorią, równanie wyjściowe dla Sum = A1⊕B1⊕Cin i Carry = A1B1⊕B1Cin⊕CinA1
  • Zgodnie z tym równaniem, dla pierwszego pełnego sumatora S1 = 1 i wyjścia Carry, tj. C1 = 0.
  • Tak samo jak w przypadku kolejnych bitów wejściowych A2 i B2, wyjście S2 = 1 i C2 = 0. Tutaj ważnym punktem jest to, że pełny sumator drugiego stopnia otrzymuje przeniesienie wejściowe, tj. C1, które jest przenoszeniem wyjściowym pełnego sumatora etapu początkowego.
  • W ten sposób otrzyma końcową sekwencję wyjściową (S4 S3 S2 S1) = (1 1 1 1) i wyjściową sekwencje C4 = 0
  • Jest to proces dodawania 4-bitowych sekwencji wejściowych, gdy jest stosowany do tego sumatora przenoszenia.

8-bitowy dodatek Ripple Carry

  • Składa się z 8 pełnych sumatorów, które są połączone kaskadowo.
  • Każde wyjście przeniesienia pełnego sumatora jest podłączone jako przeniesienie wejścia do pełnego sumatora następnego stopnia.
  • Sekwencje wejściowe są oznaczone jako (A1 A2 A3 A4 A5 A6 A7 A8) i (B1 B2 B3 B4 B5 B6 B7 B8), a odpowiednia sekwencja wyjściowa jest oznaczona przez (S1 S2 S3 S4 S5 S6 S7 S8).
  • Proces dodawania w 8-bitowym sumatorze przenoszenia tętnień jest tą samą zasadą, która jest używana w 4-bitowym sumatorze przenoszenia tętnień, tj. Każdy bit z dwóch sekwencji wejściowych zostanie dodany wraz z przeniesieniem wejściowym.
  • Służy do dodawania dwóch 8-bitowych sekwencji cyfr binarnych.
8bit-ripple-carry-adder

8bit-ripple-carry-adder

16-bitowy dodatek Ripple Carry

  • Składa się z 16 pełnych sumatorów połączonych kaskadowo.
  • Każde wyjście przeniesienia pełnego sumatora jest podłączone jako przeniesienie wejścia do pełnego sumatora następnego stopnia.
  • Sekwencje wejściowe są oznaczone jako (A1… .. A16) i (B1 …… B16), a odpowiadająca im sekwencja wyjściowa jest oznaczona jako (S1 …… .. S16).
  • Proces dodawania w 16-bitowym sumatorze przenoszenia tętnień jest tą samą zasadą, która jest używana w 4-bitowym sumatorze przenoszenia tętnień, tj. Każdy bit z dwóch sekwencji wejściowych będzie dodawał się wraz z przenoszeniem wejściowym.
  • Służy do dodawania dwóch 16-bitowych sekwencji cyfr binarnych.
16-bitowy dodatek do przenoszenia fal

16-bitowy dodatek do przenoszenia fal

Tabela prawdy sumatora Ripple Carry

Poniższa tabela prawdy przedstawia wartości wyjściowe dla możliwych kombinacji wszystkich wejść dla sumatora przenoszenia tętnień.

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

Nieść

0

000000000000
010001001000

0

1

000100000001
101010100100

1

110011001000

1

111011101100

1

111111111110

1

Kod VHDL Ripple Carry Adder

VHDL (VHSIC HDL) to język opisu sprzętu. To cyfrowy język projektowania. Kod VHDL dla tego dodatku do przenoszenia jest pokazany poniżej.

biblioteka IEEE
użyj IEEE.STD_LOGIC_1164.ALL

podmiot Ripplecarryadder jest
Port (A: w STD_LOGIC_VECTOR (od 3 do 0)
B: w STD_LOGIC_VECTOR (od 3 do 0)
Cin: w STD_LOGIC
S: out STD_LOGIC_VECTOR (od 3 do 0)
Cout: out STD_LOGIC)
koniec Ripplecarryadder

Architektura Zachowanie Ripplecarryadder to - Deklaracja komponentu pełnego kodu VHDL Adder
komponent full_adder_vhdl_code
Port (A: w STD_LOGIC
B: w STD_LOGIC
Cin: w STD_LOGIC
S: się STD_LOGIC
Cout: out STD_LOGIC)
komponent końcowy

- Deklaracja Intermediate Carry
Sygnał c1, c2, c3: STD_LOGIC

zaczynać

- 4-krotne pełne mapowanie portów
FA1: mapa portów full_adder_vhdl_code (A (0), B (0), Cin, S (0), c1)
FA2: mapa portów full_adder_vhdl_code (A (1), B (1), c1, S (1), c2)
FA3: mapa portów full_adder_vhdl_code (A (2), B (2), c2, S (2), c3)
FA4: mapa portów full_adder_vhdl_code (A (3), B (3), c3, S (3), Cout)

koniec Behawioralny

Kod Verilog dodatku Ripple Carry Adder

Kod Verilog to język opisu sprzętu. Jest używany w obwodach cyfrowych na etapie RTL do projektowania i weryfikacji. Kod Verilog dla tego dodatku do przenoszenia jest pokazany poniżej.

moduł ripple_carry_adder (a, b, cin, sum, cout)
wejście [03: 0] a
wejście [03: 0] b
wejście cin
wyjście [03: 0] suma
wyjście cout
drut [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)
endmodule
Moduł fulladd (a, b, CIN suma Cout)
wejście a, b, cin
suma wyjściowa, cout
przypisz sumę = (a ^ b ^ cin)
przypisz cout = ((a & b) | (b & cin) | (a & cin))

Aplikacje dodatku Ripple Carry Adder

Aplikacje dodawania ripple-carry obejmują następujące.

  • Te sumatory przenoszenia są używane głównie oprócz n-bitowych sekwencji wejściowych.
  • Te sumatory przenoszenia mają zastosowanie w cyfrowym przetwarzaniu sygnału i mikroprocesory .

Zalety dodatku Ripple Carry Adder

Zalety dodatku ripple-carry-adder obejmują:

  • Ten sumator przenoszenia ma tę zaletę, że możemy wykonać proces dodawania dla sekwencji n-bitowych, aby uzyskać dokładne wyniki.
  • Projektowanie tego dodatku nie jest skomplikowanym procesem.

Ripple Carry Adder jest alternatywą dla sytuacji, gdy pół sumatory i pełne sumatory nie wykonują operacji dodawania, gdy wejściowe sekwencje bitów są duże. Ale tutaj da wyjście dla dowolnej sekwencji bitów wejściowych z pewnym opóźnieniem. Zgodnie z obwodami cyfrowymi, jeśli obwód daje wyjście z opóźnieniem, nie będzie preferowane. Można temu zaradzić za pomocą obwodu sumatora z wyprzedzeniem przenoszenia.