„Ripple Carry Adder“: darbas, tipai ir jo taikymas

Išbandykite Mūsų Instrumentą, Kaip Pašalinti Problemas





Į skaitmeninė elektronika dviejų bitų dvejetainių skaičių pridėti galima naudojant pusė sumaišytojo . Ir jei įvesties seka turi trijų bitų seką, pridėjimo procesą galima užbaigti naudojant pilną sumavimo priemonę. Bet jei įvesties sekoje bitų skaičius yra didesnis, procesą galima užbaigti naudojant pusę sumavimo. Nes visas skaičius negali užbaigti pridėjimo operacijos. Taigi šiuos trūkumus galima įveikti naudojant „Ripple Carry Adder“. Tai unikalus tipas loginė grandinė naudojamas skaitmeninių operacijų metu pridėti N bitų numerius. Šiame straipsnyje aprašoma „ripple-carry-adder“ ir jo veikimo apžvalga.

Kas yra „Ripple Carry Adder“?

Kelių pilnų pridėtinių struktūra yra pakopinė, kad gautų n bitų dvejetainės sekos pridėjimo rezultatus. Šis papildiklis į savo struktūrą įtraukia kaskadinius pilnus pridėtinius, todėl pernešimas bus generuojamas kiekviename pilno papildymo etape, esant „ripple-carry“ papildymo grandinei. Šie pernešimo rezultatai kiekviename pilno papildymo etape persiunčiami į kitą pilną papildymą ir ten naudojami kaip nešimo įvestis. Šis procesas tęsiasi iki paskutinio visiško papildymo etapo. Taigi, kiekvienas nešimo išvesties bitas yra suplanuotas į kitą visiško sumavimo etapą. Dėl šios priežasties jis vadinamas „RIPPLE CARRY ADDER“. Svarbiausia jo savybė yra pridėti įvesties bitų sekas, nesvarbu, ar seka yra 4 bitų, ar 5 bitų, ar bet kuri.




„Vienas iš svarbiausių aspektų, į kurį reikia atsižvelgti šiame papildymo papildinyje, yra galutinis rezultatas yra žinomas tik po to, kai kiekvieno pilno papildymo etapo metu sugeneruojami ir perduodami į kitą etapą. Taigi bus vėluojama gauti rezultatą naudojant šį nešiojimo papildiklį “.

Ripple-carry prieduose yra įvairių tipų. Jie yra:



  • 4 bitų „ripple-carry“ papildiklis
  • 8 bitų „ripple-carry“ papildiklis
  • 16 bitų „ripple-carry“ papildiklis

Pirmiausia pradėsime nuo 4 bitų „ripple-carry-adder“, tada - „8 bitų“ ir „16 bitų„ ripple-carry-addder “.

4 bitų „Ripple Carry Adder“

Žemiau pateiktoje diagramoje pavaizduotas 4 bitų bangų nešiojimo papildiklis. Šiame papildyme keturi pilni pridėtiniai yra sujungti kaskadomis. Co yra nešimo įvesties bitas ir jis visada yra nulis. Kai šis įvesties nešiklis „Co“ pritaikomas dviem įvesties sekoms A1 A2 A3 A4 ir B1 B2 B3 B4, tada išvestis vaizduojama S1 S2 S3 S4, o išvestis - C4.


4 bitų RCA schema

4 bitų „Ripple Carry Adder“ kūrimas

  • Paimkime dviejų įvesties sekų 0101 ir 1010 pavyzdį. Tai reiškia A4 A3 A2 A1 ir B4 B3 B2 B1.
  • Pagal šią papildymo koncepciją įvesties nešimas yra 0.
  • Kai „Ao & Bo“ yra naudojami 1-ajame pilname papildyme kartu su įvesties nešikliu 0.
  • Čia A1 = 1 B1 = 0 Cin = 0
  • Suma (S1) ir nešimas (C1) bus generuojamos pagal šios sumos sumos ir nešiojimo lygtis. Pagal teoriją sumos = A1⊕B1⊕Cin ir Carry išvesties lygtis = A1B1⊕B1Cin⊕CinA1
  • Pagal šią lygtį 1-ajam pilnam papildytuvui S1 = 1 ir nešiojimo išvestis, ty C1 = 0.
  • Tas pats, kaip ir kitiems įvesties bitams A2 ir B2, išėjimas S2 = 1 ir C2 = 0. Čia svarbus momentas yra tai, kad antrasis pakopos papildiklis gauna įvesties nešiklį, t. Y. C1, kuris yra pradinės pakopos pilnosios sumos išvesties nešimas.
  • Tokiu būdu gausime galutinę išvesties seką (S4 S3 S2 S1) = (1 1 1 1) ir išvesties nešimą C4 = 0
  • Tai yra 4 bitų įvesties sekų pridėjimo procesas, kai jis taikomas šiam nešiklio papildikliui.

8 bitų „Ripple Carry Adder“

  • Jį sudaro 8 pilni priedai, kurie sujungiami kaskadine forma.
  • Kiekviena pilnos sumos nešiklio išvestis yra sujungta kaip įvesties nešimas prie kito pakopos papildymo.
  • Įvesties sekos žymimos (A1 A2 A3 A4 A5 A6 A7 A8) ir (B1 B2 B3 B4 B5 B6 B7 B8), o atitinkama jos išvesties seka žymima (S1 S2 S3 S4 S5 S6 S7 S8).
  • Pridėjimo procesas 8 bitų bangų nešimo nešiklyje yra tas pats principas, kuris naudojamas 4 bitų bangų nešimo nešiklyje, t. Y. Kiekvienas bitas iš dviejų įvesties sekų bus pridėtas kartu su įvesties nešimu.
  • Tai bus naudojama pridėjus dvi 8 bitų dvejetainių skaitmenų sekas.
