Implementación de puertas lógicas en CMOS

Estoy tratando de construir la siguiente función con CMOS, ¿es correcta mi implementación?

F = A B C + ( B + C ¯ ) D

estoy teniendo problemas con el

( B + C ¯ )
en todos los ejemplos que he visto la función tiene la forma
F = b yo a b yo a b yo a ¯
(el inverso de la expresión entera).
Lo intenté, pero no estoy seguro de si es correcto, por ejemplo, ¿está bien tener ~A como entrada a un PMOS (no veo por qué no). ingrese la descripción de la imagen aquí

El diseño correcto después de que Dave Tweed señalara las conexiones faltantes en el bloque N.
(Las conexiones añadidas están marcadas con rosa)

ingrese la descripción de la imagen aquí

Respuestas (2)

Sí, su solución es casi correcta. Estos son los pasos, que realmente debería haber mostrado en su pregunta:

Para tratar con el segundo término de nivel superior, debe aplicar la Ley de De Morgan , que establece:

A B ¯ = A ¯ + B ¯

y

A + B ¯ = A ¯ B ¯

Usando esto, puedes hacer la siguiente transformación:

( B + C ¯ ) D = B ¯ C ¯ D

Esto transforma toda la función en:

F = A B C + B ¯ C ¯ D

que es una expresión normal de suma de productos.

Sin embargo, para implementar esto en CMOS, necesita una función que tenga una inversión general, por lo que debe aplicar la ley nuevamente:

F = ( A B C ) ¯ ( B ¯ C ¯ D ) ¯ ¯

y otra vez (dos lugares):

F = ( A ¯ + B ¯ + C ¯ ) ( B + C + D ¯ ) ¯

Su diagrama esquemático es correcto, pero su diseño no coincide del todo. Faltan algunas conexiones en el lado NMOS.

Por lo que recuerdo de esta manipulación lógica, no se muestra un paso intermedio que puede ayudar. Esto es transformar ~(B+C). Hacer la transformación doble ~ puede convertirlo a (~B~C). Entonces puedes combinar el lado derecho de la ecuación como ~B~CD. (Ya tienes esa parte implementada en la parte superior derecha del esquema).

Entonces la ecuación se puede reescribir: F = (ABC) + (~B~CD) . De esta forma, puede ser más fácil verificar la implementación de CMOS "discreta". La función ahora son las entradas con OR de dos, tres grupos con AND de entrada.

Espero que esto ayude al menos parcialmente.

Ah, Morgana. Ese es el tipo que no podía recordar. Y debo decir, ¿no es un encantador Morgan el que está de este lado del charco...?
Me gustó la parte F=~blablabla. Pero pensé que solo estábamos usando ABCD, ¿entonces qué? Así que por ahora sacaré la l de aquí...