Uso de mapas de Karnaugh para construir y simplificar expresiones booleanas

Estoy tratando de construir un circuito basado en K-maps (ver imagen), y debo hacerlo solo a través de una lógica de dos niveles (excluyendo los inversores).

Mapas K

Algunos de los K-maps surgieron naturalmente en una lógica de dos niveles, pero algunos no. Usé la lógica AND-OR tomando 1's. Para los que excedieron dos niveles lógicos obtuve lo siguiente:

1.ª columna, 4.º mapa:

A B + A ¯ B ¯ C + A B ¯ C ¯
Esto requeriría 3 compuertas AND (primer nivel), una OR de dos entradas (segundo nivel; no tenemos compuertas OR de tres entradas) y otra OR de dos entradas (tercer nivel).

2da columna, 2do mapa:

A B ¯ C ¯ + A B C + A ¯ B C ¯
Nuevamente, esto sería en dos niveles.

2da columna, 3er mapa:

A ¯ B ¯ C ¯ + A C + A B C ¯
Una vez más, en dos niveles.

¿Hay alguna manera de reducir aún más estas expresiones? Pensé que el objetivo de usar K-maps era obtener expresiones booleanas en su forma más simple; bueno al menos la mayor parte del tiempo.

Entonces, ¿tiene 3 puertas NAND / AND de entrada, pero no 3 puertas OR / NOR de entrada? Un K-map le brindará una representación SOP mínima, pero eso a menudo no es óptimo para la implementación.
Desafortunadamente no, no tenemos puertas OR/NOR de tres entradas. ¿Hay alguna manera de reducirlo?
¿Pero tienes 3 puertas NAND/AND de entrada?
Eso es correcto. ¿Por qué?
Por cierto, estamos usando la lógica TTL, no estoy seguro de si eso es relevante.
Así que solo use esos (las 3 entradas NAND / AND). Hay formas de transformar puertas AND en puertas OR, dados suficientes puntos de inversión.
¿No introduciría eso mucho más que dos niveles de lógica?
Además, solo para aclarar. Estás hablando del teorema de DeMorgan, ¿verdad? ¿No es eso para NAND -> O negativo, NOR-> Y negativo?
Sí, estoy hablando del teorema de DeMorgan, pero no es solo para NOR/NAND. El teorema describe una transformación de operadores e inversiones lógicas, lo que da como resultado la capacidad de convertir entre (N)AND y (N)OR. Suponiendo que obtenga entradas invertidas de forma gratuita, todo esto se puede lograr con 4 puertas NAND.
Hmm, ese es un buen punto. No estoy seguro de si solo las inversiones de entrada son gratuitas o si todas las inversiones lo son. Lo resolveré independientemente. Por curiosidad, ¿hay alguna otra forma de reducir esta expresión a dos puertas físicas?
Las inversiones de salida son gratuitas siempre que pueda elegir entre AND/NAND. ¿Reducir la expresión a dos puertas físicas? Muy improbable con sus expresiones más complicadas sin construir puertas personalizadas. Si permite puertas personalizadas, podría reducirlo a 1 puerta, pero realmente tendría que valer la pena. Dos circuitos integrados de la serie 7400 separados deberían ser fáciles, pero probablemente no sea eso lo que quiso decir.
Vaya, en realidad quise decir tres puertas. Sin embargo, entiendo lo que quieres decir. Me preguntaba por qué mi profesor dijo específicamente que no se nos permitía exceder las tres puertas. ¿Quiere decir libre en el sentido de que, dado que puedo elegir entre AND / NAND, invertir es esencialmente elegir el correcto? Pensé que querías decir según la regla arbitraria hecha por mi profesor que los inversores son libres, lo que significa que no cuentan como un nivel lógico.
Tu pregunta me parece bastante incoherente. ¿Qué quiere decir con "lógica de dos niveles"? K-maps le brindará una solución lógica mínima de dos niveles (pero no mínima de múltiples niveles) utilizando todas las NAND o todas las NOR, pero eso ya lo sabe . Además, no está claro qué función está tratando de minimizar. Consulte una referencia estándar y use terminología con la que las personas puedan identificarse... o al menos explique a qué se refiere con la suya.
Basado en algunos comentarios de pasada sobre no tener algunos circuitos, supongo que está hablando de usar solo circuitos con un abanico de dos . ¿Esto además del límite de dos niveles o es el fan-in de dos la única limitación? ¿También está limitado a algunos tipos de puertas? En general, el problema de la minimización multinivel de una función usando solo un conjunto fijo de puertas (y negación) es bastante difícil , de todos modos es bueno hacerlo a mano.

Respuestas (2)

Si permitimos puertas exor, entonces aquí hay una solución.

1.ª columna 4.º mapa: (A exor C) + AB

2.ª columna 2.º mapa: (A exor B) + ABC

2ª columna 3er mapa: !(A exor C) + AB, alternativamente (A exnor C) + AB

Editar:

Tome col 1 mapa 4 por ejemplo. Las primeras dos columnas tienen un patrón que reconozco como una puerta XOR. La primera fila es 01, la segunda fila es 10. Ahora miro los cuadros con '1', A cambia cuando salta entre los dos. Busque otra variable que también esté cambiando; en este caso es C. A y C son 01 o 10 en las casillas '1': esas son las características de una puerta XOR. Solo quedan dos '1' en el mapa y se agrupan en el término AB.

Ahora col 2 map 2: Aquí hay dos grupos que funcionarán para una puerta XOR; col 1 y 4, y col 3 y 4. El primer grupo produce una puerta XOR, el segundo una puerta XNOR. En la puerta XNOR, ambas entradas deben ser iguales para producir un '1' en la salida.

Finalmente, col 2 map 3. Este mapa se parece a col 1 map 4, excepto que el patrón XOR está invertido. Eso significa que usamos una puerta XNOR en lugar de XOR en el primer mapa, o agregamos un inversor a la salida XOR.

Por cierto, con respecto a su ecuación para la columna 1 mapa 4, observe que las dos esquinas inferiores tienen '1'. Puede agruparlos para producir el término A!C, reduciendo su tercer término a dos variables.

¿Cómo se consigue esto? Estoy buscando simplificar otras expresiones, así que estoy interesado en aprender cómo hacerlo.

Suposiciones:

  • Los NOT no cuentan.

  • Los AND y NAND de 3 entradas son válidos.

  • OR y NOR de 2 entradas.

Tienes algunos errores en tus ecuaciones. Los bordes de K-maps giran y puede reutilizar términos.

La respuesta correcta para la 1.ª columna, 4.º kmap es:

A B + A ¯ B ¯ C + A C ¯

Tome DeMorgan's: invierta la expresión, cambie los signos, invierta los términos.

A B ¯ A ¯ B ¯ C ¯ A C ¯ ) ¯ ¯

Dos NAND de 2 entradas + dos NAND de 3 entradas. dos niveles

La respuesta correcta para la 2.ª columna, 3.er kmap es:

A ¯ B ¯ C ¯ + A C + A B

Tome el de DeMorgan:

A ¯ B ¯ C ¯ ¯ A C ¯ A B ¯ ¯

Nuevamente, dos NAND de 2 entradas + dos NAND de 3 entradas. dos niveles

Creo que esto es suficiente para que entiendas el concepto. Su instructor le está dando un problema que no se puede resolver a menos que piense fuera del cuadro Y-O. AND-OR se convierte en NAND-NAND.