Ripple Carry Adder: Työskentely, tyypit ja sovellukset

Ripple Carry Adder: Työskentely, tyypit ja sovellukset

Sisään digitaalinen elektroniikka kaksibittisten binäärilukujen lisääminen voi olla mahdollista käyttämällä puolet summaimesta . Ja jos syötesekvenssillä on kolmibittinen sekvenssi, lisäysprosessi voidaan suorittaa loppuun käyttämällä täyttä summainta. Mutta jos bittien lukumäärä on enemmän syötesekvenssissä, prosessi voidaan suorittaa loppuun käyttämällä puoli summainta. Koska täysi summain ei pysty suorittamaan lisäystoimintoa. Joten nämä haitat voidaan voittaa käyttämällä “Ripple Carry Adder” -ohjelmaa. Se on ainutlaatuinen tyyppi logiikkapiiri käytetään lisäämään N-bittisiä numeroita digitaalisissa operaatioissa. Tässä artikkelissa kuvataan yleiskatsaus ripple-carry-summaimen ja sen toiminnasta.



Mikä on Ripple Carry Adder?

Usean täyden summaimen rakenne on kaskadoitu tavalla, joka antaa tulokset n-bittisen binäärisekvenssin lisäyksestä. Tämä summain sisältää kaskadoituja täydellisiä lisäaineita rakenteeseensa, joten kantavuus syntyy jokaisessa täydellisessä summaimen vaiheessa ripple-carry summaimen piirissä. Nämä kantotulokset kussakin täydellisen summaimen vaiheessa välitetään seuraavaan täydelliseen summaimeen ja käytetään siellä siirtotulona siihen. Tämä prosessi jatkuu viimeiseen täyden summaimen vaiheeseensa. Joten jokainen kantolähtöbitti ripploidaan täyden summaimen seuraavaan vaiheeseen. Tästä syystä se nimetään nimellä 'RIPPLE CARRY ADDER'. Sen tärkein ominaisuus on lisätä tulobittisekvenssit riippumatta siitä, onko sekvenssi 4- vai 5-bittinen vai mikä tahansa.


”Yksi tärkeimmistä huomioitavista seikoista tässä lopullisessa summaimessa on, että lopullinen tuotos tiedetään vasta sen jälkeen, kun jokainen täysi summaimen vaihe tuottaa tuotokset ja välittää sen seuraavaan vaiheeseen. Joten viive on tuloksen saamiseksi tämän kantolaitteen avulla ”.





Ripple-carry -lisälaitteissa on erilaisia ​​tyyppejä. He ovat:

  • 4-bittinen ripple-carry-summain
  • 8-bittinen ripple-carry-summain
  • 16-bittinen ripple-carry-summain

Ensinnäkin aloitamme 4-bittisillä ripple-carry-summaimilla ja sitten 8-bittisillä ja 16-bittisillä ripple-carry-summaimilla.



4-bittinen Ripple Carry Adder

Alla oleva kaavio edustaa 4-bittistä aaltoilua kantavaa summainta. Tässä summaimessa neljä täyttä summainta on kytketty kaskadina. Co on kantotulobitti ja se on aina nolla. Kun tämä tulokanava 'Co' kohdistetaan kahteen tulosekvenssiin A1 A2 A3 A4 ja B1 B2 B3 B4, tuotetaan sitten S1 S2 S3 S4 ja lähtö C4.


4-bittinen RCA-kaavio

4-bittisen Ripple Carry Adder -sovelluksen käyttö

  • Otetaan esimerkki kahdesta tulosekvenssistä 0101 ja 1010. Ne edustavat A4 A3 A2 A1 ja B4 B3 B2 B1.
  • Tämän summaimen käsitteen mukaan syötteen kuljettaminen on 0.
  • Kun Ao & Bo asetetaan ensimmäiseen täyteen summaimeen yhdessä tulokantajan 0 kanssa.
  • Tässä A1 = 1 B1 = 0 Cin = 0
  • Summa (S1) ja kanto (C1) luodaan tämän summaimen Sum- ja Carry-yhtälöiden mukaisesti. Teoriansa mukaisesti Sum = A1⊕B1⊕Cin ja Carry = A1B1⊕B1Cin⊕CinA1 -lähtöyhtälö
  • Tämän yhtälön mukaan ensimmäiselle täysi summaimelle S1 = 1 ja Carry-lähtö eli C1 = 0.
  • Sama kuin seuraavilla tulobiteillä A2 ja B2, lähtö S2 = 1 ja C2 = 0. Tärkeä kohta on, että toisen vaiheen täysi summain saa tulonsiirron eli C1, joka on alkuvaiheen täyden summaimen ulostulo.
  • Näin saat lopullisen tulosekvenssin (S4 S3 S2 S1) = (1 1 1 1) ja lähtötehon C4 = 0
  • Tämä on lisäysprosessi 4-bittisille tulosekvensseille, kun sitä käytetään tähän kantoaineeseen.

