Sistema de votación con voto de calidad: Karnaugh, NAND y NOR paso a paso

Los sistemas de votación electrónicos son uno de los ejemplos más bonitos para enseñar electrónica digital combinacional, porque permiten ver cómo una lógica que en lenguaje humano suena compleja («se aprueba si hay mayoría, o en caso de empate si el presidente vota a favor») se traduce a una expresión booleana muy compacta. Y, sobre todo, porque combina prácticamente todos los temas del bloque: tabla de verdad, formas canónicas, simplificación por mapas de Karnaugh, e implementación con puertas universales NAND y NOR.

En esta entrada vamos a resolver paso a paso un ejercicio típico de oposiciones de Tecnología que diseña el sistema de votación de un Consejo de Administración con cuatro miembros, donde el presidente tiene voto de calidad en caso de empate. Y, además, veremos una regla práctica fundamental que muchos alumnos no acaban de tener clara: cuándo conviene partir de la suma de productos y cuándo del producto de sumas para implementar el circuito con puertas NAND o NOR.

Este ejercicio apareción en el examen prácticos de oposición a profesorada de Tecnología en Andalucía en 2023

El enunciado

En una factoría de componentes electrónicos, el Consejo de Administración está formado por una junta de 4 miembros, que toma decisiones mediante un sistema de votación electrónico. Este sistema se acciona mediante cuatro interruptores A, B, C y D. Las votaciones salen adelante cuando el número de interruptores accionados supera al de no accionados, o en caso de empate, el interruptor A está accionado (voto de calidad). Si la votación sale adelante se enciende una lámpara L1. Además se enciende una lámpara L2 en caso de empate sean cuales sean los votos emitidos.

Se pide:

a) Elaborar la tabla de verdad de las funciones correspondientes al encendido de las lámparas L1 y L2. (1,5 puntos)

b) Indicar la función canónica en forma de MAXTERMS para L1 y en forma de MINTERMS para L2. (1 punto)

c) Simplificar ambas funciones mediante el método de Karnaugh. (1,5 puntos)

d) Implementar el circuito con puertas lógicas de la función L1 utilizando solo puertas NOR. (1,5 puntos)

e) Implementar el circuito con puertas lógicas de la función L2 utilizando solo puertas NAND. (1,5 puntos)

Análisis previo: traducir el enunciado a lógica

Antes de tocar la tabla de verdad, conviene traducir cada condición del enunciado a algo que podamos contar. Tenemos 4 interruptores, cada uno con dos estados (accionado = 1, no accionado = 0), y por tanto 2⁴ = 16 combinaciones posibles. En cada combinación, lo único relevante es cuántos votos a favor hay:

  • 0 o 1 votos a favor → mayoría en contra → la votación NO sale (L1 = 0)
  • 2 votos a favor → empate. La votación sale solo si A=1 (voto de calidad). En cualquier caso L2 = 1.
  • 3 votos a favor → mayoría a favor → la votación SALE (L1 = 1)
  • 4 votos a favor → unanimidad → la votación SALE (L1 = 1)

Y la lámpara L2 se enciende en todos los casos de empate, sin importar quién haya votado qué: simplemente cuando hay exactamente 2 votos a favor.

a) Tabla de verdad

De la tabla extraemos directamente:

  • L1 = 1 en los decimales 7, 9, 10, 11, 12, 13, 14 y 15.
  • L2 = 1 en los decimales 3, 5, 6, 9, 10 y 12 (los seis empates posibles).

b) Funciones canónicas

L1 en forma de maxterms (producto de sumas)

Una maxterm es una suma de las cuatro variables (cada una negada o sin negar) que vale 0 únicamente para una combinación concreta. La función canónica en producto de sumas es el producto de todas las maxterms correspondientes a las filas donde la función vale 0. La regla para construir cada maxterm es la inversa a la de los minterms: si la variable vale 0 en esa fila, aparece sin negar; si vale 1, aparece negada.

L1 vale 0 en los decimales 0, 1, 2, 3, 4, 5, 6 y 8. Por tanto:

L1 = ∏ M(0, 1, 2, 3, 4, 5, 6, 8)

L1 = (A+B+C+D) · (A+B+C+D̄) · (A+B+C̄+D) · (A+B+C̄+D̄)
   · (A+B̄+C+D) · (A+B̄+C+D̄) · (A+B̄+C̄+D) · (Ā+B+C+D̄)

L2 en forma de minterms (suma de productos)

Un minterm es un producto de las cuatro variables (cada una negada o sin negar) que vale 1 únicamente para una combinación concreta. Si la variable vale 1 en esa fila, aparece sin negar; si vale 0, aparece negada.

L2 vale 1 en los decimales 3, 5, 6, 9, 10 y 12:

