Mapa de Karnaugh para 3 variables

0

Estoy tratando de crear un sumador binario. Tengo esta tabla de verdad:

EsteeselmapadeKarnaughquehiceparaestafunción(verquehayunerror:enlugardec,teníaqueser"c-in"):

Ahora, como el mapa se ve así, me da ese s = c + c pero eso es ciertamente falso. ¿Alguien puede ayudarme con esto?

    
pregunta Victor

2 respuestas

2

Si miramos la esquina superior izquierda, donde a = 0 y c = 0, vemos que s sigue a b. Esto nos da un resultado parcial de s = b . Al bajar a la esquina inferior izquierda, vemos que s se invierte cuando a = 1. Esta es la operación XOR, y nos da s = a ^ b . Moviéndonos hacia el lado derecho, vemos que la salida se invierte cuando c = 1. Esto nos da nuestro resultado final de s = a ^ b ^ c .

    
respondido por el Ignacio Vazquez-Abrams
1

Los mapas de Karnaugh generalmente se dibujan en código gris (con un bit cambiando a la vez, por lo que 000, 001, 011, 010 en lugar de con la secuencia decimal *) y si lo haces, obtienes: .

Esto corresponde a términos mínimos

  

C'A'B + C'AB '+ CA'B' + CAB = C '(A'B + AB') + C (A'B '+ AB)   La función XOR es A ^ B = A'B + AB 'y A XNOR B es A'B' + AB   Entonces f = C '(A XOR B) + C (A XNOR B) = C' (A XOR B) + C (A XOR B) '= C XOR (A XOR B) = A XOR B XOR C

  • Nota: solo puede agrupar celdas y reducir usando un K-Map cuando está en la secuencia del Código Gris, porque agrupar dos elementos (y descartar la variable que cambia) corresponde a BC(A + A') = BC , lo que solo tiene sentido cuando uno el bit está cambiando.
respondido por el biker of the apocalypse

Lea otras preguntas en las etiquetas