8-bittinen Ripple Carry Adder

  • Se koostuu kahdeksasta täydestä summaimesta, jotka on yhdistetty kaskadimuotoon.
  • Jokainen täyden summaimen kantolähtö on kytketty tulonsiirtona seuraavan vaiheen täyteen summaimeen.
  • Tulosekvenssit on merkitty (A1 A2 A3 A4 A5 A6 A7 A8) ja (B1 B2 B3 B4 B5 B6 B7 B8) ja sen asiaankuuluva lähtöjakso on merkitty (S1 S2 S3 S4 S5 S6 S7 S8).
  • Lisäysprosessi 8-bittisessä ripple-carry-summaimessa on sama periaate, jota käytetään 4-bittisessä ripple-carry-summaimessa, toisin sanoen kahden tulosekvenssin jokainen bitti lisätään yhdessä sisääntulon kanssa.
  • Tätä käytetään, kun lisätään kaksi 8-bittistä binaarista numerosarjaa.
8-bittinen ripple-carry-summain

8-bittinen ripple-carry-summain

16-bittinen Ripple Carry Adder

  • Se koostuu 16 täydestä summaimesta, jotka on kytketty kaskadimuotoon.
  • Jokainen täyden summaimen kantolähtö on kytketty tulonsiirtona seuraavan vaiheen täyteen summaimeen.
  • Tulosekvenssit on merkitty (A1… .. A16) ja (B1 …… B16) ja niiden asiaankuuluva lähtöjakso on merkitty (S1 …… .. S16).
  • Lisäysprosessi 16-bittisessä ripple-carry-summaimessa on sama periaate, jota käytetään 4-bittisessä ripple-carry-summaimessa, toisin sanoen kahden tulosekvenssin jokainen bitti lisätään yhdessä input-siirron kanssa.
  • Tätä käytetään, kun lisätään kaksi 16-bittistä binäärisarjaa.
16-bittinen ripple-carry-summain

16-bittinen ripple-carry-summain

Ripple Carry Adder -totuustaulukko

Totuuden alla oleva taulukko näyttää lähtöarvot kaikkien tulojen mahdollisille yhdistelmille ripple-carry-summaimelle.

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

Kanna

0

000000000000
010001001000

0

1

000100000001
101010100100

1

110011001000

1

111011101100

1

111111111110

1

Ripple Carry Adder VHDL -koodi

VHDL (VHSIC HDL) on laitteiston kuvauskieli. Se on digitaalinen suunnittelukieli. Tämän kantolaitteen VHDL-koodi on esitetty alla.

kirjasto IEEE
käytä IEEE.STD_LOGIC_1164.ALL

Ripplecarryadder on
Portti (A: kohdassa STD_LOGIC_VECTOR (3 - 0)
B: STD_LOGIC_VECTORissa (3 - 0)
Cin: julkaisussa STD_LOGIC
S: ulos STD_LOGIC_VECTOR (3 - 0)
Cout: ulos STD_LOGIC)
loppu Ripplecarryadder

arkkitehtuuri Ripplecarryadderin käyttäytyminen on - Full Adder VHDL Code Component Declaration
komponentti full_adder_vhdl_code
Portti (A: STD_LOGIC
B: STD_LOGICissa
Cin: julkaisussa STD_LOGIC
S: ulos STD_LOGIC
Cout: ulos STD_LOGIC)
loppukomponentti

- Välitasoilmoitus
Signaali c1, c2, c3: STD_LOGIC

alkaa

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

loppukäyttäytyminen

Ripple Carry Adder Verilog -koodi

Verilog-koodi on laitteiston kuvauskieli. Sitä käytetään digitaalisissa piireissä RTL-vaiheessa suunnittelua ja todentamista varten. Tämän kantosumman verilog-koodi on esitetty alla.

moduuli ripple_carry_adder (a, b, cin, summa, cout)
tulo [03: 0] a
tulo [03: 0] b
tulo cin
tuotos [03: 0] summa
ulostulo cout
lanka [2: 0] c
fulladd a1 (a [0], b [0], cin, summa [0], c [0])
fulladd a2 (a [1], b [1], c [0], summa [1], c [1])
fulladd a3 (a [2], b [2], c [1], summa [2], c [2])
fulladd a4 (a [3], b [3], c [2], summa [3], cout)
endmoduuli
fulladd moduuli (a, b, CIN, summa, cout)
tulo a, b, cin
tuotosumma, cout
anna summa = (a ^ b ^ cin)
määritä cout = ((a & b) | (b & cin) | (a & cin))

Ripple Carry Adder -sovellukset

Ripple-carry-summaimen sovellukset sisältävät seuraavat.

  • Näitä kantoaallonlisäaineita käytetään enimmäkseen n-bittisten tulosekvenssien lisäksi.
  • Näitä kantoaallonlisäaineita voidaan käyttää digitaalisessa signaalinkäsittelyssä ja mikroprosessorit .

Ripple Carry Adder -edut

Ripple-carry-summaimen edut sisältävät seuraavat.

  • Tällä kuljettajalla on etu, että voimme suorittaa lisäysprosessin n-bittisille sekvensseille tarkkojen tulosten saamiseksi.
  • Tämän summaimen suunnittelu ei ole monimutkainen prosessi.

Ripple-kantolaite on vaihtoehto sille, kun puoli summain ja täysi summaimet eivät tee lisäysoperaatiota, kun tulobittisekvenssit ovat suuria. Mutta tässä se antaa lähdön mille tahansa tulobittisekvenssille jonkin verran viiveellä. Digitaalisten piirien mukaan, jos piiri antaa lähdön viiveellä, ei ole suositeltavaa. Tämä voidaan voittaa kuljettajan ennakoivalla summainpiirillä.