L2 = Σ m(3, 5, 6, 9, 10, 12)

L2 = ĀB̄CD + ĀBC̄D + ĀBCD̄ + AB̄C̄D + AB̄CD̄ + ABC̄D̄

c) Simplificación mediante mapas de Karnaugh

Simplificación de L1: la función mayoritaria

Sobre el mapa de Karnaugh de L1 podemos identificar tres agrupaciones de cuatro casillas cada una, que se solapan parcialmente:

  • Un grupo vertical en la columna CD = 11 (cubre los minterms 3, 7, 11, 15) → CD
  • Un grupo horizontal en la fila AB = 11 (cubre los minterms 12, 13, 14, 15) → AB
  • Y otros grupos similares cruzando filas y columnas que dan lugar a los términos restantes.

Tras agrupar todos los unos posibles, la función mínima resulta:

L1 = AB + AC + AD + BC + BD + CD

Esta expresión tiene un nombre propio: función mayoritaria de cuatro entradas. Si miras la fórmula, está formada por todos los productos posibles de dos variables tomadas de entre las cuatro (que son seis: AB, AC, AD, BC, BD, CD). El significado lógico es claro: la salida vale 1 cuando al menos dos de los cuatro votos coinciden a favor. Y como en este enunciado el voto de A en empate cuenta como mayoría, el voto de calidad queda capturado de forma natural sin necesidad de añadir nada extra.

Es uno de los resultados más elegantes de la electrónica digital: el voto de calidad no es un caso especial, sino que aparece automáticamente cuando expresas la lógica de «mayoría amplia» como suma de los productos por parejas. Esto es exactamente lo que hacen los sistemas de votación digital reales, desde los consejos de administración hasta los algoritmos de consenso distribuido en informática.

L2 no se simplifica: ¿por qué?

Al mirar el mapa de Karnaugh de L2, los seis unos están todos aislados: ninguna pareja es adyacente a otra. Por tanto, no se puede formar ningún grupo de dos o más casillas, y la función no se simplifica:

L2 = ĀB̄CD + ĀBC̄D + ĀBCD̄ + AB̄C̄D + AB̄CD̄ + ABC̄D̄

El motivo es físico, no algebraico: para pasar de un empate a otro empate hay que cambiar al menos dos votos a la vez (uno que se quita y otro que se pone, para mantener el cómputo de 2 a favor). Por eso las casillas con 1 en el mapa están todas a «distancia 2» entre sí, y nunca son vecinas.

Es un detalle didáctico importante: no toda función booleana se puede simplificar. A veces, la forma canónica ya es la mínima, y eso es perfectamente correcto. El método de Karnaugh nos sirve precisamente para verificar si hay simplificación posible y, en caso contrario, confirmar que estamos ante el mínimo absoluto.

La regla de oro: SP con NAND, PS con NOR

Antes de pasar a la implementación, conviene asentar una regla práctica que vale para todos los ejercicios de este tipo:

La suma de productos (SP) se implementa de forma natural con puertas NAND. El producto de sumas (PS) se implementa de forma natural con puertas NOR.

El motivo es el teorema de De Morgan. Si tomamos una suma de productos y le aplicamos doble negación (que no cambia el valor):

F = AB + CD = ⎯⎯⎯⎯⎯⎯⎯ = ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
              AB + CD     AB · CD
                          (NAND de NANDs)

Y de manera simétrica, si tomamos un producto de sumas y le aplicamos doble negación, sale un NOR de NORs. Por eso al implementar L1 nos conviene partir de su forma SP (que ya tenemos minimizada del Karnaugh)… pero el enunciado nos pide hacerlo con NORs, no con NANDs. Así que tendremos que forzar la conversión añadiendo inversores adicionales. Lo mismo ocurrirá con L2 (forma SP) implementada con NANDs.

Tener clara esta regla ayuda a entender por qué algunos circuitos quedan más limpios que otros: cuando la familia de puertas coincide con la forma canónica natural (SP con NAND, PS con NOR), el circuito tiene la mínima cantidad de niveles de puertas. Cuando se fuerza la conversión, hacen falta inversores extra.

d) Implementación de L1 con puertas NOR

Partimos de la forma simplificada en suma de productos:

L1 = AB + AC + AD + BC + BD + CD

Para implementarla con NORs, usamos la equivalencia clave:

X · Y = NOR(X̄, Ȳ)

Es decir, un AND se construye con un NOR cuyas entradas son las variables negadas. Y un inversor (NOT) se obtiene con un NOR de una sola entrada repetida: NOR(X, X) = X̄. La estructura del circuito queda en tres etapas:

