Ripple Carry Adder: werken, typen en zijn toepassingen

Probeer Ons Instrument Voor Het Oplossen Van Problemen





In digitale electronica het toevoegen van binaire getallen van twee bits is mogelijk met halve opteller ​En als de invoerreeks een reeks van drie bits heeft, kan het optelproces worden voltooid door een volledige opteller te gebruiken. Maar als het aantal bits groter is in de invoervolgorde, kan het proces worden voltooid door een halve opteller te gebruiken. Omdat volledige opteller de optelbewerking niet kan voltooien. Deze nadelen kunnen dus worden ondervangen door 'Ripple Carry Adder' te gebruiken. Het is een uniek type logisch circuit gebruikt voor het optellen van de N-bit getallen bij digitale bewerkingen. Dit artikel beschrijft een overzicht van wat ripple-carry-adder is en hoe het werkt.

Wat is Ripple Carry Adder?

Een structuur van meerdere volledige optellers wordt in cascade geschakeld op een manier die de resultaten geeft van de toevoeging van een n bit binaire reeks. Deze opteller bevat gecascadeerde volledige optellers in zijn structuur, dus de carry wordt gegenereerd bij elke volledige optelfase in een rimpel-carry-optelcircuit. Deze carry-uitvoer bij elke volledige optelfase wordt doorgestuurd naar de volgende volledige opteller en daar als carry-invoer daarop toegepast. Dit proces gaat door tot de laatste volledige optelfase. Dus elk carry-uitvoerbit wordt gerimpeld naar de volgende fase van een volledige opteller. Om deze reden wordt het genoemd als 'RIPPLE CARRY ADDER'. Het belangrijkste kenmerk ervan is om de invoerbitreeksen toe te voegen, ongeacht of de reeks 4 bit of 5 bit of iets anders is.




“Een van de belangrijkste punten waarmee in deze carry-opteller rekening moet worden gehouden, is dat de uiteindelijke uitvoer pas bekend is nadat de carry-uitgangen zijn gegenereerd door elke volledige opteltrap en doorgestuurd naar de volgende stap. Er zal dus een vertraging zijn om het resultaat te krijgen bij het gebruik van deze carry-opteller ”.

Er zijn verschillende soorten ripple-carry-adders. Zij zijn:



  • 4-bit rimpel-carry-opteller
  • 8-bit rimpel-carry-opteller
  • 16-bit rimpel-carry-opteller

Eerst beginnen we met 4-bit rimpel-carry-adder en vervolgens 8 bit en 16-bit rimpel-carry-adders.

4-bit Ripple Carry Adder

Het onderstaande diagram geeft de 4-bits rimpel-carry-opteller weer. In deze opteller zijn vier volledige optellers in cascade geschakeld. Co is het carry-invoerbit en is altijd nul. Wanneer deze input carry ‘Co’ wordt toegepast op de twee input sequenties A1 A2 A3 A4 en B1 B2 B3 B4, dan wordt output weergegeven met S1 S2 S3 S4 en output draagt ​​C4.


4-bits RCA-diagram

Werking van 4-bit Ripple Carry Adder

  • Laten we een voorbeeld nemen van twee invoerreeksen 0101 en 1010. Deze vertegenwoordigen de A4 A3 A2 A1 en B4 B3 B2 B1.
  • Volgens dit optelconcept is invoeroverdracht 0.
  • Wanneer Ao & Bo worden toegepast op de 1e volledige opteller samen met invoer, draagt ​​0.
  • Hier A1 = 1 B1 = 0 Cin = 0
  • Sum (S1) en carry (C1) worden gegenereerd volgens de Sum en Carry-vergelijkingen van deze opteller. Volgens de theorie is de outputvergelijking voor de Sum = A1⊕B1⊕Cin en Carry = A1B1⊕B1Cin⊕CinA1
  • Volgens deze vergelijking, voor de 1e volledige opteller S1 = 1 en uitvoeruitvoer, d.w.z. C1 = 0.
  • Hetzelfde als voor de volgende invoerbits A2 en B2, uitvoer S2 = 1 en C2 = 0. Hier is het belangrijke punt dat de volledige opteller van de tweede trap een invoeroverdracht krijgt, d.w.z. C1, de uitvoeroverdracht van de volledige opteller van de eerste stap.
  • Op deze manier krijgt u de laatste uitvoersequentie (S4 S3 S2 S1) = (1 1 1 1) en de uitvoer draagt ​​C4 = 0
  • Dit is het optelproces voor 4-bits invoerreeksen wanneer het wordt toegepast op deze carry-opteller.

8-bit Ripple Carry Adder

  • Het bestaat uit 8 volledige adders die in cascade-vorm zijn aangesloten.
  • Elke volledige opteller-uitvoer is verbonden als een invoer-overdracht naar de volgende fase volledige opteller.
  • De invoersequenties worden aangegeven met (A1 A2 A3 A4 A5 A6 A7 A8) en (B1 B2 B3 B4 B5 B6 B7 B8) en de relevante uitvoersequentie wordt aangegeven met (S1 S2 S3 S4 S5 S6 S7 S8).
  • Het optelproces in een 8-bit rimpel-carry-opteller is hetzelfde principe dat wordt gebruikt in een 4-bit rimpel-carry-opteller, d.w.z. elk bit van twee inputsequenties wordt samen met input-carry toegevoegd.
  • Dit wordt gebruikt bij het toevoegen van twee 8-bits binaire cijfers.
