Pular para conteúdo

🚀 Projeto 18 – Projetista de Somador Completo e Multiplexador 4:1


🎯 Objetivo

Implementar a simulação lógica em software de um Somador Completo de 4 bits (Ripple Carry Adder) e de um Multiplexador de 4 canais.


📋 Requisitos do Projeto

  1. Full Adder 1 bit: Função que aceita \(A, B, C_{\text{in}}\) e retorna \((\text{Soma}, C_{\text{out}})\).
  2. Somador 4 bits: Função que utiliza 4 Full Adders em cadeia para somar dois números binários de 4 bits.

💡 Código de Referência

def full_adder(a: int, b: int, c_in: int):
    soma = a ^ b ^ c_in
    c_out = (a & b) | (c_in & (a ^ b))
    return soma, c_out

def somador_4bits(bin_a: list, bin_b: list):
    c = 0
    resultado = []
    for i in range(3, -1, -1):
        s, c = full_adder(bin_a[i], bin_b[i], c)
        resultado.insert(0, s)
    return resultado, c

# Teste: 5 + 3 = 8 (0101 + 0011 = 1000)
a = [0, 1, 0, 1]
b = [0, 0, 1, 1]
res, carry = somador_4bits(a, b)
print(f"Resultado: {res}, Carry Out: {carry}")