8bit-ripple-carry-addder

8bit-ripple-carry-addder

16 bitų „Ripple Carry Adder“

  • Jį sudaro 16 pilnų pridėtinių, sujungtų kaskadomis.
  • Kiekviena pilnos sumos nešiklio išvestis yra sujungta kaip įvesties nešimas prie kito pakopos papildymo.
  • Įvesties sekos žymimos (A1… .. A16) ir (B1 …… B16), o atitinkama jos išvesties seka - (S1 …… .. S16).
  • Pridėjimo procesas 16 bitų bangų nešimo nešiklyje yra tas pats principas, kuris naudojamas 4 bitų bangų nešimo sumoje, t. Y. Kiekvienas bitas iš dviejų įvesties sekų bus pridėtas kartu su įvesties nešimu.
  • Tai bus naudojama pridėjus dvi 16 bitų dvejetainių skaitmenų sekas.
16-bit-ripple-carry-addder

16-bit-ripple-carry-addder

„Ripple Carry Adder“ teisybės lentelė

Žemiau tiesos lentelėje pateikiamos galimų visų įvesties „pulsuoti-nešti-pridėti“ kombinacijų išvesties vertės.

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

Nešiotis

0

000000000000
010001001000

0

1

000100000001
101010100100

1

110011001000

1

111011101100

1

111111111110

1

„Ripple Carry Adder“ VHDL kodas

VHDL (VHSIC HDL) yra aparatūros aprašymo kalba. Tai skaitmeninio dizaino kalba. Žemiau parodytas šio nešiojimo papildiklio VHDL kodas.

biblioteka IEEE
naudoti IEEE.STD_LOGIC_1164. VISI

esmė „Ripplecarryadder“ yra
Prievadas (A: „STD_LOGIC_VECTOR“ (nuo 3 iki 0)
B: „STD_LOGIC_VECTOR“ (nuo 3 iki 0)
„Cin“: STD_LOGIC
S: iš STD_LOGIC_VECTOR (nuo 3 iki 0)
„Cout“: iš STD_LOGIC)
pabaigos Ripplecarryadder

„Ripplecarryadder“ elgsena yra - „Full Adder“ VHDL kodo komponentų deklaracija
komponentas full_adder_vhdl_code
Uostas (A: STD_LOGIC
B: STD_LOGIC
„Cin“: STD_LOGIC
S: iš STD_LOGIC
„Cout“: iš STD_LOGIC)
pabaigos komponentas

- Tarpinė vežimo deklaracija
Signalas c1, c2, c3: STD_LOGIC

pradėti

- „Port Mapping Full Adder“ 4 kartus
FA1: „full_adder_vhdl_code“ prievado žemėlapis (A (0), B (0), Cin, S (0), c1)
FA2: „full_adder_vhdl_code“ prievado žemėlapis (A (1), B (1), c1, S (1), c2)
FA3: „full_adder_vhdl_code“ prievado žemėlapis (A (2), B (2), c2, S (2), c3)
FA4: „full_adder_vhdl_code“ prievado žemėlapis (A (3), B (3), c3, S (3), Cout)

pabaigos elgesys

„Ripple Carry Adder Verilog“ kodas

„Verilog“ kodas yra aparatūros aprašymo kalba. Jis naudojamas skaitmeninėse grandinėse RTL etape projektuojant ir tikrinant. Žemiau parodytas šio nešiojimo papildiklio verilogo kodas.

modulis ripple_carry_adder (a, b, cin, summa, cout)
įvestis [03: 0] a
įvestis [03: 0] b
įvesties cin
išvesties [03: 0] suma
produkcijos cout
viela [2: 0] c
fulladd a1 (a [0], b [0], cin, suma [0], c [0])
fulladd a2 (a [1], b [1], c [0], suma [1], c [1])
fulladd a3 (a [2], b [2], c [1], suma [2], c [2])
fulladd a4 (a [3], b [3], c [2], suma [3], cout)
endmodulis
fulladd modulis (a, b, CIN, suma, cout)
įvestis a, b, cin
produkcijos suma, cout
priskirti sumą = (a ^ b ^ cin)
priskirti cout = ((a & b) | (b & cin) | (a & cin))

„Ripple Carry Adder“ programos

„Ripple-carry-adder“ programos apima:

  • Šie nešimo priedai dažniausiai naudojami be n bitų įvesties sekų.
  • Šie nešimo priedai yra naudojami skaitmeniniam signalo apdorojimui ir mikroprocesoriai .

„Ripple Carry Adder“ pranašumai

„Ripple-carry-adder“ pranašumai yra šie.

  • Šis nešiklis turi pranašumą, pavyzdžiui, kad galėtume atlikti n bitų sekų pridėjimo procesą, kad gautume tikslius rezultatus.
  • Šio papildiklio projektavimas nėra sudėtingas procesas.

Ripple carry lisatorius yra alternatyva, kai pusė suminio ir pilno pridėtojo neatlieka pridėjimo operacijos, kai įvesties bitų sekos yra didelės. Bet čia jis duos išvestį bet kokioms įvesties bitų sekoms su tam tikru vėlavimu. Pagal skaitmenines grandines, jei grandinė duoda išėjimą su vėlavimu, nebus geriau. Tai galima įveikti persiuntimo sumontuotojo grandine.