¿Por qué se usan las compuertas NAND para hacer compuertas AND en las computadoras?

41

¿Por qué es esto un estándar para puertas AND?

ingrese la descripción de la imagen aquí

¿Cuándo podría hacerse con dos FET y una resistencia en su lugar?

ingrese la descripción de la imagen aquí

theonlygusti
fuente
21
NAND (y NOR) están funcionalmente completos , lo que significa que cualquier función lógica se puede implementar utilizando solo NAND (o NOR). Lo que lo convierte en un bloque de construcción uniforme muy conveniente para cualquier cosa. Sin embargo, no estoy seguro de que sea la única (y la principal) razón.
Eugene Sh.
1
VOH
26
En el contexto del diseño de CI, las resistencias son físicamente más grandes que los transistores. Y la disipación incurrida por las resistencias, cuando se diseñan circuitos integrados de alta densidad, hacen que las resistencias sean muy indeseables como componentes de compuerta lógica.
mkeith
44
Parece que hay dos preguntas aquí. “¿Por qué no usamos resistencias pull down en lugar de los dos transistores adicionales en, por ejemplo, una compuerta nand?” Y “¿Por qué utilizamos dos transistores adicionales para invertir, en lugar de crear una compuerta no inversora en el primer lugar? ”
ctrl-alt-delor

Respuestas:

67

Para obtener una operación no inversora para la lógica (es decir, AND u OR vs. NAND o NOR), debe operar los transistores en modo de drenaje común, también conocido como modo "seguidor de fuente".

Entre los problemas con este modo para la lógica:

  • No hay ganancia de voltaje. Después de más de unas pocas etapas, la señal se ha reducido a nada.
  • Hay un desplazamiento significativo (llamado voltaje de umbral) entre las entradas y las salidas. Una salida de alto nivel será menor que la entrada de alto nivel correspondiente.

Juntos, estos problemas significan que no puede conectar la salida de esta puerta a las entradas de otra copia de sí misma. Esto lo hace bastante inútil para construir circuitos más complejos.

Esta es la razón por la cual todas las familias lógicas exitosas 1 se construyen utilizando transistores en modo de fuente común (o emisor común), que tiene una ganancia de voltaje significativa y no hay compensaciones acumulativas entre entradas y salidas, pero la salida se invierte con respecto a la entrada. Por lo tanto, las funciones básicas incluyen una inversión: NAND o NOR.

Como beneficio adicional, las compuertas NAND y NOR están "funcionalmente completas", lo que significa que puede construir cualquier función lógica (incluidos elementos de almacenamiento como pestillos y chanclas) desde todas las compuertas NAND o todas las compuertas NOR.


1 Para ser específicos, familias lógicas que usan voltajes como estados lógicos. Esto incluye RTL, DTL, TTL, PMOS, NMOS y CMOS. Las familias lógicas en modo actual, como ECL , de hecho usan una combinación de seguidores de emisor y transistores de base común para lograr los mismos fines y evitar la saturación (para la velocidad).

Dave Tweed
fuente
2
Una pregunta secundaria interesante sería por qué no usamos esto para cualquier otra puerta.
Joshua
2
@Joshua: No estoy seguro de a qué se refiere "esto", pero si se trata de lógica en modo actual, tiene mucho que ver con el consumo de energía de estado estable relativamente grande por puerta.
Dave Tweed
@DaveTweed Creo que Joshua quiso decir esto: haciendo lo que OP propone, tener 2 NMOS como seguidor de voltaje (sin ganancia de voltaje), y en la siguiente etapa de cualquier lógica que se implemente, usted usa una ganancia de alto voltaje. Entonces alterna entre "seguidor de voltaje" / "algún inversor en alguna parte". - La pregunta de Joshua es por qué ese diseño (seguidor / inversor alternativo) no se usa específicamente. - Quizás su comentario esté dirigido contra eso, estoy teniendo dificultades para entender / razonar con su respuesta.
Harry Svensson
@HarrySvensson: Puede que tengas razón. Tampoco estaba seguro de lo que Joshua quiso decir con "cualquier otra puerta", pero decidí apuñalar en la oscuridad. Como nunca volvió a aclarar, nunca lo sabremos con certeza.
Dave Tweed
2
@HarrySvensson Lo hiciste y DaveTweed ya dijo qué tiene de malo.
Joshua
24

Lo que estás describiendo es la lógica PMOS . Tiene algunas desventajas significativas sobre CMOS:

  • Si el valor de la resistencia es bajo, la puerta consumirá una cantidad significativa de energía estática cuando la puerta esté activa. Las puertas CMOS esencialmente no consumen energía cuando no están cambiando activamente.

  • Si el valor de la resistencia es alto, la compuerta tarda en apagarse, porque la capacitancia de cualquier compuerta accionada por la salida debe descargarse a través de la resistencia. Además, una resistencia de alto valor probablemente consumirá más área que un conjunto de transistores complementarios.

  • Por razones relacionadas con el proceso, PMOS es menos eficiente que la lógica inversa de NMOS .