8bit-rimpel-carry-opteller

8bit-rimpel-carry-opteller

16-bit Ripple Carry Adder

  • Het bestaat uit 16 volledige adders die in cascade-vorm zijn aangesloten.
  • Elke volledige opteller-uitvoer is verbonden als een invoer-overdracht naar de volgende fase volledige opteller.
  • De invoersequenties worden aangegeven met (Al… .. A16) en (B1 …… B16) en de relevante uitvoervolgorde wordt aangegeven met (S1 …… .. S16).
  • Het optelproces in een 16-bit rimpel-carry-opteller is hetzelfde principe dat wordt gebruikt in een 4-bit rimpel-carry-opteller, d.w.z. dat elk bit van twee inputsequenties samen met input-carry wordt opgeteld.
  • Dit wordt gebruikt bij het toevoegen van twee 16 bit binaire cijfers.
16-bit-rimpel-carry-opteller

16-bit-rimpel-carry-opteller

Ripple Carry Adder Truth Table

Onderstaande waarheidstabel toont de outputwaarden voor de mogelijke combinaties van alle inputs voor rimpel-carry-opteller.

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

Draag

0

000000000000
010001001000

0

1

000100000001
101010100100

1

110011001000

1

111011101100

1

111111111110

1

Ripple Carry Adder VHDL-code

VHDL (VHSIC HDL) is de taal voor hardwarebeschrijvingen. Het is een digitale ontwerptaal. De VHDL-code voor deze carry-opteller wordt hieronder weergegeven.

bibliotheek IEEE
gebruik IEEE.STD_LOGIC_1164.ALL

entiteit Ripplecarryadder is
Poort (A: in STD_LOGIC_VECTOR (3 tot 0)
B: in STD_LOGIC_VECTOR (3 tot 0)
Cin: in STD_LOGIC
S: uit STD_LOGIC_VECTOR (3 tot 0)
Cout: uit STD_LOGIC)
einde Ripplecarryadder

architecture Gedrag van Ripplecarryadder is - Full Adder VHDL Code Component Declaration
component full_adder_vhdl_code
Poort (A: in STD_LOGIC
B: in STD_LOGIC
Cin: in STD_LOGIC
S: uit STD_LOGIC
Cout: uit STD_LOGIC)
eindcomponent

- Intermediate Carry-aangifte
Signaal c1, c2, c3: STD_LOGIC

beginnen

- Port Mapping Full Adder 4 keer
FA1: full_adder_vhdl_code poortkaart (A (0), B (0), Cin, S (0), c1)
FA2: full_adder_vhdl_code poortkaart (A (1), B (1), c1, S (1), c2)
FA3: full_adder_vhdl_code poortkaart (A (2), B (2), c2, S (2), c3)
FA4: full_adder_vhdl_code poortkaart (A (3), B (3), c3, S (3), Cout)

einde Gedrag

Ripple Carry Adder Verilog-code

Verilog-code is een hardware-beschrijvingstaal. Het wordt gebruikt in digitale circuits in het RTL-stadium voor ontwerp- en verificatiedoeleinden. De verilog-code voor deze carry-opteller wordt hieronder weergegeven.

module ripple_carry_adder (a, b, cin, sum, cout)
ingang [03: 0] a
invoer [03: 0] b
input cin
output [03: 0] som
output cout
draad [2: 0] c
fulladd a1 (a [0], b [0], cin, som [0], c [0])
fulladd a2 (a [1], b [1], c [0], som [1], c [1])
fulladd a3 (a [2], b [2], c [1], som [2], c [2])
fulladd a4 (a [3], b [3], c [2], som [3], cout)
eindmodule
fulladd module (a, b, CIN, sum, cout)
voer a, b, cin in
output som, cout
wijs sum = (a ^ b ^ cin)
toewijzen cout = ((a & b) | (b & cin) | (a & cin))

Ripple Carry Adder-applicaties

De toepassingen voor rimpel-carry-adder omvatten de volgende.

  • Deze carry-adders worden meestal gebruikt naast n-bit-invoersequenties.
  • Deze carry-adders zijn toepasbaar in de digitale signaalverwerking en microprocessoren

Voordelen van Ripple Carry Adder

De voordelen van rimpel-carry-adder omvatten de volgende.

  • Deze carry-opteller heeft het voordeel dat we een optelproces kunnen uitvoeren voor n-bit-reeksen om nauwkeurige resultaten te krijgen.
  • Het ontwerpen van deze adder is geen complex proces.

Ripple carry adder is een alternatief voor wanneer halve optellers en volledige optellers de optelbewerking niet uitvoeren wanneer de invoerbitreeksen groot zijn. Maar hier geeft het de uitvoer met enige vertraging, ongeacht de invoerbitsequenties. Zoals bij de digitale circuits, heeft het niet de voorkeur als het circuit een output met vertraging geeft. Dit kan worden ondervangen door een carry-look-ahead-optelschakeling.