Tengo mi solución para el diagrama de puerta lógica para implementar la función f = (a + (b * (c + d))) '
¿Alguien podría confirmar si esto es legítimo?
Su función deseada es $$ f = a + b \ cdot (c + d), $$ donde me tomé la libertad de eliminar algunos paréntesis redundantes. Tenga en cuenta que con la lógica CMOS, queremos que la señal sea alta (conecte a la tensión de alimentación + V) si el resultado es 1 (alto) y queremos que la señal sea baja (conéctelo a tierra) si El resultado es ser 0 (bajo). Los transistores NMOS conducen ("on") si la señal es alta, pero solo se puede usar para conectarla a tierra.
Usted conduce la salida a tierra si $$ \ text {drive_to_ground} = a + b \ cdot (c + d) = f, $$ que está invertido de lo que quería lograr.
Los transistores PMOS se pueden usar para conectarse a la tensión de alimentación, pero sus entradas están invertidas. Su red tiene:
$$ \ text {drive_to_supply} = \ bar a \ cdot (\ bar b + \ bar c \ cdot \ bar d) = \ overline {\ overline {\ bar a \ cdot (\ bar b + \ bar c \ cdot \ bar d)}} = \ overline {a + b \ cdot (c + d)} = \ bar f, $$ que también es invertido .
Puede agregar un inversor a su salida, o puede cambiar su cableado para que su resultado no se invierta.
Lea otras preguntas en las etiquetas boolean-algebra logic-gates cmos