al anochecer
fuente
44
No, el OP muestra transistores de canal N. Falla por una razón completamente diferente.
Dave Tweed
3
@DaveTweed Estaba trabajando bajo el supuesto de que parte era un error de redacción. Si desea explicar lo que se equivocaron en una respuesta separada, eso también podría ser útil.
duskwuff
55
Todavía debería haber sido obvio: si se tratara de transistores de canal P, implementaría una función NOR, no AND.
Dave Tweed
44
El número de votos a favor de esta respuesta me confunde enormemente.
Harry Svensson
3
Síndrome de @HarrySvensson Hot-Network-Question quizás. Una avalancha de usuarios de todo el sitio con 101 representantes que tienen poco conocimiento de dominio y solo pueden votar a favor y no a favor. Inclina mucho las estadísticas en un sitio pequeño como este.
tubería
22

Una razón por la que no creo que nadie haya mencionado aún: restricciones tecnológicas:

  1. Las resistencias en chip son masivas en comparación con los transistores. Para obtener un valor decente, estamos hablando de órdenes de magnitud más grandes que los transistores más pequeños. En otras palabras, además de todas las otras ventajas que obtienes con el CMOS adecuado (corriente estática, niveles de transmisión, oscilación de salida), también es mucho más barato.

  2. Diseño: los transistores en lógica pueden ser tan pequeños porque están diseñados de forma repetitiva. Esto también les permite obtener mayores rendimientos y un rendimiento más consistente. Lanzar resistencias arruinaría esto.

  3. Capacitancia: la limitación de velocidad en un sistema lógico es la capacitancia de la siguiente etapa. Más capacidad significa más lenta (menos rendimiento) o más fuerza de accionamiento necesaria (transistores más grandes, más área, más corriente estática, más consumo de energía, más capacidad presentada en la etapa anterior). Una gran resistencia probablemente te dará mucha capacidad para cargar, ya que ocupa un área físicamente grande. Esto podría dañar el rendimiento.

Esto a veces se hace en tecnologías más especializadas donde es posible que no tenga buenos transistores lógicos (para aplicaciones analógicas / RF).

Joren Vaes
fuente
8

La lógica de resistencia de transistor es un campo de conocimiento. Las propiedades de las puertas lógicas que dependen de resistencias son muy diferentes a las propiedades de las que usan transistores. Por un lado, las resistencias pulldown que se mantienen en el estado alto disipan continuamente la energía. Esto puede ser un problema para los diseños con batería o de alta densidad. Lo mismo se aplica al revés (para desplegables mantenidos bajos).

Otra área donde hay una gran diferencia es la velocidad y la fuerza de conducción. La estructura de salida push-pull utilizada en CMOS puede cambiar rápidamente sin disipar energía cuando está estática.

Tenga en cuenta que el circuito que dibujó no funcionará en absoluto. No puede colocar NMOS en la rama superior a menos que el voltaje de entrada sea mayor que VCC. Si la salida tiene mucha carga, su circuito no podrá conducir cerca de VCC. Puede que ni siquiera sea lo suficientemente alto como para que algunas puertas lógicas lo reconozcan como "alto".

Esto no es solo un truco. Como resultado, es muy difícil construir algo que cambie de riel a riel en una etapa a menos que sea de naturaleza invertida (como lo son NAND y NOR). Y esta es la verdadera razón por la cual las compuertas AND usan NAND seguido de NOT (inversor). Nadie en el mundo conoce una manera de hacer una puerta CMOS Y de propósito general con menos de 6 transistores. Lo mismo se aplica a OR.

mkeith
fuente
No es raro que los dispositivos NMOS de 5 voltios cambien las señales del lado alto utilizando transistores NMOS sin una fuente de polarización de puerta por encima de VDD. El umbral de conmutación está por debajo de 2,4 voltios, por lo que uno podría permitirse tener un pull-up débil que eleva un nodo a 4 voltios, y luego usarlo para operar la puerta de un transistor de paso. Los registros de desplazamiento dinámico contenidos en el chip TIA del Atari 2600 se implementan de esa manera.
supercat
Gracias, @supercat. No lo sabia. Obviamente, hay muchas limitaciones, sin embargo. Y no cambia el hecho de que el circuito del OP no es una puerta Y de propósito general viable. Sin embargo, podría funcionar para cargas que no necesitan la entrada cerca de VCC.
mkeith
6

Una razón importante en la lógica TTL, y sugeriría en la mayoría de las familias lógicas, es que el elemento de ganancia se está invirtiendo. Para tener una salida no inversora con buenas características de accionamiento, se requiere un inversor adicional.

