¿Es una mala práctica invertir la salida de una red CMOS?

Soy un Electronics & Comm. ing. 3er año estudiante y estamos aprendiendo lógica CMOS por primera vez este semestre bajo el tema Diseño VLSI.
Al diseñar para la ecuación lógica: Y = A + B . C , el profesor primero lo escribió como A + B . C ¯ ¯ , luego lo simplificó por las leyes de De Morgan y luego lo implementó con CMOS.

Me preguntaba si sería mejor implementar A + B . C ¯ y luego use un inversor CMOS para invertir a la salida, ya que esto necesitaría una menor cantidad de puertas. Cuando le pregunté al profesor si se puede hacer de esa manera, dijo que no tendría ningún sentido usar CMOS si se usa de esa manera. No entendí lo que esto significa y por qué no se puede implementar de esta manera.

PD: soy nuevo en Stack Exchange. Disculpas por cualquier error en mi forma de plantear la pregunta.

Respuestas (3)

Cuando se implementan en CMOS, las puertas lógicas de inversión simples toman una etapa, que incluye inversor, NAND, NOR.

Las puertas lógicas no inversoras tienen dos etapas. Por ejemplo, un búfer sería en realidad dos inversores espalda con espalda. Una puerta AND sería en realidad una puerta NAND más un inversor...

Supongo que tu profesor hizo lo siguiente:
Y = A + B C = A ¯ ( B C ¯ ) ¯
Entonces, la lógica real requerida es un inversor (para A), una NAND (para B, C), una NAND (salida final).

Si se implementa como usted sugirió, en realidad sería como:
Y = A + B C = ( A + ( B C ¯ ) ¯ ¯ ) ¯
Entonces sería un inversor+NAND (para B,C), un inversor+NOR (salida final).

Entonces se necesita un inversor adicional, no tan malo en este caso. Pero hay una gran desventaja de velocidad, 4 niveles contra 2.

Esta cita "dijo que no tendría ningún sentido usar CMOS si se usa de esa manera" puede haber perdido algo en la traducción. Pero supongo que su profesor estaba tratando de transmitir el hecho de que las puertas lógicas inversoras son los componentes básicos naturales de la lógica CMOS y, en general, son más eficientes que las contrapartes no inversoras.

En realidad, convirtió /$/overline{B*C}/ en NOR, por lo que eran 3 inversores, 1 NOR y 1 NAND. Gracias de todos modos. Supongo que eso es lo que quiso decir, como dice @akellyirl, las puertas de inversión dan un área más baja y un retraso.

Las puertas CMOS estándar utilizadas en el diseño de circuitos integrados se invierten por una variedad de razones, que incluyen un área más baja y un retraso en comparación con las versiones sin inversión. Ver esta pregunta . Esto también debe tenerse en cuenta; no solo el número de puertas.

Sería ineficiente usar un inversor cuando la inversión se puede optimizar en la lógica usando una función de lógica de inversión como NAND, NOR, etc. (se prefiere la lógica de inversión).

A veces se requiere una función no inversora, en cuyo caso es igual de fácil implementarla con un inversor final. En el diseño de circuitos integrados, esta es incluso la forma preferida de hacerlo porque los inversores vienen en una amplia gama de potencias de accionamiento, por lo que el inversor final en la lógica puede conducir un largo camino hacia la siguiente área de lógica si es necesario, y es más pequeño que el equivalente. amortiguador de fuerza (no inversor).

Gracias. Lo hace más claro. Sin embargo, todavía estoy un poco confundido, ya que dijo que a veces esta es la forma preferida en el diseño de circuitos integrados. Entonces, en general, ¿cuál es una mejor práctica, invertir la salida final o simplificar por De Morgan y dar entradas invertidas?
@Abhinav: lea el resto de la oración, donde explica por qué puede preferirse. La parte que empieza "porque inversores".
@WhatRoughBeast Sí, en realidad no entendí solo esa parte. :PAG
@Abhinav Ah. Al diseñar un IC, debe hacer una compensación. Para mantener una velocidad determinada, debe cargar una capacitancia que depende de cuántas puertas se activen y qué tan lejos estén. En general, cuanto mayor sea el área del transistor de salida, más corriente proporcionará (qué tan fuerte es). Pero al mismo tiempo, obviamente desea mantener el área total del chip lo más pequeña posible, por lo que no hace que los controladores de salida de puerta sean más fuertes de lo necesario. ¿Esto ayuda?

Bueno, uno de los trucos utilizados en el diseño de CMOS para simplificar la lógica es invertir selectivamente señales completas. La función lógica general sigue siendo la misma, pero es posible simplificar las etapas y eliminar inversores adicionales. A veces requiere agregar un par de inversores a las entradas y salidas, pero en general esta técnica puede simplificar significativamente la implementación. Esto reduce el área, el consumo de energía y el retardo de propagación. Esta es una técnica común que se usa cuando se construyen grandes árboles sumadores en cosas como multiplicadores. Las capas en el árbol se construyen alternativamente con sumadores con salidas invertidas y sumadores con entradas invertidas. Esto da como resultado un ahorro muy significativo en área, potencia y retardo de propagación al eliminar una gran cantidad de inversores. Creo que las herramientas de síntesis realizarán este tipo de optimización automáticamente.