Ripple Carry Adder: funzionamento, tipi e sue applicazioni

Prova Il Nostro Strumento Per Eliminare I Problemi





Nel elettronica digitale l'aggiunta di numeri binari a due bit può essere possibile utilizzando mezzo sommatore . E se la sequenza di input ha una sequenza di tre bit, il processo di aggiunta può essere completato utilizzando un sommatore completo. Ma se il numero di bit è maggiore nella sequenza di input, il processo può essere completato utilizzando mezzo sommatore. Perché il sommatore completo non può essere in grado di completare l'operazione di aggiunta. Quindi questi inconvenienti possono essere superati utilizzando 'Ripple Carry Adder'. È un tipo unico di circuito logico utilizzato per aggiungere i numeri N-bit nelle operazioni digitali. Questo articolo descrive una panoramica di cosa è il sommatore e il suo funzionamento.

Cos'è Ripple Carry Adder?

Una struttura di più sommatori completi viene messa in cascata in modo da fornire i risultati dell'aggiunta di una sequenza binaria di n bit. Questo sommatore include sommatori completi a cascata nella sua struttura, quindi il riporto verrà generato in ogni fase del sommatore completo in un circuito sommatore a ripple-carry. Questi carry output in ogni fase del sommatore completo vengono inoltrati al successivo sommatore completo e lì applicati come input del carry. Questo processo continua fino alla sua ultima fase di sommatore completo. Quindi, ogni bit di uscita del riporto viene increspato allo stadio successivo di un sommatore completo. Per questo motivo, è denominato 'RIPPLE CARRY ADDER'. La caratteristica più importante è aggiungere le sequenze di bit di ingresso se la sequenza è di 4 bit o 5 bit o qualsiasi.




“Uno dei punti più importanti da considerare in questo carry adder è che l'output finale è noto solo dopo che gli output di carry sono stati generati da ciascuna fase del sommatore completo e inoltrati alla fase successiva. Quindi ci sarà un ritardo per ottenere il risultato con l'utilizzo di questo carry adder ”.

Esistono vari tipi di sommatori per il trasporto di ondulazioni. Sono:



  • Sommatore per trasporto ondulato a 4 bit
  • Sommatore a 8 bit per il trasporto di ondulazioni
  • Sommatore ripple-carry a 16 bit

In primo luogo, inizieremo con sommatori per il trasporto di ripple a 4 bit e poi con i sommatori per il trasporto di ondulazioni a 8 bit e 16 bit.

Ripple Carry Adder a 4 bit

Il diagramma sottostante rappresenta il sommatore a 4 bit per il trasporto di ondulazioni. In questo sommatore, quattro sommatori completi sono collegati in cascata. Co è il bit di ingresso di riporto ed è sempre zero. Quando questo trasporto di ingresso 'Co' viene applicato alle due sequenze di ingresso A1 A2 A3 A4 e B1 B2 B3 B4, l'uscita rappresentata con S1 S2 S3 S4 e il trasporto di uscita C4.


Diagramma RCA a 4 bit

Funzionamento del Ripple Carry Adder a 4 bit

  • Prendiamo un esempio di due sequenze di input 0101 e 1010. Queste rappresentano l'A4 A3 A2 A1 e B4 B3 B2 B1.
  • Secondo questo concetto di sommatore, il trasporto dell'input è 0.
  • Quando Ao e Bo vengono applicati al 1 ° sommatore completo insieme a input carry 0.
  • Qui A1 = 1 B1 = 0 Cin = 0
  • Sum (S1) e carry (C1) verranno generati secondo le equazioni Sum e Carry di questo sommatore. Secondo la sua teoria, l'equazione di output per Sum = A1⊕B1⊕Cin e Carry = A1B1⊕B1Cin⊕CinA1
  • Secondo questa equazione, per il primo sommatore completo S1 = 1 e Carry output, ovvero C1 = 0.
  • Come per i successivi bit di input A2 e B2, output S2 = 1 e C2 = 0. Qui il punto importante è che il sommatore completo del secondo stadio ottiene il trasporto di input, cioè C1 che è il trasporto di uscita del sommatore completo dello stadio iniziale.
  • In questo modo si otterrà la sequenza di output finale (S4 S3 S2 S1) = (1 1 1 1) e Output carry C4 = 0
  • Questo è il processo di aggiunta per le sequenze di input a 4 bit quando viene applicato a questo carry adder.