Este inversor es algo malo.

  • Utiliza el poder
  • Ralentiza la función lógica.
  • Por lo general, no te importa la inversión, y a veces la necesitas.

Como generalmente estamos luchando contra la velocidad con puertas discretas (o cuando éramos cuando eran la única opción), las puertas invertidas gobernaron el día. Las puertas no inversoras estaban disponibles (compare el 7400 con el 7408).

El principal ejemplo de esto es la puerta y / o invertida . Para números TTL típicos, el retraso de propagación es el mismo que NAND y NOR, pero incluye dos niveles de lógica.

cmm
fuente
6

Las ventajas de usar un diseño CMOS son muchas:

  1. En la lógica NMOS que ha descrito, si la Salida es alta (ambas entradas son altas), hay un camino directo (resistivo) para el flujo de corriente. Entonces, en ese caso, la puerta consumirá una gran cantidad de energía (V ^ 2 / R) incluso en estado estacionario. Sin embargo, en CMOS, la corriente solo puede fluir cuando los 4 transistores están encendidos (es decir, cuando la puerta está cambiando).
  2. Por lo general, las resistencias son muy difíciles de lograr con silicio y ocupan una gran cantidad de espacio en el chip. Además, los valores precisos de resistencia no son prácticamente alcanzables.
  3. En la lógica NMOS, el voltaje de salida no puede alcanzar su valor máximo (+ 5V) porque después de alcanzar un valor mínimo, los transistores comenzarán a apagarse (por lo tanto, apagarán la rama de carga). Esto se traduce directamente en márgenes de ruido reducidos.
  4. La lógica CMOS se puede usar muy fácilmente para hacer posiblemente cualquier circuito con muy pocos transistores, que consuman poca potencia y para operar a altas velocidades. Como tal, formar parte del circuito como NMOS (con carga resistiva) es muy engorroso e ineficiente.

Entonces, una compuerta NAND seguida de un inversor se utiliza para diseñar una compuerta AND.

Parth K
fuente
El punto 1 muestra muy bien por qué NMOS necesita más potencia que CMOS.
Camille Goudeseune
4

La construcción de un AND a partir de una NAND permite utilizar tamaños de puerta mínimos para la lógica y dimensionar los dos (y solo dos) transistores en el inversor para conducir la línea. Esto maximiza la velocidad y minimiza la pérdida de potencia a expensas de solo un poco más de área utilizada para los transistores adicionales (lo que representa el tamaño de la resistencia necesaria para conducir la línea en la aplicación prevista).

Además, para compartir algo de sabiduría que aprendí en la universidad (hace mucho tiempo en una galaxia muy, muy lejana ...): una vez disfrutamos de una presentación sobre la lógica de la matriz de puertas. Al final, un estudiante preguntó por qué un ingeniero debería molestarse en minimizar el número de puertas NAND utilizadas cuando todas esas puertas NAND estaban en el chip en primer lugar. La respuesta del presentador me ha acompañado durante 30 años: porque si no lo hacemos, nuestros competidores lo harán.

Si su competidor puede hacer un circuito más rápido y más eficiente de energía sin una diferencia apreciable en el costo, entonces usar la resistencia es un error comercial, no solo un error de ingeniería.

JBH
fuente
2

Una señal lógica que pasa a través de una puerta no amplificadora terminará significativamente más débil de lo que era para empezar. Si bien uno podría incluir una puerta AND no inversora dentro de un chip, las puertas alimentadas por la salida débil probablemente cambiarían mucho más lentamente que las puertas alimentadas por puertas alimentadas por una salida fuerte que el tiempo requerido para pasar una señal a través de un inversor NAND , y otra puerta, probablemente sería menor que si el NAND y el inversor fueran reemplazados por un AND de salida débil.

Tenga en cuenta que incluso si uno tiene transistores NMOS y PMOS disponibles y desea construir una puerta AND de salida débil, uno debe construir la puerta de manera similar a una puerta CMOS NOR, pero invirtiendo los transistores NMOS y PMOS, para evitar disipación de potencia estática. Las resistencias son muy caras, por lo que se debe evitar usarlas a menos que sea absolutamente necesario.

Sin embargo, un punto que no se ha mencionado en otras respuestas es que una puerta inversora puede contener una mezcla de salidas en serie y paralelas. Por ejemplo, uno podría tener una puerta compleja práctica que calcule "no ((X e Y) o (X y Z) o (Y y Z))" utilizando solo un nivel de inversión. Aunque no es práctico tener un "Y" que alimente su salida a múltiples lugares en un circuito, uno puede incluir una puerta "Y" en una o más entradas de una puerta "NOR", o una puerta "O" en una o más entradas de una puerta "NAND".

Super gato
fuente