No eletrônica digital a adição de números binários de dois bits pode ser possível usando meio somador . E se a sequência de entrada tiver uma sequência de três bits, o processo de adição pode ser concluído usando um somador completo. Mas se o número de bits estiver mais na sequência de entrada, o processo pode ser concluído usando meio somador. Porque o somador completo não pode completar a operação de adição. Portanto, essas desvantagens podem ser superadas usando o “Ripple Carry Adder”. É um tipo único de circuito lógico usado para adicionar os números de N bits em operações digitais. Este artigo descreve uma visão geral do que é ripple-carry-adder e sua operação.
O que é Ripple Carry Adder?
Uma estrutura de múltiplos somadores completos é colocada em cascata de forma a fornecer os resultados da adição de uma sequência binária de n bits. Este somador inclui somadores completos em cascata em sua estrutura, portanto, o carry será gerado em cada estágio de somador completo em um circuito somador de transporte de ondulação. A saída de carry em cada estágio de somador completo é encaminhada para seu próximo somador completo e aplicada como uma entrada de transporte a ele. Esse processo continua até seu último estágio de somador completo. Assim, cada bit de saída de transporte é propagado para o próximo estágio de um somador completo. Por este motivo, é denominado “RIPPLE CARRY ADDER”. A característica mais importante disso é adicionar as sequências de bits de entrada, seja a sequência de 4 ou 5 bits ou qualquer outra.
“Um dos pontos mais importantes a serem considerados neste somador de carry é que a saída final é conhecida somente depois que as saídas de transporte são geradas por cada estágio de somador completo e encaminhado para seu próximo estágio. Portanto, haverá um atraso para obter o resultado com o uso deste somador de carry ”.
Existem vários tipos de somadores de transporte de ondulação. Eles estão:
- Somador de transporte de ondulação de 4 bits
- Somador de transporte de ondulação de 8 bits
- Somador de transporte de ondulação de 16 bits
Primeiro, começaremos com adicionadores de transporte de ondulação de 4 bits e, em seguida, adicionadores de transporte de ondulação de 8 bits e 16 bits.
4-bit Ripple Carry Adder
O diagrama abaixo representa o somador ripple-carry de 4 bits. Neste somador, quatro somadores completos são conectados em cascata. Co é o bit de entrada de transporte e é sempre zero. Quando este transporte de entrada 'Co' é aplicado às duas sequências de entrada A1 A2 A3 A4 e B1 B2 B3 B4, a saída é representada com S1 S2 S3 S4 e o transporte de saída C4.
Diagrama RCA de 4 bits
Trabalhando com o Ripple Carry Adder de 4 bits
- Vamos dar um exemplo de duas sequências de entrada 0101 e 1010. Estas estão representando o A4 A3 A2 A1 e B4 B3 B2 B1.
- De acordo com este conceito de somador, o transporte de entrada é 0.
- Quando Ao e Bo são aplicados no primeiro somador completo junto com o transporte de entrada 0.
- Aqui A1 = 1 B1 = 0 Cin = 0
- Soma (S1) e transporte (C1) serão gerados de acordo com as equações Soma e Transporte deste somador. De acordo com sua teoria, a equação de saída para Soma = A1⊕B1⊕Cin e Carry = A1B1⊕B1Cin⊕CinA1
- De acordo com esta equação, para o 1º somador completo S1 = 1 e Carry output, ou seja, C1 = 0.
- O mesmo que para os próximos bits de entrada A2 e B2, saída S2 = 1 e C2 = 0. Aqui, o ponto importante é que o somador completo do segundo estágio obtém o transporte de entrada, ou seja, C1 que é o transporte de saída do somador completo do estágio inicial.
- Assim obteremos a sequência de saída final (S4 S3 S2 S1) = (1 1 1 1) e transporte de saída C4 = 0
- Este é o processo de adição para sequências de entrada de 4 bits quando aplicado a este somador de transporte.
Ripple Carry Adder de 8 bits
- Consiste em 8 somadores completos que são conectados em cascata.
- Cada saída de carry de somador completo é conectada como um transporte de entrada para o próximo somador completo de estágio.
- As sequências de entrada são denotadas por (A1 A2 A3 A4 A5 A6 A7 A8) e (B1 B2 B3 B4 B5 B6 B7 B8) e sua sequência de saída relevante é denotada por (S1 S2 S3 S4 S5 S6 S7 S8).
- O processo de adição em um somador de transporte de ondulação de 8 bits é o mesmo princípio que é usado em um somador de transporte de ondulação de 4 bits, ou seja, cada bit de duas sequências de entrada será adicionado junto com o transporte de entrada.
- Isso será usado quando a adição de duas sequências de dígitos binários de 8 bits.
8bit-ripple-carry-adder
Ripple Carry Adder de 16 bits
- Consiste em 16 somadores completos que são conectados em cascata.
- Cada saída de carry de somador completo é conectada como um transporte de entrada para o próximo somador completo de estágio.
- As sequências de entrada são denotadas por (A1… .. A16) e (B1 …… B16) e sua sequência de saída relevante é denotada por (S1 …… .. S16).
- O processo de adição em um somador de transporte de ondulação de 16 bits é o mesmo princípio que é usado em um adicionador de transporte de ondulação de 4 bits, ou seja, cada bit de duas sequências de entrada será adicionado junto com o transporte de entrada.
- Isso será usado quando a adição de duas sequências de dígitos binários de 16 bits.
16-bit-ripple-carry-adder
Tabela da verdade do Ripple Carry Adder
A tabela verdade abaixo mostra os valores de saída para as combinações possíveis de todas as entradas para o somador de ondulação de transporte.
A1 | A2 | A3 | A4 | B4 | B3 | B2 | B1 | S4 | S3 | S2 | S1 | Carregar |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 |
1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
1 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 1 |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 |
Código VHDL do Ripple Carry Adder
VHDL (VHSIC HDL) é uma linguagem de descrição de hardware. É uma linguagem de design digital. O código VHDL para este somador de transporte é mostrado abaixo.
biblioteca IEEE
use IEEE.STD_LOGIC_1164.ALL
entidade Ripplecarryadder é
Porta (A: em STD_LOGIC_VECTOR (3 até 0)
B: em STD_LOGIC_VECTOR (3 até 0)
Cin: em STD_LOGIC
S: out STD_LOGIC_VECTOR (3 até 0)
Cout: out STD_LOGIC)
fim Ripplecarryadder
arquitetura Behavioral of Ripplecarryadder is - Full Adder VHDL Code Component Declaração
componente full_adder_vhdl_code
Porta (A: em STD_LOGIC
B: em STD_LOGIC
Cin: em STD_LOGIC
S: out STD_LOGIC
Cout: out STD_LOGIC)
componente final
- Declaração de transporte intermediário
Sinal c1, c2, c3: STD_LOGIC
começar
- Port Mapping Full Adder 4 vezes
FA1: mapa da porta full_adder_vhdl_code (A (0), B (0), Cin, S (0), c1)
FA2: mapa da porta full_adder_vhdl_code (A (1), B (1), c1, S (1), c2)
FA3: mapa da porta full_adder_vhdl_code (A (2), B (2), c2, S (2), c3)
FA4: mapa da porta full_adder_vhdl_code (A (3), B (3), c3, S (3), Cout)
fim comportamental
Código Verilog do Ripple Carry Adder
O código Verilog é uma linguagem de descrição de hardware. É usado em circuitos digitais no estágio RTL para fins de projeto e verificação. O código verilog para este somador de transporte é mostrado abaixo.
módulo ripple_carry_adder (a, b, cin, sum, cout)
entrada [03: 0] a
entrada [03: 0] b
entrada cin
saída [03: 0] soma
saída cout
fio [2: 0] c
fulladd a1 (a [0], b [0], cin, sum [0], c [0])
fulladd a2 (a [1], b [1], c [0], soma [1], c [1])
fulladd a3 (a [2], b [2], c [1], soma [2], c [2])
fulladd a4 (a [3], b [3], c [2], soma [3], cout)
módulo final
módulo fulladd (a, b, CIN, soma, cout)
insira a, b, cin
soma de saída, cout
atribuir soma = (a ^ b ^ cin)
atribuir cout = ((a & b) | (b & cin) | (a & cin))
Aplicações do Ripple Carry Adder
As aplicações do somador de transporte de ondulação incluem o seguinte.
- Esses somadores de transporte são usados principalmente em adição às sequências de entrada de n bits.
- Esses somadores de transporte são aplicáveis no processamento de sinal digital e microprocessadores .
Vantagens do Ripple Carry Adder
As vantagens do adicionador de transporte de ondulação incluem o seguinte.
- Este somador de carry tem a vantagem de poder realizar o processo de adição para sequências de n bits para obter resultados precisos.
- O projeto desse somador não é um processo complexo.
Ripple carry adder é uma alternativa para quando meio somador e somadores completos não executam a operação de adição quando as sequências de bits de entrada são grandes. Mas aqui, ele dará a saída para quaisquer sequências de bits de entrada com algum atraso. De acordo com os circuitos digitais, se o circuito der saída com atraso não será preferível. Isso pode ser superado por um circuito somador carry look-ahead.