Hardware de Adição Binária: De 1 Bit a N Bits
Meios somadores e somadores completos são os circuitos aritméticos fundamentais em sistemas digitais. Eles implementam adição binária — a base de toda computação em processadores, ULA e processadores de sinal digital.
Meio Somador (HA): 2 Entradas, 2 Saídas
Soma dois bits únicos A e B. Sem entrada de carry.
Tabela Verdade
| A | B | Soma (S) | Carry (C) |
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
Implementação Lógica
- Soma = A ⊕ B (porta XOR)
- Carry = A · B (porta AND)
Limitações
- Não aceita carry-in de bit de ordem inferior
- Não pode encadear para adição multi-bit
- Útil apenas para LSB de somador ou soma independente de 2 bits
Somador Completo (FA): 3 Entradas, 2 Saídas
Soma três bits: A, B e Carry-in (Cin). Produz Soma (S) e Carry-out (Cout).
Tabela Verdade
| A | B | Cin | Soma | Cout |
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 0 |
| 0 | 1 | 0 | 1 | 0 |
| 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 | 0 |
| 1 | 1 | 0 | 0 | 1 |
| 1 | 0 | 1 | 0 | 1 |
| 1 | 1 | 1 | 1 | 1 |
Implementação Lógica
- Soma = A ⊕ B ⊕ Cin (Duas portas XOR: (A⊕B)⊕Cin)
- Cout = (A·B) + (B·Cin) + (A·Cin) (Função maioria: 2+ entradas altas)
- Alternativa: Cout = (A·B) + (Cin·(A⊕B)) — menos portas
Somador Completo a Partir de Dois Meios Somadores
MS1: A, B → S1, C1 MS2: S1, Cin → Soma, C2 Cout = C1 + C2
Somador Ripple-Carry N-Bit
Encadear N somadores completos: Cout(i) → Cin(i+1)
- LSB: Pode usar MS (Cin=0) ou FA com Cin=0
- Atraso: tpd ≈ N × tFA (carry propaga através de todos estágios)
- 4-bit: ~4× atraso de porta; 32-bit: ~32× — lento demais para CPUs alta frequência
Arquiteturas de Somador Alto Desempenho
| Arquitetura | Atraso | Complexidade | Caso de Uso |
| Ripple Carry | O(N) | Baixa | N pequeno, baixa velocidade, área restrita |
| Carry Lookahead (CLA) | O(log N) | Média | ULAs, grupos 4-64 bit |
| Carry Select | O(√N) | Média | Datapaths, cadeias carry FPGA |
| Carry Save | O(1) por 3:2 | Baixa | Multiplicadores (árvore Wallace) |
| Kogge-Stone / Brent-Kung | O(log N) | Alta | CPUs/GPUs alto desempenho |
Aplicações Além da Adição
- Subtração: A - B = A + (~B + 1) — inverter B, Cin=1
- Incremento/Decremento: B=0, Cin=1 / B=1, Cin=0
- Comparadores: Cout do MSB indica A≥B (sem sinal)
- Contadores: Cadeia FA com realimentação → contador binário
- Multiplicadores: Redução de produtos parciais via somadores carry-save
- ULAs: Núcleo somador + unidades lógicas + shifter
Notas de Implementação FPGA/ASIC
- FPGAs modernas: Cadeias de carry dedicadas (Xilinx CARRY4, Intel CARRY) — 1 FA por LUT
- ASIC: FA célula padrão ~8-12 transistores; otimizar para velocidade/área/potência
- Verificação: Equivalência formal, casos de canto propagação carry, fechamento de tempo
Do humilde meio somador a somadores Kogge-Stone de 64-bit em CPUs modernas, circuitos de adição binária exemplificam como portas lógicas simples compõem o coração aritmético de toda computação digital.