EtapaOperaciónCómo se implementa con NORs
1Inversores Ā, B̄, C̄, D̄4 NORs con entradas dobladas: NOR(X, X)
2Seis productos: AB, AC, AD, BC, BD, CD6 NORs con las variables negadas: AB = NOR(Ā, B̄)
3Suma final: AB + AC + AD + BC + BD + CD1 NOR de 6 entradas (da el complemento) + 1 NOR como inversor para devolver la salida sin negar

Total: 12 puertas NOR (4 inversores + 6 productos + 1 NOR de suma + 1 inversor final). Si el profesor exige NORs de únicamente 2 entradas, el NOR final de 6 entradas se descompone en una cascada de NORs de 2, sumando algunas puertas más.

e) Implementación de L2 con puertas NAND

L2 ya está en suma canónica de productos (no se ha podido simplificar). Esa es justo la forma natural para implementar con NANDs, así que la conversión es directa.

La equivalencia clave para NANDs es:

X + Y = NAND(X̄, Ȳ) y NAND(X, X) = X̄

Aplicando doble negación a la suma de productos y desarrollando con De Morgan:

L2 = m₃ + m₅ + m₆ + m₉ + m₁₀ + m₁₂
   = ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
     m̄₃ · m̄₅ · m̄₆ · m̄₉ · m̄₁₀ · m̄₁₂  (NAND final de 6 entradas)

Y cada complemento de minterm m̄ᵢ es directamente la salida de un NAND de 4 entradas con la combinación correcta de variables. Por ejemplo, m₃ = ĀB̄CD, así que m̄₃ = NAND(Ā, B̄, C, D). La estructura queda así:

EtapaOperaciónCómo se implementa con NANDs
1Inversores Ā, B̄, C̄, D̄4 NANDs con entradas dobladas: NAND(X, X)
2Seis complementos de minterm: m̄₃, m̄₅, m̄₆, m̄₉, m̄₁₀, m̄₁₂6 NANDs de 4 entradas con la combinación correcta de A/Ā, B/B̄, C/C̄, D/D̄
3Salida L21 NAND de 6 entradas que combina los 6 complementos

Total: 11 puertas NAND (4 inversores + 6 NANDs de minterms + 1 NAND final). Observa que es una puerta menos que en el caso de L1 con NORs, precisamente porque la suma de productos casa de forma natural con NANDs y no necesitamos el inversor final extra.

Resumen de resultados

MagnitudResultado
L1 simplificadaAB + AC + AD + BC + BD + CD
L2 simplificadaNo simplificable (suma canónica de 6 minterms)
L1 con puertas NOR12 puertas (4 NOT + 6 ANDs + 1 OR + 1 NOT final)
L2 con puertas NAND11 puertas (4 NOT + 6 minterms + 1 NAND final)

Conclusión: las tres lecciones del ejercicio

Este ejercicio, aparentemente largo, condensa tres aprendizajes que merece la pena destacar.

La primera es que el voto de calidad no necesita ser tratado como caso especial. Cuando expresas la lógica de un sistema de votación con voto de calidad como suma de productos por parejas, el voto de calidad queda capturado de forma automática. La función L1 = AB + AC + AD + BC + BD + CD es exactamente la «función mayoritaria de 4 entradas con desempate por A», y tiene esa elegancia matemática porque el voto de calidad es, en realidad, una forma de mayoría: contar dos votos en una pareja que incluya al miembro con voto privilegiado.

La segunda es que no toda función se puede simplificar. La salida L2, que detecta empates, tiene seis unos completamente aislados en el mapa de Karnaugh, porque cambiar de un empate a otro siempre exige modificar dos votos a la vez. La forma canónica ya es la mínima, y eso es un resultado correcto y completo. Aprender a reconocer esa situación evita perder tiempo buscando simplificaciones inexistentes.

La tercera y más práctica es la regla de correspondencia entre formas canónicas y puertas universales: SP con NAND, PS con NOR. Cuando la forma canónica de la función coincide con la familia de puertas que vamos a usar, el circuito sale con la mínima cantidad de puertas y de niveles. Cuando se fuerza la conversión inversa (SP con NOR o PS con NAND), siempre aparecen inversores adicionales. Tener esto claro convierte un ejercicio que parecía mecánico en una decisión consciente, y es una de las cosas que distinguen a quien implementa circuitos de forma rutinaria de quien los entiende de verdad.

Espero que esta entrada os haya servido tanto para resolver el ejercicio como para tener un poco más claras las reglas que rigen el paso de la lógica al silicio. En el aula y en oposiciones, este tipo de ejercicios completos son los que mejor demuestran si se domina el bloque de electrónica digital combinacional al completo.


Descubre más desde Technoteacher

Suscríbete y recibe las últimas entradas en tu correo electrónico.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio