¿Recuento de transistores en la implementación NAND o NOR de álgebra booleana?

0

Tengo una función de salida compleja en álgebra booleana (donde '~' significa NO):

F = ~ ((a c ~ d) + (a ~ c ~ d) + (~ a c) + (~ a c d) + (a c! d b))

Sé que esto se puede simplificar hasta:

F = (~ a ~ c) + (a d)

Ahora, la versión simplificada se puede implementar en CMOS usando 8 transistores, usando puertas personalizadas . (es decir, no NAND y NOR exclusivamente)

Si tuviera que implementar el simplificado en CMOS utilizando SOLAMENTE NAND o NOR puertas, ¿cuántos transistores habría? ¿Hay una forma fácil de contar con solo mirar la función?

Me di cuenta de que

  • 1 Y - > 2 NAND
  • 1 NO - > 1 NAND
  • 1 O - > 3 NAND
  • 1 NAND - > 4 transistores
  • 1 NO - > 2 transistores

¿Qué significa que la versión simplificada puede estar compuesta por 28 transistores?

EDITAR:

Así que si uso demorgans: F = ~ (~ (~ a ~ c) ~ (a d))

  • ~ (~ a ~ c) es 8 transistores (2 * 2 para los inversores + 4 para NAND)
  • ~ (a d) es 4 transistores (para una sola NAND)
  • Los 2 anteriores se combinan en 4 transistores (1 NAND más)
  • ¿Hacer un total de 8 + 4 + 4 = 16?
pregunta jnd

2 respuestas

2

Su lógica parece una suma de productos (ANDs que se introducen en un OR). En ese caso, puede reemplazar tanto los AND como los OR con puertas NAND. Además, puede reemplazar (~ a ~ c) con ~ (a + c), lo que guarda una puerta. Juntándolo, eso da 1. NOR, 1 NO y 2 NAND, para un total de 14 transistores.

    
respondido por el Adam Haun
0

Las compuertas CMOS complejas producen mejores recuentos de transistores y menos retrasos de compuerta en este tipo de factorización.

F = (! a & &! c) || (a & & d)

F =! (! (! a & &! c) & &! (a & & d))

F =! ((a & & c) & &! (a & & d))

Eso es un OAI21 y un NAND2 - 6 FET en el OAI y 4 FET en el NAND2. 10 Total.

Las fugas por debajo del umbral también serían probablemente menores.

simular este circuito : esquema creado usando CircuitLab

    
respondido por el stevesliva

Lea otras preguntas en las etiquetas