Un procesador de lógica universal de 2 vías (2ULP) es una red de puertas lógicas que toma dos cables de entrada Ay B, así como otras cuatro entradas L_, L_a, L_b, y L_ab, y produce una única salida L(a, b)usando las cuatro Lentradas como una función de tabla de verdad:
- El 2ULP devuelve
L_siAyBson ambos0. - Devuelve
L_asiA = 1yB = 0. - Devuelve
L_bsiA = 0yB = 1. - Devuelve
L_absiAyBson ambos1.
Por ejemplo, dadas las entradas L_ = 0, L_a = 1, L_b = 1, y L_ab = 0, a continuación, la salida L(a, b)será igual a A xor B.
Su tarea es construir un 2ULP usando solo puertas NAND, usando la menor cantidad posible de puertas NAND. Para simplificar las cosas, puede usar las compuertas AND, OR, NOT y XOR en su diagrama, con los siguientes puntajes correspondientes:
NOT: 1AND: 2OR: 3XOR: 4
Cada uno de estos puntajes corresponde al número de puertas NAND que se necesitan para construir la puerta correspondiente.
El circuito lógico que utiliza la menor cantidad de compuertas NAND para producir una construcción correcta gana.
fuente

Respuestas:
11 NANDs
Defina la puerta MUX (costo 4) como
con tabla de verdad
Entonces este es el operador ternario familiar
MUX(P, Q, R) = P ? Q : RSimplemente tenemos
por un costo de 12, pero hay un ahorro trivial de una puerta al reutilizar el
NOT Bde los dos interioresMUX.fuente
costo: 4 * 4 * 14 + 4 * (13) + 13 * 3 + 3 * 3 + 24 * 1 + 4 = 352
No soy un hombre booleano, este es mi mejor en la codificación de estas cosas (sé que esto no me dará muchos puntos de Internet inimaginables ...).
fuente
Al usar el lenguaje Wolfram puedo obtener una fórmula de 13 puertas :
que salidas:
Aquí
Ln,La,LbyLabson elL_,L_a,L_byL_abpor separado en OP.nota al margen: Los resultados de la
BooleanMinimizefunción en el lenguaje Wolfram se limitan a dos nivelesNANDyNOTcuando se invoca comoBooleanMinimize[(*blabla*), "NAND"], por lo que no es tan bueno como la fórmula de cuatro niveles de Peter Taylor anterior .fuente