8 bit Ripple Carry Adder

  • Consiste di 8 sommatori completi che sono collegati in forma a cascata.
  • Ogni uscita di riporto del sommatore completo è collegata come porta di ingresso alla fase successiva del sommatore completo.
  • Le sequenze di input sono indicate con (A1 A2 A3 A4 A5 A6 A7 A8) e (B1 B2 B3 B4 B5 B6 B7 B8) e la relativa sequenza di output è indicata con (S1 S2 S3 S4 S5 S6 S7 S8).
  • Il processo di aggiunta in un sommatore di ripple a 8 bit è lo stesso principio che viene utilizzato in un sommatore di ripple a 4 bit, cioè ogni bit di due sequenze di input verrà aggiunto insieme al carry di input.
  • Questo verrà utilizzato quando si aggiungono due sequenze di cifre binarie a 8 bit.
8 bit-ripple-carry-sommatore

8 bit-ripple-carry-sommatore

Ripple Carry Adder a 16 bit

  • Consiste di 16 sommatori completi che sono collegati in forma a cascata.
  • Ogni uscita di riporto del sommatore completo è collegata come porta di ingresso alla fase successiva del sommatore completo.
  • Le sequenze di input sono indicate da (A1… .. A16) e (B1 …… B16) e la relativa sequenza di output è indicata da (S1 …… .. S16).
  • Il processo di aggiunta in un sommatore ripple carry a 16 bit è lo stesso principio utilizzato in un sommatore ripple carry a 4 bit, ovvero ogni bit di due sequenze di input verrà aggiunto insieme al carry di input.
  • Questo verrà utilizzato quando si aggiungono due sequenze di cifre binarie a 16 bit.
Sommatore da trasporto a 16 bit

Sommatore da trasporto a 16 bit

Ripple Carry Adder Truth Table

La tabella di verità sottostante mostra i valori di output per le possibili combinazioni di tutti gli input per il ripple-carry-adder.

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

Trasportare

0

000000000000
010001001000

0

1

000100000001
101010100100

1

110011001000

1

111011101100

1

111111111110

1

Codice VHDL di Ripple Carry Adder

VHDL (VHSIC HDL) è il linguaggio di descrizione dell'hardware. È un linguaggio di progettazione digitale. Il codice VHDL per questo carry adder è mostrato di seguito.

libreria IEEE
utilizzare IEEE.STD_LOGIC_1164.ALL

entità Ripplecarryadder è
Porta (A: in STD_LOGIC_VECTOR (da 3 a 0)
B: in STD_LOGIC_VECTOR (da 3 a 0)
Cin: in STD_LOGIC
S: out STD_LOGIC_VECTOR (da 3 a 0)
Cout: out STD_LOGIC)
end Ripplecarryadder

L'architettura Comportamentale di Ripplecarryadder è: Dichiarazione completa dei componenti del codice VHDL di Adder
componente full_adder_vhdl_code
Porta (A: in STD_LOGIC
B: in STD_LOGIC
Cin: in STD_LOGIC
S: fuori STD_LOGIC
Cout: out STD_LOGIC)
componente finale

- Dichiarazione di trasporto intermedio
Segnale c1, c2, c3: STD_LOGIC

inizio

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

fine comportamentale

Codice Verilog di Ripple Carry Adder

Il codice Verilog è un linguaggio di descrizione dell'hardware. Viene utilizzato nei circuiti digitali nella fase RTL per scopi di progettazione e verifica. Il codice verilog per questo carry adder è mostrato di seguito.

modulo ripple_carry_adder (a, b, cin, sum, cout)
input [03: 0] a
ingresso [03: 0] b
ingresso cin
output [03: 0] somma
output cout
filo [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
modulo fulladd (a, b, CIN, somma, cout)
ingresso a, b, cin
somma di output, cout
assegnare somma = (a ^ b ^ cin)
assegnare cout = ((a & b) | (b & cin) | (a & cin))

Applicazioni Ripple Carry Adder

Le applicazioni per il trasporto di ondulazioni includono quanto segue.

  • Questi carry adder vengono utilizzati principalmente in aggiunta alle sequenze di input di n bit.
  • Questi carry adders sono applicabili nell'elaborazione del segnale digitale e microprocessori .

Vantaggi di Ripple Carry Adder

I vantaggi del ripple carry-adder includono quanto segue.

  • Questo carry adder ha il vantaggio di poter eseguire un processo di addizione per sequenze di n bit per ottenere risultati accurati.
  • La progettazione di questo sommatore non è un processo complesso.

Ripple carry adder è un'alternativa quando metà sommatore e sommatori completi non eseguono l'operazione di addizione quando le sequenze di bit di ingresso sono grandi. Ma qui, darà l'output per qualunque sequenza di bit di ingresso con un certo ritardo. Come per i circuiti digitali, se il circuito fornisce un'uscita con ritardo non sarà preferibile. Questo può essere superato con un circuito di addizione carry look-ahead.